File_Directory

파일과 디렉토리

🔶 File

  • 컴퓨터 파일: 컴퓨터 등의 기기에서 의미가 있는 정보를 담는 논리적인 단위

🔶 Directory

  • 운영체제는 자료를 저장하는 외부 저장장치를 관리하는데 리눅스에서도 파일 시스템에서 디렉토리를 활용해 파일을 구성하여 관리합니다.

  • 파일은 데이터를 묶음이고, 디렉터리는 파일들의 묶음으로 다른 파일을 포함할 수 있는 컨테이너라고 생각할 수 있습니다.

  • 이처럼 우리는 디렉토리를 활용하여 파일들을 구조적으로 구성하고 정리할 수 있습니다.

🔶 LinuxFile

리눅스 파일

  • 리눅스는 유닉스 계열을 바탕으로 만들어진 오픈소스 운영체제이다. 그래서 유닉스와 마찬가지로 모든 것들을 파일로 관리한다.

  • 리눅스의 경우 트리구조의 디렉토리를 갖고 있는데, 이는 용도에 따라 다음과 같이 구분되며 이를 파일 시스템이라고 합니다.

    1. 일반파일: 데이터 저장에 사용되는 파일이며 리눅스에서 사용되는 파일 대부분이 일반 파일에 속합니다. 텍스트 파일은 아스키(ASCII)코드로 구성되어 vi, vim 명령어 등의 문서 편집기 명령어로 내용을 보거나 수정할 수 있습니다.
  1. 디렉토리 파일: 해당 디렉토리에 저장되어 있는 정보와 하위 디렉토리에 대한 정보를 담고 있습니다.

  2. 링크파일: 링크 파일은 원본 파일을 대신해서 사용하기 위해 다른 파일명으로 링크된 파일로 윈도우 운영체제의 바로가기 기능과 유사합니다.
  3. 장치파일: 장치(하드웨어)들을 관리하는 파일로 하드 디스크나, CPU등의 장치들을 파일화하여 관리합니다.

🔶 ROOT 디렉토리 구조

리눅스루트디렉토리 루트디렉토리

리눅스에서 모든 것은 파일로 표현될 수 있는데, 디렉토리도 파일의 한 종류로서 여러개의 하위 파일이나 디렉토리의 주소들을 담고 있습니다. 디렉토리들을 파일을 효율적으로 관리하기 위해 계층적으로 구성하는데 이것을 트리구조라고 합니다.

리눅스에서는 수많은 파일을 관리하기 위해 이러한 디렉토리 개념을 사용하는데 이때, 모든 디렉토리의 최상위 디렉토리를 루트 디렉토리라고 하며 루트 디렉토리는 / 으로 표시합니다.

🔶 LinuxFile 조작 방법


  • cat: 파일의 내용을 한번에 출력합니다. 다음의 명령어 입력시 파일의 내용이 터미널에 출력됩니다.
cat file.txt


  • ls: 현재 디렉토리 내의 파일 목록이 터미널에 출력됩니다.
ls


  • cd: 디렉토리를 변경합니다. 현재 디렉토리가 Documents 디렉토리로 변경됩니다.
cd Documents 


  • mkdir: 새로운 디렉토리를 만듭니다. mydirectory라는 이름의 디렉토리가 생성됩니다.
mkdir mydirectory


  • touch: 새로운 파일을 만듭니다.
touch file.txt



🔶 LinuxFile 파일 관리

  • mv: 파일이나 디렉토리를 이동합니다.
$ mv file1 /dir # : file1 파일을 dir 디렉터리로 이동

$ mv file1 file2 file3 /dir # : 여러 개의 파일을 dir 디렉터리로 이동


  • cp: 파일을 복사합니다.
$ cp [복사대상] [디렉토리명]

$ cp file.txt /home/user/documents/


  • rm: 파일이나 디렉토리를 삭제합니다.
$ rm file1 # : file1을 삭제

$ rm -f file1 # : file1을 강제 삭제

$ rm -i file1 # : 삭제하기전에 사용자 확인

$ rm -r dir # : dir 디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)

$ rm *[공통으로 끝나는 확장자] # : 공통으로 끝나는 확장자로 끝나는 파일 모두 삭제 

$ rm * # : 모든 파일 삭제
서브목차