console.log("daily coding")
리눅스 디렉터리 및 파일 내용 본문
디렉토리 관련 명령어
1) 명령어 pwd
- 현재 작업중인 디렉터리 위치 표시
2) 명령어 cd
- 디렉토리를 이동할 때 사용하는 명령어
- 절대 경로는 시작 위치와 상관없이 경로에 모든 디렉토리 표시, 절대 경로의 시작은 / (루트)
$ cd [상대경로|절대경로] [설정경로]
설정 경로
~ : 현재 사용자의 홈 디렉토리로 이동
. : 현재 디렉토리
.. : 현재에서 한 단계 상위 디렉토리로 이동
/ : 루트 디렉토리로 이동
3) 명령어 mkdir
- 새로운 디렉토리를 생성할 때 사용하는 명령어
$ mkdir [옵션] 디렉토리명
옵션
-m : 디렉토리를 생성할 때 권한을 설정 (디폴트는 755)
-p : 상위 경로 생성
-v : 디렉토리 생성 후 생성된 디렉토리의 메세지 출력
4) 명령어 rmdir
- 디렉토리만 삭제하는 명령어, 안에 파일이 있을 경우 삭제 안됨
파일 관련 명령어
1) 명령어 ls
- 현재 위치한 디렉터리의 파일 목록들을 나타내는 명령어
$ ls [옵션] [경로명]
옵션
-a : 히든파일을 포함한 모든 파일과 디렉토리 표시
-l : 퍼미션, 크기, 사이즈 등의 자세한 정보 표시
-d : 지정된 디렉터리의 정보 출력
-r : 알파벳 역순으로 정보 출력
-R : 하위 경로와 그 안에 있는 파일 표시
2) 명령어 cp
- 파일 또는 디렉토리를 복사하는 명령어
$ cp [옵션] 원본 대상
옵션
-b : 복사 대상 파일이 이미 존재할 경우를 대비하여 백업 파일 생성
-f : 복사 대상이 이미 존재하면 복사 대상 파일을 강제로 지우고 복사
-i : 복사 대상이 이미 존재하면 사용자에게 덮어씌울 것인지 유무 확인
-r : 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사
3) 명령어 rm
- 파일 또는 디렉토리를 삭제하는 명령어
$ rm [옵션] 파일명|디렉토리명
옵션
-f : 질의 메세지 없이 강제로 파일이나 디렉토리 삭제
-i : 삭제 시 사용자에게 질의
-r : 삭제 디렉토리가 포함하고 있는 하위 디렉토리를 포함하여 모든 파일 삭제
4) 명령어 mv
- 파일 또는 디렉토리를 이동하거나 파일명을 변경할 때 사용하는 명령어
$ mv [옵션] 원본 대상
옵션
-b : 대상 파일이 이미 있어 지워지는 것을 대비해 백업 파일 생성
-f : 대상 파일이 이미 있어도 사용자에게 어떻게 처리할지 묻지 않음
-v : 파일이 옮겨지는 과정이 자세히 표시
5) 명령어 touch
- 파일 크기가 0바이트인 빈 파일 생성
$ touch [옵션] 파일명
옵션
-a : 접근시간을 변경
-m : 수정시간을 변경
-c : 시스템 현재 시간으로 파일 시간 정보를 수정
-t 시간정보 : 특정 파일의 시간 정보 변경
-r 파일1 파일2 : 파일1의 시간정보를 파일2에 동일하게 적용
6) 명령어 file
- 파일의 종류 및 파일 속성값을 나타내는 명령어
$ file [옵션] 파일명
옵션
-b : 파일명은 출력하지 않고 파일 유형만 표시
-f : 파일 목록에서 지정한 파일들에 대해서만 명령을 실행
-z : 압축된 파일의 내용 출력
-i : MIME 타입 문자로 출력
7) 명령어 find (중요)
- 현재 디렉토리에서부터 하위 디렉토리까지 주어진 조건의 파일을 찾아 해당 경로 표시
$ find [경로] [옵션] [정규표현식] [파일명]
옵션
-name : 이름을 기준으로 파일 검색
-user : user의 파일이나 디렉터리 검색
-perm : 지정된 권한의 파일 검색
-type : 파일 유형에 따라 파일 검색
-atime n : n일 이전에 접근한 파일 검색
-exec : 검색된 파일에 수행할 명령어를 지정
8) 명령어 locate
- 파일의 위치를 찾는 명령어
$ locate [파일명]
디렉토리 관련 명령어
1) 명령어 cat
- 파일 내용 출력하는 명령어
$ cat [옵션] [파일]
옵션
-n : 각 문장 앞에 번호 표시, 비어있는 행 포함
-b : 각 문장 앞에 번호 표시, 비어있는 행 제외
-s : 연속되는 2개 이상의 빈 행을 한 행으로 출력
-A : 텍스트 파일에 존재하는 개행 문자나 탭 문자 등을 확인
2) 명령어 head
- 파일의 앞부분을 지정한 만큼 출력하는 명령어
$ head [옵션] 파일명
옵션
-c : 출력을 원하는 용량 지정, 지정된 '숫자' 바이트만큼의 문자 출력
-숫자 또는 -n 숫자 : 출력을 원하는 줄 수 지정, 옵션이나 숫자를 지정하지않으면 기본 10개씩 출력
3) 명령어 tail
- 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력하는 명령어
$ tail [옵션] 파일명
옵션
-c : 출력을 원하는 용량 지정
-숫자 또는 -n 숫자 : 출력을 원하는 줄 수 지정, 옵션이나 숫자를 지정하지않으면 기본 10개씩 출력
-f : 지정된 파일에서 새롭게 추가되는 파일 내용을 실시간으로 출력
-v : 파일을 출력할 때 파일명을 표시
-q : 파일을 출력할 때 파일명을 표시하지 않음
4) 명령어 more
- 파일을 확인하는 명령어 (화면 단위로 끊어서 출력하는 명령어)
- 지나간 내용을 볼 수 없음
$ more [옵션] 파일명
옵션
-숫자 : 한 페이지에 표시되는 라인 수
5) 명령어 less
- 텍스트 파일을 한 번에 한 화면씩 나타내는 명령어
- 기능적으로 more를 확장한 것, 커서를 파일의 상하좌우로 이동할 수 있음
6) 명령어 grep (중요중요)
- 파일에서 특정한 패턴(문자열) 또는 정규 표현식으로 나타낸 단어를 찾는 명령어
$ grep [옵션] 문자열 파일명
옵션
-r : 디렉토리 내의 모든 디렉토리와 파일들을 검색하도록 지정
-E : 패턴을 정규 표현식으로 확장
-i : 대문자, 소문자 차이 무시
-v : 검색할 문자열이 포함되지 않은 줄만 출력
-n : 라인 수 출력
-l : 문자열이 포함된 파일명 출력
7) 명령어 wc
- 파일의 라인 수, 단어 수, 알파벳 수를 알려주는 명령어
$ wc [옵션] 파일명
옵션
-l : 전체 라인 수 출력
-w : 전체 단어 수 출력
-c : 전체 문자(알파벳) 수 출력
ex)
$ wc test
2 6 17 test
2 : 라인수
6 : 단어수
17 : 알파벳수
8) 명령어 sort
- 명령어 결과나 문서 내용을 정렬하는 명령어
$ sort [옵션] 정렬할 파일명
옵션
-b : 앞 공백 무시
-o : 저장할 때 파일 명시
-r : 역순으로 표시
-f : 대소문자 구분하지 않음
-t : 필드 구분자 지정
-u : 중복 행 제거
-m : 정렬 파일 병합
-n : 숫자만 비교
9) 명령어 cut
- 파일에서 특정 필드를 추출해 냄. 필드는 구분자로 구분할 수 있음
$ cut [옵션] 파일명
옵션
-c : 잘라낼 곳의 글자 위치를 지정, 콤마나 하이픈을 사용하여 범위 지정
-f : 잘라낼 필드 지정
-d : 필드를 구분하는 문자 지정, 디폴트는 탭
-s : 대소문자 구분하지 않음
10) 명령어 split
- 하나의 파일을 여러 개의 작은 파일로 분리할 때 사용
- 파일의 내용을 라인 수로 분할할 수도 있고, 용량 단위로 분할할 수 있음
$ split [옵션] 파일명
옵션
-b : 파일을 byte 단위로 분할
-l : 파일을 주어진 라인 수 단위로 분할
파일 비교 명령어
1) 명령어 diff
- 두 개의 파일을 행 단위로 비교하여 다른 부분을 출력하는 명령어
- 두 개의 파일명을 매개변수로 사용하여 화면에 차이점 나열
$ diff [옵션] 파일명1 파일명2 or diff [옵션] 디렉토리1 디렉토리2
옵션
-b : 연속된 공백 무시
-i : 대소문자를 구분하지 않음
-s : 두 파일이 같은지 확인
-r : 두 디렉토리의 차이점 출력
2) 명령어 cmp
- 두 개의 파일을 바이트(문자) 단위로 비교하여 출력하는 명령어
$ cmp [옵션] 파일명1 파일명2
옵션
-b : 두 파일 간의 다른 바이트를 출력
-l : 두 파일 간의 다른 문자 위치와 문자를 출력
-s : 아무 것도 출력하지 않고 실행 결과 코드만 반환
3) 명령어 comm
- 두 개의 파일을 줄 단위로 비교하여 출력하는 명령어
$ comm [옵션] 파일1 파일2
옵션
-1 : '파일1'에만 있는 내용을 제외하고 내용 출력
-2 : '파일2'에만 있는 내용을 제외하고 내용 출력
-3 : '파일1'과 '파일2'에 공통으로 존재하는 내용을 제외하고 출력
○ 내용 참고
- 이기적 리눅스 마스터 2급
'false의 잡학다식 > 리눅스 공부 관련' 카테고리의 다른 글
리눅스 기타 명령어 내용 (2) | 2021.05.23 |
---|---|
리눅스 사용자 생성 및 계정 내용 (2) (0) | 2021.05.17 |
리눅스 사용자 생성 및 계정 내용 (1) (0) | 2021.05.14 |
리눅스 부트 매니저 내용 (2) | 2021.05.13 |
리눅스 파티션 상세 내용 (2) (0) | 2021.05.12 |