본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


Linux

리눅스 공부 1 - 리눅스 파일편집기와 기본적인 명령어들

반응형

 

파일 편집기 

 

 

vi

 

vi 기본적인 명령어 

 

 

리눅스 환경에서 vi +파일명 엔터를 치면  편집기가 나온다   

~ 표시가 먼저나오는데 명령어로 어떤 동작을 수행할 것인지 먼저 알려줘야한다 

 

i 는 insert를 의미한다.

 

i를 누르면 원하는 내용을 작성할 수 있다.

  

esc 키를 누르면 편집모드에서 명령모드로 전환되고 

작성한 내용의 저장을 원한다면 : w를 치고 

vi 에서 나오고 싶다면 : q를 친다 

 

명령 모드에서 커서의 위치를 화살표키로 움직일 수 있고 

H(좌) J(상) K(하) L(우) 로도 움직일 수 있다 . 

 

원하는 곳에 커서를 두고 그곳에서 변경을 원한다면 a를 누르면 된다. 

원하는 곳 다음 줄에서부터 작성을 하고싶다면 o를 누르면 된다. 

 

yy 는 한줄 복사

 

yw 는 한단어 복사

 

yl 은 문자하나 복사 

 

p는 붙혀넣기 

 

 

 

nano 

 

훨씬더 직관적이고 편하다 화면 아래에 단축키가 모두 나와있고 명령모드로 따로 구분하지 않아도 Ctrl키를 사용해서 명령어를 실행할 수 있다. 

 

 

 

기본적인 명령어 

 

ls 현재 경로에서 파일 리스트 출력  -l 옵션으로 파일 자세한 내용까지 출력
ex) ls -l    <- 목록 자세히 출력
     ls  *.java  <- java 확장자를 갖은 목록만 출력
rm  파일 삭제에 사용 
rm -r  디렉토리 안쪽에서 부터 모든 파일을 삭제한다. 
rm -ri  디렉토리 안쪽에서 부터 하나씩 확인 메시지를 보내면서 삭제한다
mv 파일이동과 이름 변경에 사용  mv 파일이름 옮길디렉토리이름
ex ) mv test1 testdirectory
      mv test1 test2  <- 두번째인자가 폴더가 아니면 파일 이름이 변경된다.  
touch 파일을 생성할때 사용한다. ex) touch test1  test1이 생성된다.
mkdir 디렉토리를 생성할때 사용한다 
rmdir 디렉토리를 삭제할때 사용한다 (안에 파일이 있다면 사용이 불가하여 파일이 있다면 rm - r을 사용해야 한다. )

 

파일 찾기와 파일 정보 확인 명령어 

 

find 파일을 찾을떄 사용하는 명령어이며 find 뒤에 경로 와 찾을 파일이름을 적어준다 
ex ) find . -name " *.java " (현재 경로로부터 이름으로 확장자가 .java인 파일을 모두 찾는다)
      find . -size 143c (현재 경로로부터 사이즈가 143byte인 파일을 찾는다)
file 파일의 정보를 나타낸다
ex) file Hello    응답 - Hello :c program text, ASCII text 
diff cp를 통해 복사한 파일을 원본과 비교해준다 다른 줄을 출력해준다 
ex)diff Hello.java Hello1.java  
cat 파일의 내용을 출력해준다.  
ex)cat hello.java
grep 파일에서 특정 단어의 위치를 찾아 해당 라인을 출력한다
grep "hello" Hello.java
head -n(숫자) 파일에서 위에서 부터 지정한 라인만큼만 읽어준다 .
ex) head -n2 Hello.java
tail -n(숫자) 파일에 끝에서부터 지정한 라인만큼 읽어준다
ex) tail -n2 Hello.java 

 

 

유용한 명령어

 

history 기존에 사용한 명령 구문 리스트를 보여준다 !(명령구문번호)를 입력하면 해당 명령구문이 실행된다.
claer 화면을 초기화 시켜준다. 
echo 특정 문자열을 출력하거나 다른파일로 입력시킬 수 있다 
> 리드 디렉션이라고 부르고 특정 내용을 화살표 오른쪽에 위치한 파일로 옮겨준다 . 
파일의 기존의 내용을 지우고 새로 만들어낸다
ex) echo hello > test    - test 라는 파일이 만들어지고 hello라는 문자열이 입력됨
>> 특정 내용을 화살표 오른쪽에 위치한 파일에 추가 해준다.
파일의 기존 내용은 놔두고 추가만 해준다.
ex) echo hello22 >> test    - 기존에 test 라는 파일에 hello라는 문자열이 추가됨
 | 명령어를 연결해서 사용할 수 있다 명령의 결과가 다음으로 넘어간다
ex) cat Hello.java | grep Hi 를 출력하고  출력된 것에서  Hi를 찾아낸다.
    ls -l | less <- 파일 목록 전체를 스크롤로 확인 할 수 있게 해준다.  
 ; 시퀀스 커맨드라고 부르며 순차적으로 커맨드를 실행시킨다
ex ) touch test1 ; echo okay >> test1 ; cat test1
     test1이 생성되고 okay라는 문자열이 test1에 추가된후 test1이 출력된다.

 

 

파일 압축 관리 

 

tar는 파일들을 묶을때 압축하거나 압축해제시 사용하는 명령어이다 . 

 

옵션으로

-c(tar로 묵음)

-f(이름을 지정) 

-x(압축을 푼다)

-t(목록 축력) 

-v(압축해제시 내용 출력)

-z(gzip으로 압축하거나 해재)

-p(파일 권한 설정)

-C(경로 설정) 등을 줄 수 있다 

 

ex)
 tar -zcf test3.tar.gz test1 test2
- test1과 test2를 test3라는 파일로 묶고 압축까지한다  

 tar -zxvf test3.tar.gz 
-압축해제 내용이 보이게 tar.gz 파일을 압축해제

 

묶음만도 할 수 있지만 기본적으로 tarball이라는 공간을 안에 압축할 파일들을 집어 넣는데  tarball은 저장할 파일들 보다 크게 잡기 떄문에 압축하는 것이 좋다 . 압축파일일 경우 명시적으로 tar 뒤에 .gz를 적는다  

 

 

 

반응형