이 기사는 LFCA 시리즈의 제2부입니다. 이번 파트에서는 Linux 파일 시스템에 대해 설명하고 LFCA 자격 시험에 필요한 기본 파일 관리 명령을 다룰 것입니다.
Linux에서 시작하면 파일 및 디렉터리와 상호 작용하는 데 많은 시간을 보낼 것입니다. 디렉터리는 폴더로도 알려져 있으며 계층적 구조로 구성됩니다.
Linux 운영 체제에서 각 엔터티는 파일로 간주됩니다. 사실, Linux 관련 분야에서는 ‘모든 것은 Linux에서 파일입니다’라는 인기 있는 주장이 있습니다. 이것은 단순화된 것일 뿐이며 실제로는 Linux의 대부분의 파일이 심볼릭 링크, 블록 파일 등을 포함한 특수 파일입니다.
Linux 파일 시스템 개요
주요 파일 유형에 대한 개요를 살펴보겠습니다:
1. 일반 파일
이것은 가장 일반적인 파일 유형입니다. 일반 파일에는 사람이 읽을 수 있는 텍스트, 프로그램 명령 및 ASCII 문자가 포함됩니다.
일반 파일의 예시로는:
- 간단한 텍스트 파일, pdf 파일
- 이미지, 음악 및 비디오 파일과 같은 멀티미디어 파일
- 이진 파일
- 압축되거나 압축된 파일
등이 있습니다.
그리고 훨씬 더 많습니다.
2. 특수 파일
이들은 마운트된 볼륨, 프린터, CD 드라이브 및 모든 I/O(입력 및 출력) 장치와 같은 물리적 장치를 나타내는 파일입니다.
3. 디렉토리
A directory is a special file type that stores both regular and special files in a hierarchical order starting from the root ( / )
directory. A directory is the equivalent of a folder in the Windows operating system. Directories are created using the mkdir command, short for making the directory, as we shall see later on in this tutorial.
Linux 계층 구조는 루트 디렉토리에서 시작하여 다른 디렉토리로 분기됩니다. 다음과 같이 각 디렉토리와 해당 용도를 이해해 봅시다.

- /root 디렉토리는 루트 사용자의 홈 디렉토리입니다.
- /dev 디렉토리에는 /dev/sda와 같은 장치 파일이 포함되어 있습니다.
- 정적 부팅 파일은 /boot 디렉토리에 위치합니다.
- 응용 프로그램 및 사용자 유틸리티는 /usr 디렉토리에 있습니다.
- /var 디렉토리에는 다양한 시스템 응용 프로그램의 로그 파일이 포함되어 있습니다.
- 모든 시스템 구성 파일은 /etc 디렉토리에 저장됩니다.
- /home 디렉토리에는 사용자 폴더가 위치합니다. 이에는 데스크톱, 문서, 다운로드, 음악, 공용 및 비디오가 포함됩니다.
- 추가 애플리케이션 패키지를 확인하려면 /opt 디렉토리를 확인하세요.
- /media 디렉토리에는 USB 드라이브와 같은 탈부착식 장치용 파일이 저장됩니다.
- /mnt 디렉토리에는 CD-ROM과 같은 장치를 마운트하는 임시 마운트 포인트로 작용하는 하위 디렉토리가 포함되어 있습니다.
- /proc 디렉토리는 현재 실행 중인 프로세스에 대한 정보를 보유하는 가상 파일 시스템입니다. 시스템 부팅 시 생성되고 종료 시 파괴되는 이상한 파일 시스템입니다.
- /bin 디렉토리에는 사용자 명령 이진 파일이 포함되어 있습니다.
- /lib 디렉토리에는 공유 라이브러리 이미지와 커널 모듈이 저장됩니다.
리눅스 파일 관리 명령어
명령을 실행하는 터미널과 상호 작용하는 데 많은 시간을 할애하게 될 것입니다. 명령을 실행하는 것은 그래픽 표시 요소를 사용하는 것보다 시스템에 대한 완전한 제어권을 제공하기 때문에 리눅스 시스템과 상호 작용하는 가장 선호되는 방법입니다.
이 레슨과 다음 레슨에서는 터미널에서 명령을 실행할 것입니다. 우분투 운영 체제를 사용하고 있으며 터미널을 시작하려면 키보드 단축키 CTRL + ALT + T
를 사용하십시오.
이제 시스템에서 파일을 생성하고 관리하는 데 도움이 되는 기본 파일 관리 명령어를 살펴보겠습니다.
1. pwd 명령어
pwd는 현재 작업 디렉토리를 출력의 준말로, 현재 작업 디렉토리를 계층적으로 출력하는 명령입니다. 가장 상위 루트 디렉토리 ( / )
부터 시작합니다.
현재 작업 디렉토리를 확인하려면 다음과 같이 pwd 명령을 호출하면 됩니다.
$ pwd
출력 결과는 홈 디렉터리에 있음을 보여주며, 절대 경로는 /home/tecmint입니다.

