● 파일 및 디렉토리 관련 명령
1. pwd - 현재 작업 디렉토리를 출력하는 명령
[root@ocj ~]# pwd
/root
※ ~ : 로그인 계정의 홈디렉토리를 표시하는 특수기호
2. ls - 디렉토리 하위 목록을 출력하는 명령 (list)
=> 유사명령 : dir
형식) ]# ls [옵션] 디렉토리명
=> 원하는 디렉토리의 하위목록을 확인
=> 디렉토리명이 생략되면 현재디렉토리를 확인
ex) ]# ls => 현재 디렉토리의 목록 확인
]# ls -l => -l : 파일(디렉토리)의 자세한 내용을 확인 (ll로 쳐도 된다) (long)
drwxr-xr-x 2 root root 4096 9월 3 04:23 Desktop
---------- - ---- ---- ---- ---------- --------
(1) (2) (3) (4) (5) (6) (7) (8)
(1) 파일의 종류(1자리)
d : 디렉토리
- : 일반파일
l : 링크파일
c : 문자장치파일(순차처리장치)
b : 블럭장치파일(비순차처리장치)
(2) 파일 권한(9자리) => 파일에 부여된 권한
(3) 파일 연결 갯수를 표시
(4) 소유자 계정 - 파일에 대한 소유권을 행사할 수 있는 계정
(5) 소유그룹 - 파일 권한을 특별히 적용하기 위한 그룹(계정모임)
(6) 파일크기 - byte 단위
(7) 파일 변경 날짜
(8) 파일 이름 => 파일명은 대소문자를 구분
]# ls -al => -a : 숨겨진 파일(파일명이 .으로 시작)을 확인 (all, long)
]# ls -il => -i : inode 번호(파일을 구분하는 고유번호)를 확인 (inode, long)
]# ls -Rl => -R : 하위 디렉토리의 목록 확인 ( 'R' 대소문자 구분 )
]# ls -l /var => /var 디렉토리 목록을 자세히 확인
]# ls -l /etc/*conf => /etc 디렉토리에 목록 중 conf로 끝나는 파일(디렉토리) 확인
※ 메타문자 : 검색를 하기 위한 특수기호
* : 전체 ? : 문자 하나
- 리눅스 디렉토리 구조 => ]# ls -l /
/ ┬ boot : 부팅 관련 파일(vmlinuz : 커널) => 파티션 적용(200M)
├ bin : 리눅스 명령 파일
├ sbin : 리눅스 명령 파일(관리자만 사용 가능한 명령)
├ dev : 장치 파일
├ etc : 리눅스 환경설정 파일
├ home : 계정의 홈디렉터리들이 존재 => 파티션 적용(최대)
├ root : 관리자(root)의 홈디렉토리
├ usr : 응용프로그램(RPM) 설치 디렉토리 => 파티션 적용(최대)
│ └ local : 응용프로그램(Source) 설치 디렉토리 => 파티션 적용(최대)
├ lib : 라이브러리 파일(필수)
├ opt : 라이브러리 파일(옵션) => 파티션 적용(100M)
├ mnt : 연결디렉토리 => 외부장치를 연결하여 사용하는 디렉토리
├ var : 스풀파일 또는 메일파일 저장 => 파티션 적용(최대)
├ tmp : 입출력 관련 임시 파일 저장 => 파티션 적용(최대 5G)
└ proc : 리눅스 정보를 저장한 파일(가상디렉토리)
3. cd - 현재 작업디렉토리를 변경하는 명령
]# cd 디렉토리명 => 원하는 디렉토리로 위치를 변경
ex) ]# pwd
/root
]#cd .. => 상위디렉토리(/)로 이동
]#pwd
/
]# cd home => 하위디렉토리(home)로 이동
]# pwd
/home
]# cd ../usr => 상위디렉토리(/)로 이동 후 하위 디렉토리(usr)로 이동
※ 상대경로 디렉토리 표시방법 => 현재 디렉토리를 기존으로 상위 또는 하위디렉토리로 표시
]# pwd
/usr
]# cd /var => /var 디렉토리로 이동
※ 절대경로 디렉토리 표시방법 => / 디렉토리를 기준으로 하위디렉토리를 나열하여 표시
]# pwd
/var
]# cd 또는 ]# cd ~ => 계정의 홈디렉토리로 이동
]# cd /et* => 메타문자 사용 가능
※ 디렉토리 또는 파일명에 대한 자동완성 기능 => [Tab]을 잘 이용할 것
ex) ]# cd /u[tab]/loc[tab]
※ 명령 history 기능 : 명령을 저장하는 기능(1000개)
- 방향키(↑ 또는 ↓)를 눌러 기존에 사용한 명령을 표시
- 저장된 명령 목록 확인
]# history
번호 명령
....
]# !번호 => 번호에 해당하는 명령 실행
4. mkdir - 디렉토리 생성 명령
]# mkdir 디렉토리명
ex) ]# pwd
/root
]# mkdir aaa => 현재 디렉토리 하위에 aaa 디렉토리 생성
]# ls -l => aaa 디렉토리 확인
]# mkdir /aaa => / 디렉토리 하위에 aaa 디렉토리 생성 (주의)
]# mkdir bbb ccc ddd => 디렉토리를 여러 개 생성
]# mkdir -p xxx/yyy/zzz => 하위디렉토리를 연속으로 생성
5. rmdir - 디렉토리 삭제 명령
]# rmdir 디렉토리명 => 디렉토리 삭제(일반적으로 사용하지 않는다.)
ex) ]# rmdir aaa => 현재 디렉토리 하위디렉토리인 aaa 삭제
]# ls -l => aaa 디렉토리 존재 유무 확인
]# rmdir /aaa => / 디렉토리 하위디렉토리인 aaa 삭제
]# rmdir bbb ccc ddd => 디렉토리 여러 개 삭제
]# rmdir xxx => 삭제 오류(삭제하고자 하는 디렉토리에 목록이 존재하기 때문)
]# rmdir -p xxx/yyy/zzz => 하위디렉토리 모두 삭제
6. touch => 파일의 용량이 0인 파일을 생성, -t 옵션을 사용하여 파일의 날짜를 변경
]# touch 파일명
ex) ]# touch aaa.txt => 파일의 내용이 존재하지 않는다.
]# ls -l
7. cat => 파일의 내용 확인
]# cat 파일명
- 유사 명령 : more(페이지 단위 표시) 또는 less(커서 이동 가능, 종료는 q를 누른다.)
head 또는 tail => 처음 또는 마지막부터 원하는 행의 내용 확인
ex) ]# cat install.log => [Shift]+[PageUp] 또는 [Shift]+[PageDown]으로 스크롤 기능 구현
]# more install.log => Enter 또는 Space로 이동
]# less install => 커서의 이동 가능(q를 눌려 종료)
]# head -n 10 install.log => 처음부터 10줄만 출력 (-n은 line)
]# tail -n 10 install.log => 마지막부터 10줄만 출력 (-n은 line)