Linux 명령어 | Linux 소개 | Linux 디렉토리


드라이브

Windows에서는 “C:”, “D:“와 같은 드라이브라는 개념이 있지만 Unix/Linux에는 없다. 추가 하드 디스크, CD-ROM 등은 /dev/hda/dev/cdrom과 같은 경로 이름으로 액세스된다.

디렉토리

Windows에서 말하는 “폴더"와 거의 같은 의미이다. 디렉토리(폴더)의 구분은, Windows에서는 \Program Files\Microsoft Office\... 등 백슬래시(\)를 사용하지만, Unix/Linux에서는 /home/devkuma/public_html/index.html 등 슬래시(/) 를 사용한다.

home
└── devakuma
    └── pubilc_html
        ├── image
        │   ├── aaa.gif
        │   └── bbb.gif
        └── js
            ├── xxx.js
            └── zzz.js

루트 디렉토리

디렉토리 계층 구조의 최상위 디렉토리를 루트 디렉토리라고 한다. 첫 번째 슬래시(/)는 루트 디렉토리를 나타낸다.

/

홈 디렉토리

Unix/Linux에서는 각 사용자에게 별도의 디렉토리가 할당된다. 이를 “홈 디렉토리"라고 한다. Linux에서는 “/home/{사용자 이름}”, Mac OS X에서는 “/Users/{사용자 이름}”, 오래된 Unix계 OS에서는 “/usr/{사용자 이름}” 등이 주로 사용되지만, 다른 디렉토리를 사용할 수도 있다.

/home/devakuma

현재 디렉토리

현재 자신이 있는 디렉토리를 현재 디렉토리라고 한다. pwd 명령을 실행하면 현재 어떤 디렉토리에 있는지, 현재 디렉토리를 알 수 있다. 예를 들어, public_html 디렉토리에 있는 상태에서 pwd 명령을 실행하면 다음과 같이 표시도된다.

/home/devakuma/public_html

상위 디렉토리

루트 디렉토리를 제외한 모든 디렉토리에는 상위 디렉토리가 있다. 상위 디렉토리는 ..로 표시된다. ../xxx.html은 현재 현재 디렉토리의 상위 디렉토리에 있는 xxx.html이다. /home/users/../users/devkuma/home/users/devkuma 와 같은 의미가 된다.

경로명

어느 디렉토리안에 있는 파일의 위치를 ​​/home/foo/index.html (와)과 같이 나타낸 것을 패스명이라고 부른다. 이는 home 디렉토리내의, foo 디렉토리안의, index.html 라고 하는 파일을 나타낸다.

절대 경로명

경로명이 슬래시(/)로 시작되는 경우는 루트 디렉토리로부터의 상대 위치를 나타낸다. 이는 절대 패스명이나, 풀 패스명이라고 부른다.

URL의 설명과 약간 다를 수 있다. 예를 들어, /home/devkuma/public_html/index.htm이라는 절대 경로 이름이 URL에서 /index.htm이라는 가상 경로 이름에 매핑된다.

또, BIGLOBE와 같이, FTP로 로그인할 때와, CGI 스크립트가 동작할 때의 루트 디렉토리가 다른 경우가 있으므로 주의가 필요하다.

상대 경로 이름

경로명이 슬래시(/) 이외로 시작되는 경우는 현재 디렉토리로부터의 상대 위치를 나타낸다. 이를 상대 경로 이름이라고 한다.

예를 들어, 현재 디렉토리가 /home/users 일 때, devkuma/index.html을 작성하면 /home/users/devkuma/index.html이 표시된다.

가상 경로 이름

이것은 UNIX 용어보다는 WWW 용어인데, http://서버명/패스명/패스명의 부분을 가상 패스명이라고 부른다. 앞에서 설명한 것처럼 절대 경로 이름과 다르다.

주요 디렉토리

/