2. cd 명령어
디렉터리를 변경하거나 이동하기 위해서는 cd 명령어를 사용하면 됩니다. 이 명령어는 change directory의 줄임말입니다.
예를 들어, /var/log 파일 경로로 이동하려면 다음 명령을 실행하십시오:
$ cd /var/log

디렉터리를 한 단계 올라가려면 끝에 두 개의 점을 추가하면 됩니다.
$ cd ..
홈 디렉터리로 돌아가려면 인수 없이 cd 명령을 실행하면 됩니다.
$ cd

참고: 현재 디렉터리의 하위 디렉터리나 디렉터리로 이동하려면 슬래시 ( / )
를 사용하지 말고 디렉터리 이름을 입력하면 됩니다.
예를 들어, Downloads 디렉터리로 이동하려면 다음을 실행하십시오:
$ cd Downloads

3. ls 명령어
ls 명령어는 디렉터리에 있는 기존 파일이나 폴더를 나열하는 데 사용되는 명령어입니다. 예를 들어, 홈 디렉터리의 모든 내용을 나열하려면 다음 명령을 실행하면 됩니다.
$ ls
출력 결과에서는 시스템에 설치하고 로그인한 후에 기본적으로 생성되는 두 개의 텍스트 파일과 여덟 개의 폴더가 있는 것을 확인할 수 있습니다.

더 많은 정보를 나열하려면 다음과 같이 -lh
플래그를 추가하세요. -l
옵션은 긴 목록을 나타내며 파일 권한, 사용자, 그룹, 파일 크기 및 생성 날짜와 같은 추가 정보를 인쇄합니다. -h
플래그는 사람이 읽기 쉬운 형식으로 파일 또는 디렉토리 크기를 인쇄합니다.
$ ls -lh

숨겨진 파일을 나열하려면 -a
플래그를 추가하세요.
$ ls -la
이것은 다음과 같이 점 기호 (.)
로 시작하는 숨겨진 파일을 표시합니다.
.ssh .config .local

4. touch 명령어
Linux 시스템에서 간단한 파일을 생성하는 데 사용되는 touch 명령어입니다. 파일을 생성하려면 구문을 사용하세요:
$ touch filename
예를 들어 file1.txt 파일을 생성하려면 다음 명령을 실행하세요:
$ touch file1.txt
파일 생성을 확인하려면 ls 명령어를 호출하세요.
$ ls

5. cat 명령어
파일 내용을 보려면 cat 명령어를 다음과 같이 사용하세요:
$ cat filename

6. mv 명령어
mv 명령어는 다양한 명령어입니다. 사용 방법에 따라 파일의 이름을 변경하거나 한 위치에서 다른 위치로 이동할 수 있습니다.
파일을 이동하려면 아래 구문을 사용하세요:
$ mv filename /path/to/destination/
예를 들어 현재 디렉토리에서 Public/docs 디렉토리로 파일을 이동하려면 다음 명령을 실행하세요:
$ mv file1.txt Public/docs

대안으로 파일을 다른 위치에서 현재 디렉토리로 이동할 수 있습니다. 표시된 구문을 사용합니다. 명령어 끝에 있는 점을 주의해야 합니다. 이는 이 위치를 의미합니다.
$ mv /path/to/file .
이제 우리는 그 반대를 할 것입니다. 다음과 같이 Public/docs 경로에서 파일을 현재 디렉토리로 복사할 것입니다.
$ mv Public/docs/file1.txt .

파일의 이름을 바꾸려면 표시된 구문을 사용하십시오. 이 명령어는 원본 파일 이름을 제거하고 두 번째 인수를 새 파일 이름으로 할당합니다.
$ mv filename1 filename2
예를 들어, file1.txt 파일의 이름을 file2.txt로 바꾸려면 다음 명령을 실행하십시오:
$ mv file1.txt file2.txt

