■ 리눅스의 파일과 디렉터리
- 파일의 종류
1. 일반 파일 : 각종 텍스트 파일, 실행 파일, 이미지 파일 등 데이터를 저장하는 파일
2. 디렉터리 : 디렉터리도 파일. 해당 디렉터리에 저장된 파일이나 하위 디렉터리에 대한 정보를 저장
3. 심볼릭 링크 : 원본 파일을 대신하도록 다른 파일명으로 지정한 것. 윈도우의 바로가기 파일과 비슷함
4. 장치 파일 : 시스템에 부착된 장치들을 관리하기 위한 특수 파일. 보통 /dev 디렉터리에 위치
- 디렉터리의 계층 구조
트리 구조를 사용해 디렉터리를 계층적으로 구성.
루트 디렉터리(/) 밑에 서브 디렉터리들로 구성되어있다.
- 절대 경로명과 상대 경로명
경로명이란? 디렉터리의 위치를 구분자 /로 표현하는 것. 두가지 표현법이 있다.
절대 경로명 : 항상 루트 디렉터리부터 시작 (항상 /로 시작, 특정 위치를 가리키는 절대 경로명은 항상 동일)
상대 경로명 : 현재 디렉터리를 기준으로 시작 (/ 이외의 문자로 시작, 상대 경로명은 현재 디렉터리에 따라 다르다)
- 파일과 디렉터리 이름의 규칙
1. /, 공백, 몇몇 기호 사용불가
2. 마침표(.)로 시작할 경우 숨김 파일로 간주
3. 영문의 대소문자를 구분
■ 디렉터리 관련 명령
- 현재 디렉터리 확인
pwd : 현재 디렉터리의 위치 (절대 경로) 확인
- 디렉터리 이동
사용자의 접근을 막아둔 디렉터리를 제외하곤 모두 이동 가능
cd [디렉터리] : 지정한 디렉터리로 이동
- 디렉터리 내용 확인
ls [옵션] [디렉터리(파일)] : 디렉터리의 내용을 출력한다.
-a : 숨김 파일을 포함한 모든 파일 목록 출력
-d : 디렉터리 자체의 정보 출력
-i : 첫 번째 행에 inode 번호 출력
-l : 파일의 상세 정보 출력
-A : .(마침표)와 ..(마침표*2)를 제외한 모든 파일 목록 출력
-F : 파일의 종류를 표시 ( * : 실행 파일, / : 디렉터리, @ : 심볼릭 링크)
-L : 심볼릭 링크 파일의 경우 원본 파일 정보 출력
-R : 하위 디렉터리의 목록까지 출력
- 디렉터리 생성
mkdir [옵션] [디렉터리] : 디렉터리 생성. 디렉터리 명을 여러 개 입력할 수 있다.
-p : 중간 디렉터리 경로를 자동 생성
- 디렉터리 삭제
rmdir [옵션] [디렉터리] : 디렉터리 삭제
-p : 지정한 디렉터리의 부모가 비었을 경우 부모도 자동 삭제
■ 파일 관련 명령
- 파일 내용 출력
cat [옵션] [파일] : 파일 내용을 출력
-n : 행 번호를 붙여서 출력
more [옵션] [파일] : 파일 내용을 화면 단위로 출력
+ 행 번호 : 출력을 시작할 행 번호 지정
space bar : 다음 화면 / Enter : 한 행씩 스크롤 / '/문자열' 입력 : 해당 문자열로 / q : 종료
less [파일] : 파일 내용을 화면 단위로 출력
space bar : 다음 화면 / ctrl + b : 이전 화면 / j : 한 항씩 다음 행으로 / k : 한 행씩 이전 행으로
tail [옵션] [파일] : 파일 뒷부분의 몇 행을 출력 (default 값 : 10행)
+ 행 번호 : 지정한 행부터 끝까지 출력
-숫자 : 출력할 행의 수
-f : 파일 출력을 종료하지 않고 주기적으로 출력 (ctrl + c 로 종료)
- 파일 복사
cp [옵션] [파일1(디렉터리)] [파일2(디렉터리)] : 파일이나 디렉터리 복사
1. 두 인자 모두 파일 : 1을 2로 복사, 2가 없다면 새로 만든다.
2. 두 번째가 디렉터리 : 파일을 해당 디렉터리 아래에 복사. 단, 디렉터리가 만들어져 있어야함
3. 인자가 여러 개 : 마지막은 무조건 디렉터리. 앞서 지정한 파일이 모두 복사
-i : 파일2가 이미 존재하면 덮어쓸 것인지 물어봄
-r : 디렉터리를 복사할 때 지정
- 파일 이동과 파일명 변경
mv [옵션] [파일1(디렉터리)] [파일2(디렉터리)] : 파일(디렉터리) 이동 or 이름 바꾸기
1. 인자가 같은 타입 : 이름 바꾸기
2. 두 번째가 디렉터리 : 이동하기
3. 인자가 여러 개 : 마지막은 무조건 디렉터리. 앞서 지정한 파일이 모두 이동
-i : 파일2가 이미 존재하면 덮어쓸 것인지 물어봄
- 파일 삭제
rm [옵션] [파일(디렉터리)] : 파일 삭제
-i : 삭제 여부 재확인
-r : 디렉터리 삭제할 때 지정
- 파일 링크
파일 링크란? 기존에 있는 파일에 새로운 이름을 붙이는 것. 하드 링크와 심볼릭 링크로 나뉨
하드 링크 : 새로운 파일명 추가
심볼릭 링크 : 새로운 파일로 가리키기 (파일 종류가 l로 표시, inode 번호가 다름, 파일명 뒤에 원본 파일명)
파일 구성 : 파일명 + inode + 데이터 블록 (ls -l 명령 시 출력되는 것이 inode)
따라서, 파일명은 다르지만 inode 번호가 같다면 같은 파일이다.
ln [옵션] [원본 파일] [링크 파일] : 하드 링크 생성
-s : 심볼릭 링크 파일 생성
- 파일 관련 기타 유용한 명령
touch [-acm] [-r ref_title | -t time] [파일] : 빈 파일 생성
-a : 접근 시간만 변경
-m : 수정 시간만 변경
-t : 직접 시간 입력
grep [옵션] [패턴] [파일] : 지정한 패턴이 포함된 행 찾기
-i : 대소문자 모두 검색
-l : 지정한 패턴이 포함된 파일명 출력
-n : 행 번호 출력
find [경로] [검색 조건] [동작] : 지정한 위치에 조건에 맞는 파일 찾기
whereis [옵션] [파일] : 지정된 경로에서 명령의 바이너리 파일이나 매뉴얼 파일의 위치 찾기
which [명령] : 명령 파일의 위치를 찾아서 경로나 앨리어스를 출력
'개인 공부 > Linux (CentOS 리눅스)' 카테고리의 다른 글
CentOS 리눅스 : 연습문제 해답 (3장) (0) | 2022.05.02 |
---|---|
CentOS 리눅스 : 문서 편집 (3장) (0) | 2022.05.02 |
CentOS 리눅스 : 연습문제 해답 (2장) (0) | 2022.04.28 |
CentOS 리눅스 : 연습문제 해답 (1장) (0) | 2022.04.27 |
CentOS 리눅스 : 리눅스 설치와 기본 사용법 (1장) (0) | 2022.04.27 |
댓글