리눅스 상에 존재하는 모든 파일과 디렉토리의 최상위에 위치하는 최상위 디렉토리이다.
시스템의 근본이 되는 가장 중요한 디렉토리이다.
문자열 가장 앞의 /는 최상위를 나타내고, 그 이후의 /는 디렉토리 구분자이다. 문자열 마지막의 /는 보통 생략한다.

/boot

리눅스 커널의 메모리 이미지와 부팅 과정에서 필요한 정보 파일들이 있다.

/bin

리눅스의 기본적인 명령어 실행파일이 들어있다.

/root

슈퍼유저 root의 홈 디렉토리이다.

/home

관리자 이외의 사용자의 홈 디렉토리가 생성되는 디렉토리이다.
일반 사용자 계정 생성 시 기본적으로 이 디렉토리 하위에 생성한다.

/etc

시스템이나 사용자 관리를 위한 자료 파일과 관리자용 명령들을 가지고 있다.
시스템 설정 파일, 계정 정보들이 들어있고, backup 1순위 디렉토리이다.

/dev

장치 파일이라고 하는 파일시스템과 하드웨어 간의 인터페이스를 담당하는 파일이 있다.
플로피 디스크, 하드 디스크, CD-ROM 등의 각종 장치 파일들이 들어있다.

/lib

각종 언어를 위한 라이브러리를 가진다.
시스템 공유 라이브러리 디렉토리로, 프로그램에 필요한 라이브러리 파일이 존재한다.

/mnt

Remote Device를 이용하기 위한 디렉토리이다.
시스템에서 사용할 각 장치들의 마운트 포인터가 존재한다.
마운트를 하지 않은 상태에서는 아무런 내용이 나타나지 않지만 특정 디바이스로 마운트 하면 그 내용이 표시된다.

/media

Local Device를 이용하기 위한 디렉토리이다.

/sbin

시스템 운영 및 관리를 위한 명령 파일들이 있고 관리자 만이 사용할 수 있다. 부팅 과정에 필요한 명령들은 여기에 있고 정상 동작 상태에서 필요한 크기가 큰 명령들은 /user/sbin에 있다.

/user

리눅스가 구동하는데 필요한 대부분의 파일이 담겨있고 각 계정의 사용자들이 설치하는 패키지들이 존재한다.
용량이 큰 파일들 존재한다.

/proc

커널과 프로세스 정보를 얻을 수 있는 가상 파일 시스템으로 메모리상에 저장되어 있다.
프로세스의 정보를 나타내는 디렉토리로 ps 명령어로 프로세스 상태를 확인할 경우 이 디렉토리에 포함된 내용을 보여줌

/proc/cpuinfo

cpu에 대한 정보가 들어있다.

/proc/devices

디바이스 드라이버에 대한 정보가 들어있다.

/proc/kmsg

커널로부터 출력하는 메시지가 들어있다.

/proc/meminfp

실제 메모리와 가상 메모리에 대한 정보가 들어있다.

/proc/net

네트워크에 대한 정보가 들어있다.

/tmp

잠시 사용되는 임시 파일들이 저장되는 곳으로 PHP에서 파일 업로드 시 우선 저장되는 곳이고 세션 정보 등이 임시로 보관되는 디렉토리이다.

/var

가변 파일 디렉토리로 시스템 운영 중에 생성되거나 변경되는 파일이 존재한다.
메일, 스풀, 네임서버, 기타 보안사항에 관련되는 내용들이 기록된다.

/var/log

로그파일이 존재하는 디렉토리이다.

  • /var/log/cron : 주기 예약 작업 로그
  • /var/log/maillog : 메일 로그
  • /var/log/messages : 시스템 메시지 로그
  • /var/log/secure : 접속 및 인증 관련 로그 (★)
  • /var/log/spooler : 프린터 연결 로그
  • /var/log/dmesg : 시스템 장치 및 파일 시스템 부팅 메시지 로그
  • /var/log/boot.log : 부팅 시 시스템 장치 및 데몬 실행 상태 확인 로그

/var/spool/mail

주고받는 메일이 저장되는 디렉토리이다.