또한, 대상 폴더와 다른 파일 이름을 지정하여 동시에 파일을 이동하고 이름을 변경할 수 있습니다.
예를 들어, file1.txt 파일을 위치 Public/docs로 이동시키고 이름을 file2.txt로 변경하려면 다음 명령을 실행하십시오:
$ mv file1.txt Public/docs/file2.txt

7. cp Command
cp 명령어(copy의 약자)는 파일을 한 위치에서 다른 위치로 복사합니다. 이동 명령어와 달리 cp 명령어는 원본 파일을 현재 위치에 유지하고 다른 디렉토리에 중복 복사본을 만듭니다.
파일을 복사하는 구문은 아래에 표시되어 있습니다.
$ cp /file/path /destination/path
예를 들어, 현재 디렉토리에서 파일 file1.txt를 Public/docs/ 디렉
$ cp file1.txt Public/docs/

디렉토리를 복사하려면 디렉토리와 해당 모든 내용을 재귀적으로 복사하는 -R
옵션을 사용하십시오. 우리는 tutorials라는 다른 디렉토리를 생성했습니다. 이 디렉토리와 해당 내용을 Public/docs/ 경로로 복사하려면 다음 명령을 실행하십시오:
$ cp -R tutorials Public/docs/

8. mkdir 명령어
아마도 우리가 tutorials 디렉토리를 어떻게 만들었는지 궁금해 할 것입니다. 실은 매우 간단합니다. 새 디렉토리를 만들려면 다음과 같이 mkdir ( make directory) 명령어를 사용하십시오:
$ mkdir directory_name
다음과 같이 projects라는 다른 디렉토리를 만들어 봅시다:
$ mkdir projects

다른 디렉토리 내에서 디렉토리를 만들려면 -p
플래그를 사용하십시오. 아래 명령은 부모 디렉토리인 projects 디렉토리 내의 linux 디렉토리 내에 fundamentals 디렉토리를 생성합니다.
$ mkdir -p projects/linux/fundamentals

9. rmdir 명령어
rmdir 명령어는 비어 있는 디렉토리를 삭제합니다. 예를 들어, tutorials 디렉토리를 삭제하려면 다음 명령을 실행하십시오:
$ rmdir tutorials

비어 있지 않은 디렉토리를 삭제하려고 하면 오류 메시지가 표시됩니다.
$ rmdir projects

10. rm 명령어
rm (remove) 명령어는 파일을 삭제하는 데 사용됩니다. 구문은 매우 간단합니다:
$ rm filename
예를 들어, file1.txt 파일을 삭제하려면 다음 명령을 실행하십시오:
$ rm file1.txt
또한 -R
옵션을 사용하여 디렉토리를 재귀적으로 삭제하거나 제거할 수 있습니다. 이는 비어 있을 수도 있고 비어 있지 않을 수도 있는 디렉토리일 수 있습니다.
$ rm -R directory_name
프로젝트 디렉토리를 삭제하려면 다음 명령을 실행하십시오:
$ rm -R projects

11. 찾기 및 위치 찾기 명령어
가끔은 특정 파일의 위치를 찾고 싶을 수 있습니다. find 또는 locate 명령을 사용하여 쉽게 수행할 수 있습니다.
find 명령은 특정 위치에서 파일을 검색하고 두 가지 인수를 취합니다: 검색 경로 또는 디렉토리 및 검색할 파일입니다.
구문은 다음과 같습니다
$ find /path/to/search -name filename
예를 들어, 홈 디렉토리에서 file1.txt 파일을 검색하려면 다음을 실행하십시오:
$ find /home/tecmint -name file1.txt

locate 명령은 find 명령과 마찬가지로 파일을 검색하는 역할을하지만 표시된대로 하나의 인수만 사용합니다.
$ locate filename
예를 들면;
$ locate file1.txt

locate 명령은 시스템의 모든 가능한 파일 및 디렉토리 데이터베이스를 사용하여 검색합니다.
참고: locate 명령은 find 명령보다 훨씬 빠릅니다. 그러나 find 명령은 locate가 원하는 결과를 제공하지 않는 상황에서 더 강력하게 작동합니다.
그것이에요! 이 주제에서는 리눅스 시스템에서 파일과 디렉토리를 생성하고 관리하는 기본 파일 관리 명령을 다루었습니다.
Source:
https://www.tecmint.com/linux-file-management-commands/