파일관련명령어 1

2022. 9. 3. 19:51리눅스/리눅스_입문

touch : 지정한 이름의 비어있는 파일을 생성하거나 파일이 있는 경우 타임스탬프를 업데이트.

cat : 지정한 파일의 내용을 출력.

head : 지정한 파일의 1라인부터 지정한 라인까지 출력

 

touch 명령어로 'testfile' 파일을 생성.

cat 파일이름 : 지정한 파일의 내용 출력

cat 명령어로 'testfile.txt' 파일의 내용을 확인

touch 명령어로 생성한 'testfile'과 cat 명령어로 내용을 확인한 'testfile.txt'는 서로 다른 파일이다.

 

tail : 지정한 파일의 마지막 라인부터 지정한 수 만큼의 라인을 출력

cp : 지정한 파일을 지정한 위치와 이름으로 복사

mv : 지정한 파일을 지정한 위치와 이름으로 이동

rename : 지정한 규칙에 따라 여러 개의 파일 이름을 변경

 

head -n(옵션) 2(지정한 라인) testfile.txt(파일이름) : 지정한 파일의 1라인부터 지정한 라인까지 내용 출력

 

head 파일이름 - 파일 내용이 1라인부터 10라인까지 출력 -> tail 파일이름 - 파일 내용의 마지막라인부터 위로 10라인 출력 , 마지막 zzz 다음줄 공백. -> head에 -n 옵션을 추가해서 2라인까지 출력 -> tail에 -n 옵션을 추가해서 마지막라인과 바로 위 라인만 출력.

tail -f (로그파일 이름) : 로그파일 갱신을 실시간으로 보는 옵션, ctrl+c로 중지할 때까지 실시간으로 갱신내용을 보여줌 

 

tail에 -f 옵션을 추가해서 로그파일 갱신을 실시간으로 볼 수 있다. ctrl + c를 누르면 실행 종료된다

 

cp -rfp 원본파일패스/이름 복사할파일패스/이름

-r : 하위 디렉토리 포함

-f : 대상 파일의 지정한 파일이 같은 이름의 파일이 있더라고 강제로 복사해서 기존 파일 위에 새 파일을 덮어씌우는 옵션

-p : 파일의 읽기, 쓰기, 실행하기의 권한 

 

mv 원본파일패스/이름 변경할파일패스/이름

 

* cp와 mv의 차이점 - 원본 파일이 남아있는지 유무에 따라 달라진디

cp 명령어는 원본 파일은 남아 있고 새로운 복사된 파일 생성

mv 명령어는 원본 파일이 다른 위치나 다른 이름으로 이동하기 때문에 원본 파일이 없어짐.

 

*** 원본파일이 남아 있으므로 원본파일을 cp로 복사하고 나서 필요없어지면 rm으로 삭제

 

.pik 디렉토리의 내용 확인

 

cp -rfp 명령어로 .pki 디렉토리를 BACKUP_.PKI 디렉토리 복사

 

ls -al 명령어로 .pki 원본 파일 남아 있음을 확인

cp 명령어로 만든 BACKUP_.PKI 파일을 mv 명령어로 '.pki_backup'으로 변경했다.

원래 있던 BACKUP_.PKI 파일이 없어지고 .pki_backup 파일이 새로 생성되었다 -> mv 명령어는 파일의 이름을 바꾸는 용도로 많이 사용된다

 

rename 변경전파일명 변경후파일명 대상파일 : 파일 이름 변경, 동시변경 가능

rename test test0 test?

원래 파일명 test1 -> test를 test0으로 변경

test? -> ? 는 1개의 문자를 대체한다

test01을 test1로 대체

rename test0 test test??

(현재 대상 파일이 test01처럼 2자리 숫자라서 test??)

 

작업 디렉토리를 'tmp'로 변경 -> 'tmp' 디렉토리에 있는 파일 확인 -> touch 명령어로 'test1', 'test2', 'test3', 'test4', 'test5' 파일 생성 -> 파일이 잘 생성되었는지 ls -al로 확인

 

rename 명령어로 'test'를 'test0'으로 바꿈, 5개 파일을 rename 명령어로 한꺼번에 바꿀 수 있다 -> test?에서 ?는 1개의 문자를 대신한다 -> 'test숫자' 파일이 'test0숫자'파일로 바꼈다

 

반대로 'test0숫자'파일을 'test숫자'파일로 변경한다 -> 파일이름의 'test0'을 'test'로 변경한다 -> 변경 전 파일이름이 'test0숫자' 이므로 'test' 뒤의 2자리를 대신하기 위해 'test??' 입력했다 -> 하지만 'test??' 대신 'test0?'로 입력해도 결과는 같다
rm -f test? 명령어로 'test1', 'test2', 'test3', 'test4', 'test5' 파일 한꺼번에 삭제.

 

 

'리눅스 > 리눅스_입문' 카테고리의 다른 글

파일관련명령어 3  (0) 2022.09.04
파일관련명령어 2  (0) 2022.09.04
파일시스템관련명령어 2  (0) 2022.09.03
파일시스템관련명령어 1  (0) 2022.09.03
리눅스와 쉘(Shell)  (0) 2022.08.16