★파일 복사하기 : cp (copy)
파일 복사 외에도 디렉토리도 복사할 수 있다.
-두 인자가 모두 파일인 경우 : cp f1 f2 (f1은 원본 파일이고 f2는 복사된 파일이다. f2가 이미 존재했던 파일이라면 덮어씌어지고 원래 내용이 사라진다.)
-두 번째 인자가 디렉토리인 경우 : cp f1 디렉토리명 (해당 디렉토리 안에 f1이라는 이름으로 복사한다.)
cp f1 디렉토리명/f2 (해당 디렉토리 안에 f2라고 지정해준 새로운 이름으로 복사된다.)
-인자를 여러 개 지정하는 경우 : 마지막 인자는 반드시 디렉토리여야 하고, 앞의 모든 인자들(파일들)이 마지막 인자인 디렉토리 내에 복사된다.
ex) cp /etc/hosts /etc/services temp <-/etc/hosts 와 /etc/services를 temp 디렉토리에 복사
-디렉토리를 복사할 경우에는 -r 옵션을 사용해야 한다. 안 그러면 오류 메세지 출력.
-이미 있는 파일인 경우 원래 내용이 사라지는 걸 방지하기 위해 덮어쓸것인지 묻는 명령어 -i 옵션을 사용하면 좋다.
★파일 이동하기 : mv ( move)
파일(디렉토리)을 다른 디렉토리로 이동하거나 파일명(디렉토리)을 바꿀 때 사용한다.
-파일을 파일로 이동하기 : 파일을 다른 파일로 이동하는 건 결국 원본 파일명을 다른 파일명으로 바꾸는 작업이라고 볼 수 있다.
두 번째 인자로 지정한 파일명이 이미 존재하는 파일이면 원본 파일의 내용을 덮어쓰고 기존의 내용이 삭제되고,
존재하지 않는 파일이라면 새 파일이 생성됨.
ex) mv text1 data1 <-text1파일을 data1 파일로 이동. 결과적으로 text1이 data1로 파일명이 바뀐 것이다.
-파일을 다른 디렉터리로 이동하기
ex) mv 파일 디렉터리 <-디렉터리로 파일이 이동한다.
ex) mv 파일 디렉토리/파일2 <- 디렉터리로 파일이 파일2로 이름이 바뀌어서 이동한다.
-디렉터리를 디렉터리로 이동하기 : mv temp2 temp3
두번째 인자인 temp3이 기존에 있던 디렉터리가 아닐 경우에는 temp2가 temp3으로 디렉터리의 이름이 변경되고,
두번째 인자인 temp3이 기존에 있던 디렉터리일 경우에는, 원본 디렉터리인 temp2가 temp3 디렉터리 아래로 이동한다.
★파일 삭제하기 : rm (remove)
rm 명령은 완전 삭제되어 복구 불가능하므로 rm으로 파일 삭제를 할 경우에는 신중하자.
-i 옵션을 사용하면 정말 삭제할 것인지 물어본다. 에일리어스 기능을 사용하여 rm 명령을 rm -i 로 설정해 놓으면 좋다.
-디렉토리 삭제하기 : 디렉터리도 파일이기 때문에 rm명령으로 디렉터리도 삭제 가능.
rmdir 명령으로도 디렉터리 지울 수 있으나, 디렉터리가 비어 있어야 한다.
but, rm 명령은 디렉터리 차 있어도 삭제 가능.
복사 명령과 마찬가지로 디렉토리 지울 때는 -r 옵션을 써야 한다.
★파일 링크 :
짧게 줄인 다른 이름을 붙여서 간단하게 사용할때 유용하다. 하드 링크, 심벌링 링크 두 가지 종류가 있다.
하드 링크 <- 기존 파일에 새로운 파일명을 추가로 생성하는 것
심볼릭 링크 <- 윈도의 바로가기 기능과 같은 개념
-리눅스 파일의 구성 : 리눅스 파일은 [파일명+inode+데이터 블록] 으로 구성된다.
파일명<- 사용자가 파일에 접근할 때 사용하는 파일의 이름
inode <- 파일에 관한 정보를 가지고 있는 구조체. 외부적으로는 번호로 표시되고,
내부적으로는 파일 종류,크기,소유자,파일 변경 시간, 파일명 등의 파일 상세 정보와 데이터 블록의 주소가 저장되어 있다.
ls -l 명령으로 출력되는 정보는 inode에 저장되어 있는 파일 상세 정보이다.
★빈 파일 만들기, 수정 시간 변경하기 : touch
인자로 지정한 파일이 존재하지 않으면 내용이 없는 빈 파일을 생성하고,
이미 있는 파일에 대해 touch 명령을 옵션 없이 사용하면 파일의 수정 시간이 현재 시간으로 변경됨.
★파일 내용 검색하기 : grep
파일 내에서 특정 문자열을 검색할 대 사용한다.
-형식 : grep [옵션] 패턴 [파일명]
-i : 대,소문자 모두 검색
-l : 해당 패턴을 포함하는 파일 이름 출력
-n : 행 번호를 출력.
-형식 : find 경로검색조건 [동작]
-옵션 : -name filename : 파일 이름으로 검색
-type 파일종류 : 파일 종류로 검색
-동작 : -exec 명령 {} \; : 검색된 파일에 명령을 실행한다.
-ok 명령 {} \; : 사용자의 확인을 받아서 명령을 실행한다.
ex) find /bin -name ls <- /bin 디렉터리에서 ls 파일의 위치를 찾는 것
find /home -user prankster <- /home 디렉터리에서 사용자 계정이 prankster인 파일을 찾는 것