Chapter 2. Linux의 기초
1. Linux 운영체제의 File 시스템 및 계층구조
- 기본 File 시스템 및 계층구조
- 주요 계층 구조
‧ /
◦ Linux 상에 존재하는 모든 File과 Directory의 최상위에 위치하는 최상위 Directory
‧ /boot
◦ Linux Kernel의 메모리 이미지와 Booting 과정에 필요한 정보 File이 있는 Directory
‧ /bin
◦ 기본적인 명령어들이 들어있다.
◦ binary의 약자로 2진 코드를 사용하며 실행File(*.exe)이 들어있는 Directory
‧ /root
◦ 관리자(Super User)인 root의 Home Directory
‧ /home
◦ 관리자 이외의 사용자의 Home Director가 생성되는 위치
‧ /etc
◦ 시스템이나 사용자 관리를 위한 자료 File이나 관리자용 명령이 들어있는 Directory
◦ 서버 설정 관련 모든 File(네트워크 및 인터넷 포함)이 존재
‧ /dev
◦ 장치 File이라고 하는 File시스템과 하드위어간의 interface를 담당하는 File이 들어있는 Directory
◦ device의 약자
‧ /lib
◦ 각종 언어를 위한 library를 갖는 Directory
‧ /mnt
◦ Remote Device를 이용하기 위한 Directory
‧ /media
◦ Local Device를 이용하기 위한 Directory
‧ /sbin
◦ 시스템운영 및 관리를 위한 명령 File들이 있는 Directory
◦ Booting 과정에 필요한 명령들은 여기에 있고 정상 동작 상태에서 필요한 크기가 큰 명령들은 /usr/sbin에 있다.
◦ Windows 운영체제의 'system32' Directory가 하는 역할과 같다.
‧ /usr
◦ root File 시스템과 구조는 유사하고 용량이 크며 자주 사용되지 않는 File들이 있다.
◦ 충분하게 용량을 지정하지 Linux 설치 도중 'Disc space is not enough' 경고가 발생하며 설치가 중단된다.
◦ Windows 운영체제의 'Program Files' Directory'가 하는 역할과 같다.
‧ /proc
◦ kernel과 Process 정보를 얻을 수 있는 가상 File 시스템이다.
◦ 관리자가 알아야할 중요한 Directory
‧ /tmp
◦ 잠시 사용되는 임시 File을 위한 Directory
‧ swap
◦ 가상 메모리(Virtual Memory)를 의미하며 실제 Directory 상에는 존재하지 않는다.
◦ HDD(Hard Disc Drive)의 일부공간을 사용
◦ 파티션 설정 시 RAM×2만큼 설정하는 것이 원칙이나 보통 4GB(4096MB)만큼의 공간을 할당하는 것이 안정적이다.
- 운영체제에 따른 사용자 저장 Directory 비교
‧ Linux는 사용자가 관리자가 분할되어 저장된다.
‧ Windows는 사용자와 관리자가 한 곳에 저장된다.
구분 |
Windows |
Linux | |
사용자 |
관리자 |
Administrator |
root |
사용자 |
user 등 |
user 등 | |
위치 |
관리자 |
XP이하 Version C:\Documents&settings\> |
/root |
사용자 |
/home |
- 절대 경로 & 상대 경로
‧ 절대 경로
◦ File System 전체를 기준으로 File이나 Directory의 절대적인 위치(/)를 기준으로 시작하는 경로
‧ 상대 경로
◦ 현재 작업하는 Directory를 기준으로 시작하는 상대적인 경로
2. Linux Basic Command
- pwd
‧ 현재 작업 중인 Directory의 절대 경로를 보여준다.
‧ 문법 : pwd
- cd
‧ Directory 이동 명령
‧ 문법 : cd [Directory 주소]
- ls
‧ MS Dos의 dir과 같은 역할을 하며 해당 Directory의 내용을 출력한다.
‧ 문법 : ls [Option] [Directory/File]
‧ Option
Option |
설명 |
-a/-all |
현재 Directory(.)를 포함한 경로 안의 모든 File과 Directory 표시 |
-l/--format=long |
지정한 Directory의 내용을 자세히 출력 |
-d/--directory |
지정된 Directory의 정보 출력 |
-n/numeric |
File 및 Directory 정보 출력할 때 UID, GID를 사용 |
-F/--classify |
Fild 형식을 알리는 문자를 각 File 뒤에 추가(ex *,/,@,|,=,NULL) |
-R, --recursive |
하위 경로와 그 안에 있는 모든 File 나열 |
※ UID(User Identifier) : 특정 사용자를 나타내는 숫자
※ GID(Group Identifier) : 특정 그룹을 나타내는 숫자
- cp
‧ File이나 Directory를 복사하는 명령어(copy)
‧ 원본 File과 복사 File의 이름이 같을 경우 경로만 넣어주면 복사가 가능하며 복사와 동시에 이름을 변경할 수 있다.
‧ 문법 : cp [Option] [Sources] [Target]
‧ Option
Option |
설명 |
-i/--interactive |
복사대상 File이 있을 경우, 복사에 대한 실행 여부를 물음 |
-f/--force |
복사대상 File이 있을 경우, 확인 없이 강제로 복사 |
-r/-R/--recursive |
Directory를 복사할 경우 하위 Directory와 File을 모두 복사 |
-v/--verbose |
복사 진행 상태를 출력 |
-d/--no-dereference |
복사대상 상태를 출력 |
-p/--preserve |
원본 File의 소유주, Group, 권한 시간정보를 보존해 복사 |
-a/--archive/-dpr |
원본 File의 속성 Link 정보들을 유지해 복사 |
- mv
‧ File이나 Directory를 이동하거나 이름을 바꿀 때 사용한다.
‧ cp와 사용법은 동일하며 옵션을 지정하지 않고 사용 가능하다.
‧ 이동 경로와 원본 경로를 같게 지정해 File의 이름을 바꾸는 것도 가능하다.
‧ 문법 : mv [Option] [Source] [Target]
‧ Option
Option |
설명 |
-i/--interactive |
.bashrc에 alias(별칭)되어 있는 옵션, 이동할 위치에 동일한 File이 있을 경우 실행 여부를 물음 |
-u/--update |
이동할 File이 이동할 위치에 있는 File보다 최근 File일 경우에만 이동 |
-b/--backup |
대상 File이 이미 있어 지워지는 것을 대비해 Backup File을 생성 |
-f/--force |
대상 File이 이미 있어도 실행여부를 묻지 않고 실행 |
-v/--verbose |
File을 옮기는 과정을 자세하게 화면에 출력 |
-S/--suffix |
-b Option을 이용해 Backup할 경우 Backup File에서 사용할 File의 이름의 꼬리 문자를 지정 |
- mkdir
‧ Directory 생성
‧ 문법 : mkdir [Option] [Directory Name]
‧ Option
Option |
설명 |
-m/--mode |
Directory 생성 시 Directory의 기본 권한 지정 |
-p/--parents |
필요한 경우 상위 경로까지 생성 |
--help |
도움말 출력 |
--version |
버전 정보 출력 |
- rmdir
‧ 비어 있는 Directory 삭제 명령
‧ File은 삭제할 수 없다.
‧ 삭제 하고자하는 Directory 하위에 Directory 존재 시 삭제 불가능
‧ 문법 : rmdir [Option] [Directory]
‧ Option
Option |
설명 |
-p/--parents |
상위 경로까지 삭제 |
--help |
도움말 출력 |
--version |
버전 정보 출력 |
- rm
‧ File과 Directory 삭제 명령
‧ 문법 : rm [Option] [Directory/File]
‧ Option
Option |
설명 |
-f/--force |
File/Directory 삭제 시 실행 여부를 묻지 않음 |
-r/-R/--recursive |
일반 File이면 그냥 지우고 Directory면 Directory를 포함한 하위 경로 및 File을 모두 삭제 |
-v/--verbose |
각각의 지우는 File 정보를 자세하게 출력 |
--version |
버전 정보 출력 |
※ 주의 사항 : 현재 Directory의 모든 File 삭제 시 rm ./*를 입력해야하며 현재 Directory(.)을 빼먹을 경우 Linux System이 모두 삭제될 수 있으니 주의해야한다.
- alias
‧ 별칭을 지정하는 명령
‧ 자주 사용되는 복잡한 명령어와 Option을 간단히 입력할 수 있는 문자열로 치환
‧ 문법
◦ 지정한 명령어 확인 : alias
◦ 명령어에 별칭 지정 : alias [별칭] [명령어]
- cat
‧ Text File 내용을 표준 출력장치로 출력하는 명령
‧ cat의 5가지 기능
◦ File 내용 출력
▹ cat [File]
◦ 다른 File로 출력 내용 저장
▹ cat [기존 File] > [New File]
◦ File 생성
▹ cat > [New File]
◦ 기존 File에 내용 추가
▹ cat >> [New File]
◦ File 병합
▹ cat [Source File1] [Source File2] > [Target File]
- touch
‧ 크기가 0인 새로운 File 생성하거나 File이 기존에 존재 시 수정 시간을 변경
‧ touch의 2가지 기능
◦ 0byte File 생성
◦ File의 생성시간 또는 최종 수정시간 변경
- head
‧ File 내용의 처음부터 10줄을 기본 값으로 출력
‧ Option 지정 시 출력할 줄 수 지정가능
‧ Option 지정과 미 지정
◦ 기본 값인 10줄 출력 : head [File]
◦ 값 지정해 n줄 출력 : head [-n] [File]
- tail
‧ File 내용의 마지막부터 10줄을 기본 값으로 출력
‧ Option 지정 시 출력할 줄 수 지정가능
‧ Option 지정과 미 지정
◦ 기본 값인 10줄 출력 : tail [File]
◦ 값 지정해 n줄 출력 : tail [-n] [File]
- more
‧ 내용이 많은 File을 화면단위로 끊어서 출력
‧ 다른 명령어와 조합해 사용가능하다.
‧ 문법 : more [File]
‧ 단축키
◦ Enter : 한 줄씩 출력
◦ space : 한 화면씩 출력
‧ 명령어 조합
◦ ls 명령어를 more로 한 화면씩 출력하기 : ls -l [Directory/File] | more
※ more를 Option을 사용하기 위해서는 항상 | 뒤에 붙여줘야 한다.
- rdate
‧ Time Server에서 시간정보를 얻어 System의 시간을 변경한다.
‧ 문법 : rdate [Option] [Time Server]
‧ Option
Option |
설명 |
-p |
Time Server의 현재시간 확인 |
-s |
Time Server와 Host Time 동기화 |
- file
‧ 확장자를 기본으로 사용하지 않는 Linux File 종류 확인
‧ 문법 : file [Option] [File]
‧ Option
Option |
설명 |
빈칸 |
해당 File의 FIle 유형 확인 |
-s |
Disc File System 종류 확인 |
- find
‧ File 및 Directory 검색
‧ 문법 : find [Route] [Option] [File]
‧ Option
Option |
설명 |
-name |
이름으로 찾기 |
-atime -n |
Access Time이 n 시간보다 작은 File(File 이름 적지 않음) |
-atime +n |
Access Time이 n 시간보다 큰 File(File 이름 적지 않음) |
-newer |
해당 File 이후에 생성된 모든 File 찾기 |
‧ 명령어 조합
◦ File 찾아 삭제 : find [Route] -name [File] -exec rm {} \;
◦ 해당 사용자 권한 실행 File 찾기 : find [Route] -user [Username] -perm +[number] 2> [Route]
- Linux 종료 및 재시작
‧ Linux 종료
◦ shutdown -h now
◦ init 0
◦ halt
◦ poweroff
‧ Linux 재시작
◦ shutdown -r now
◦ init 6
◦ reboot
'Linux > CentOS Linux 6.5' 카테고리의 다른 글
Chapter 6. Package (0) | 2015.08.07 |
---|---|
Chapter 5. 허가권(Permissions) & 소유권(Ownership) (0) | 2015.08.07 |
Chapter 4. 사용자(Users) & 그룹(Group) (0) | 2015.08.07 |
Chapter 3. VI Editor (0) | 2015.08.07 |
Chapter 1. VMware로 CentOS 6.5 설치하기 (0) | 2015.08.07 |