Soy's Devlog
리눅스 파일시스템과 기본명령(1) 본문
리눅스 디렉터리를 다루는데 기본이 되는 명령어를 정리해 보았습니다.
리눅스 파일시스템에 관한 내용은 리눅스의 시작과도 같아서 정확히 아는게 중요합니다!
목차
1. 파일시스템 탐색
- ls, file, cd, pwd
2. 파일과 디렉터리 관리
- mkdir, rmdir, cp, mv, rm, 접근권한, 소유자변경 등
3. 파일 내용 확인
- more, less, head, tail, cat
1. 파일시스템 탐색
윈도우와 마찬가지로 리눅스 시스템도 계층적으로 구성된 트리 형태의 디렉터리 구조를 가진다.
각 디렉터리 마다 하위에 다수의 파일과 하위 디렉터리를 가질 수 있고, 최상위 디렉터리를 루트 디렉터리( / )라고 한다.
차이점이 있다면, 윈도우 에서는 C:\ 와 D:\ 와 같이 여러개의 드라이브가 구성되어 내부에 디렉터리를 나누어 관리할 수 있다. 이때 C:\ 와 D:\ 는 각 드라이브마다 루트(최상위) 디렉터리를 갖는다.
하지만 리눅스에서는 단 한 개의 루트 디렉터리만 존재한다.
디렉터리의 내용 출력 : ls
ls 명령으로 디렉터리의 내용과 속성을 확인할 수 있다.
옵션 | 설명 |
-a | 숨김 파일을 포함한 모든 파일을 보여준다. |
-d | 디렉터리 자체의 정보를 보여준다. |
-i | 왼쪽에 inode 번호를 보여준다. |
-l | 긴 포맷으로 결과를 보여준다. |
-r | 역순으로 결과를 보여준다. 기본적으로 ls는 알파벳 순으로 결과를 보여준다. |
-t | 최종 수정시간 순으로 보여준다. |
-F | 우측에 파일의 종류를 알려주는 문자를 붙여 보여준다. 실행파일 : * 디렉터리 : / 심벌릭링크 : @ |
-S | 파일의 크기 순으로 결과를 보여준다. |
파일의 유형 확인 : file
현재 작업 디렉터리 확인 : pwd
현재 작업 중인 디렉터리가 전체 파일 시스템에서 어느 위치에 있는지 모를 때 사용한다. 'print working directory' 를 의미하며 루트 디렉터리를 기준으로 한 절대경로 방식으로 표현한다.
ex) /Users/syoon/Documents
작업 디렉터리의 이동 : cd
현재 작업 중인 디렉터리에서 새로운 디렉터리로 이동하고자 할 때 사용한다.
디렉터리 지정은 절대경로 표시 방법과 상대경로 표시 방법이 있는데, 절대경로는 루트 디렉터리( / ) 에서 시작하여 원하는 디렉터리 까지의 모든 경로를 표시하는 방법이다.
상대경로 표시 방법은 작업 중인 현재 디렉터리에서 부터 시작한다.
예를 들어, A라는 디렉터리 안에 B와 C라는 하위 디렉터리가 있다고 가정하고 현재 C디렉터리에서 작업중인데 B디렉터리로 이동하고자 한다면 cd ../B 라고 입력해야 한다.
기호/환경변수 | 설명 |
~ | 셀 명령에서 홈디렉터리를 의미하는 기호이다. 해당 기호 다음에 사용자 계정을 붙여 쓰면 해당 사용자의 홈디렉터리를 의미한다. ex) ~syoon = /home/syoon |
. | 현재 작업 디렉터리를 의미한다. |
.. | 현재 작업 디렉터리의 부모 디렉터리를 의미한다. |
2. 파일과 디렉터리 관리
디렉터리 만들기 : mkdir
홈 디렉터리가 처음 만들어지면 내부에 읽기/쓰기/실행의 권한을 가지고 있으므로 필요에 따라 하위에 디렉터리를 추가적으로 생성할 수 있다. 만약, 특정 디렉터리에 대해 쓰기 권한이 없다면 해당 디렉터리 내부에 하위 디렉터리는 만들 수 없다. mkdir 하기 위해서는 쓰기 권한이 필수이다.
디렉터리 삭제 : rmdir
rmdir 명령으로 디렉터리를 삭제할 때는 비어있는 디렉터리만 삭제가 가능하다. 파일이나 하위 디렉터리를 가지고 있다면 rmdir 명령으로 삭제할 수 없고 rm -r 또는 rm -rf 를 사용해야 한다.
파일이나 디렉터리의 삭제 : rm
rm명령 또한 삭제할 파일이 위치하는 디렉터리에 대해 쓰기 권한을 가지고 있어야 한다. 리눅스에서 파일을 삭제 후 복구 하는 명령은 없으므로 삭제할 때는 신중해야 한다. rm 명령을 수행하기 전 한번 더 확인 하려면 -i 옵션을 줄 수 있다.
옵션 | 설명 |
-i | 기존 파일을 삭제하기 전에 확인을 위해 한번 더 물어본다. |
-r | 디렉터리가 가지는 서브 디렉터리까지 모두 삭제한다. |
-f | 물어보지 않고 무조건 삭제한다. -i 옵션보다 우선한다. |
파일과 디렉터리 복사 : cp
> cp file1 file2
file1을 file2에 복사하는 명령인데 옵션에 따라 다르게 수행할 수 있다.
> cp -i file1 file2
file1을 file2에 복사할 건데 이미 존재하는 경우 덮어쓰기 할 것인지 묻는다.
> cp file1 file2 dir1
file1과 file2를 dir1 에 복사한다. 이때 dir1은 미리 만들어져 있어야 하고 복사하면서 생성되지 않는다.
옵션 | 설명 |
-a | 소유자, 접근권한, 시간 등 파일의 모든 속성을 그대로 유지하면서 복사한다. |
-i | 덮어쓰기 전에 확인 과정을 거친다. |
-r | 모든 내용을 재귀적으로 복사한다. 디렉터리를 복사할 때 필요하다. |
파일의 이동 또는 다른 이름으로 변경 : mv
> mv file1 file2
file1을 file2로 변경한다. 이미 존재하는 경우 덮어쓰기가 이루어진다.
> mv dir1 dir2
dir1과 모든 내용을 dir2로 이동한다. dir2가 미리 만들어져 있어야 한다.
'Linux' 카테고리의 다른 글
리눅스 파일시스템과 기본명령(3) (0) | 2024.04.30 |
---|---|
리눅스 파일시스템과 기본명령(2) (0) | 2024.04.22 |