파일 관리 명령
file: 파일의 종류를 알려준다.
touch: 파일의 시간속성을 변경한다. 존재하지 않는 파일에 대해서는 비어있는 파일을 생성한다.
rm: 파일을 삭제
- rm -i: 각 파일에 대해 대화형으로 사용자에게 묻고 파일 삭제를 수행
- rm -rf: -r은 recursive하게 하위 디렉토리들도 삭제하라는 의미. -f는 디렉토리 내에 파일이 존재하더라도 삭제하라는 의미(force)
cp(copy): 파일 복사 (cp file1.txt file2.txt ⇒ file1.txt를 file2.txt로 복사해라)
- cp -r: 재귀적으로 하위 디렉토리들 및 그 안의 파일들도 복사
- cp -i: 대화형으로 복사를 실행
mv(move): 파일을 이동, 이름을 바꿔서 이동할 수도 있음
rename
- 정규식을 사용하여 파일 이름을 변경 가능
- 일반적으로 파일 이름 변경에는 mv를 사용
- Linux 계열에 따라 동작에 약간의 차이가 있음
파일 내용 보기 명령
head: 텍스트 파일의 앞 일부 라인을 보여준다.
tail: 텍스트 파일의 끝 일부 라인을 보여준다.
cat: 파일의 전체 내용을 표준출력에 출력한다
- 파일들의 내용을 합치거나, 표준입력의 내용을 파일에 기록하거나, 파일을 복사할 수도 있음
more와 less
- 파일의 내용을 화면 크기 단위로 보여준다.
- 스페이스키를 이용하여 다음 화면으로 전환
- less는 화살표를 사용하여 내용을 볼 수도있고 파일 내용을 필요한 만큼만 읽으므로 큰 파일에 대해서 효율적으로 동작
바이너리 디렉토리들
실행 가능한 바이너리(기계어 명령들) 파일들을 유지하는 디렉토리들
/bin: 모든 사용자들이 사용하는 바이너리 파일(명령)들을 포함
/sbin: 시스템 설정에 사용하는 바이너리 파일들을 주로 포함
- 프로그램의 실행을 위해서는 root(수퍼유저) 권한이 필요한 경우가 많음
/lib: 바이너리 파일들이 사용하는 라이브러리 파일들이 존재
- /lib/modules/$kernel-version 디렉토리는 Linux kernel 관련 모듈들을 포함
/opt: 선택적인 소프트웨어들이 주로 설치되는 곳
- 패키지 별로 /opt/$packagename 형식의 서브디렉토리를 사용함
시스템 설정 관련 디렉토리들
/book: 컴퓨터를 부팅하기 위한 파일들을 포함
- /book/grub 디렉토리에는 부팅시 사용되는 GRUB관련 설정이 포함됨
/etc(etcetera를 뜻하나 최근에는 Editable Text Configuration 의미로도 사용): 시스템 설정관련 파일들 포함
- /etc/*.conf: 응용프로그램, 데몬 또는 프로토콜 관련 설정 파일들
- /etc/init.d/: 데몬 프로그램의 시작과 종료를 위한 스크립트 파일들을 포함
- /etc/X11: X 윈도우시스템(Linux/Unix의 윈도우 시스템) 관련 파일
- /etc/skel: 사용자 홈 디렉토리에 포함되는 기본 파일들을 모은 디렉토리. 새로운 사용자를 생성하면 /etc/skel 내의 파일이 새 사용자 홈디렉토리에 복사됨
- /etc/sysconfig/
데이터 디렉토리들
/home: 각 사용자의 홈디렉토리가 /home의 서브디렉토리로 생성됨
/root: root 사용자의 홈디렉토리
/srv: cvs, rsync, ftp, www 관련 데이터 디렉토리
/media: 탈부착이 가능한 저장장치를 위한 디렉토리
- /media/cdrom, /media/cdrom0, /media/usbdisk 서브디렉토리
/mnt: 임시로 사용되는 파일시스템의 마운트 위치
/tmp: 임시로 사용하는 파일들을 저장하기 위한 디렉토리이며 시스템이 재시동하면 자동 삭제되므로 오랫동안 보관해야하는 파일들은 여기에 두면 안됨
메모리 상에만 존재하는 디렉토리들
저장장치에 기록되지 않고 시스템 동작시에만 존재하는 디렉토리들
/dev: 커널에 의해 인식된 하드웨어들을 파일처럼 보여주는 디렉토리
- 물리적인 하드웨어 장치의 유형별로 파일의 이름이 부여됨
- SATA, SCSI, USB 장치들은 /dev/sda, dev/sad1, /dev,sdb 등
- IDE, ATAPI 장치들은 /dev/had, /devhad1, /dev/had2 등
/dev/tty 또는 /dev/pts
- GUI상의 터미널 또는 콘솔에게 부여되는 파일들
/dev/null
- 이 파일에 추가되는 모든 데이터는 곧바로 사라짐.
- 명령의 출력물을 없애고자 할 때 주로 이 파일에 출력을 redirect 함
/proc: 동작중인 CPU 및 프로세스 관련 정보를 보여주는 디렉토리
- 파일들의 크기는 0이나 cat 명령을 수행하면 관련된 정보를 보여줌
- 예) ls-l/proc/cpuinfo와 cat/proc/cpuinfo
- /proc/interrupts 파일
- /proc/kcore 파일
/sys: 동작중인 리눅스 kernel 관련 정보를 파일 형태로 제공하는 디렉토리
/usr 디렉토리
usr은 Unix System Resources를 의미하며 리눅스의 공유 데이터 파일들을 주로 포함
서브 디렉토리들
- /usr/bin
- /usr/include/
- /usr/lib/
- /usr/local
- 전통적으로 Linux(또는 Unix) 운영체제의 일부가 아닌 자체적으로 개발한 프로그램들을 설치하던 디렉토리
- /usr/share
- 특정 하드웨어와 관계없는 읽기 전용의 파일들이 위치
- /usr/src
/var 디렉토리
다양한 크기의 log,cache,spool 데이터 파일들이 위치하는 곳, 프로그램별로 서브디렉토리를 가지는 경우가 흔하다.
/var/log: 프로그램 동작시 로그 메시지들을 저장하는 곳
- Debian (Ubuntu 포함) 계열은 /var/log/syslog 파일에 시스템 로그가 저장
/var/spool/: 프린터 또는 Email과 같이 비동기 작업을 위해 데이터 파일을 임시 저장하는 디렉토리
/var/lib: 응용프로그램별로 자신의 상태 정보를 기록하는 용도로 사용하는 디렉토리
/var/lock/: 파일에 대한 동시접근을 제어하기 위한 잠금 파일들이 위치하는 디렉토리