파일 관련 명령어

조준형·2022년 12월 29일
0

Linux

목록 보기
2/7

파일 관리 명령

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 파일
    • CPU별로 인터럽트 상태를 보여줌
  • /proc/kcore 파일
    • 물리적인 메모리를 파일로 보여줌

/sys: 동작중인 리눅스 kernel 관련 정보를 파일 형태로 제공하는 디렉토리

/usr 디렉토리

usr은 Unix System Resources를 의미하며 리눅스의 공유 데이터 파일들을 주로 포함

서브 디렉토리들

  • /usr/bin
    • 리눅스 명령에 해당하는 프로그램들
  • /usr/include/
    • C 프로그램을 위한 헤더파일들
  • /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/: 파일에 대한 동시접근을 제어하기 위한 잠금 파일들이 위치하는 디렉토리

profile
코린이

0개의 댓글