

💻파일 시스템
- 운영체제가 디스크(파티션) 상에 파일들을 구성하는 방식
- 파일과 디렉터리의 집합을 구조적으로 관리하는 체계
- 다양한 형식의 파일 시스템이 존재한다.
- 리눅스는 전체 파일 시스템을 1개의 트리 구조로 관리한다.
⚠️명령어
1. ls
- 파일과 서브 디렉터리 목록을 나열(list)하는 명령이다.
- 옵션에 따라 파일(또는 디렉터리)이 가지는 속성도 확인할 수 있다.
ls [options] [names]
2. file
3. pwd
- 절대 경로 방식으로 현재 작업 디렉터리를 알려주는 명령이다.
4. cd
- 작업 디렉터리를 이동하는 명령이다.
- 디렉터리를 지정하지 않으면 사용자의 홈 디렉터리로 이동한다.
5. mkdir
> 옵션
-p는 필요한 경우 상위 디렉터리를 만든다.
-m은 디렉터리를 만들면서 접근권한을 설정한다.
6. rmdir
- 디렉터리를 삭제하는 명령이다.
- 비어 있는 디렉터리만 삭제할 수 있다.
- 디렉터리를 무조건 삭제하려면
rm -r dir 또는 rm -rf dir를 사용해야 한다.
> 옵션
-p는 비어있는 디렉터리를 삭제하면서 부모 디렉터리가 비게 되는 경우 사용한다.
7. cp
- 파일이나 디렉터리를 복사하는 명령
cp [options] file1 file2
cp [options] files directory
- 마지막 인자가 디렉터리인 경우 여러 파일을 지정된 디렉터리에 같은 이름으로 복사한다.
cp -r [options] directory1 directory2
- 디렉터리를 재귀적으로 복사할 때
-r 옵션을 사용한다.
- 대상 디렉터리가 존재하는 경우, 그 곳에 디렉터리 자체가 복사된다.
8. mv
- 파일(또는 디렉터리)의 이름을 변경하는 명령 또는 다른 디렉터리로 이동하는 명령
mv [options] source target
- 파일 혹은 디렉터리 이름을 변경한다. 대상 파일이 존재한다면 덮어쓰기가 수행된다.
- 대상 디렉터리가 존재하면 서브 디렉터리로 이동된다.
- 마지막 인자가 존재하는 디렉터리인 경우, 여러 파일을 지정된 디렉터리로 이동한다.
9. rm
- 파일을 삭제하는 명령
- 기본적으로 파일만 삭제한다
> 옵션
-r 옵션은 디렉터리를 모두 삭제한다.
-i 옵션은 삭제 전에 물어본다.
-f 옵션은 물어보지 않고 무조건 삭제한다.
10. chmod
- 파일 소유자가 파일의 접근권한을 변경하는 명령이다.
chmod [options] mode files
-R 옵션을 디렉터리에 적용하면 포함된 모든 파일과 서브 디렉터리까지 권한을 변경한다.
11. umask
- 파일이나 디렉터리 접근권한의 기본값을 출력하거나 설정하는 명령
12. chown
- root 사용자가 파일이나 디렉터리의 소유자 또는 소유 그룹을 변경하는 명령
- 파일(또는 디렉터리)의 소유자는 파일을 생성한 사용자로, 소유 그룹은 그 사용자가 속한 그룹으로 기본 설정된다.
13. more
- 파일의 내용을 화면 단위로 출력하는 명령
- 한 화면을 보여주고 일단 멈춘다.
14. head
- 파일의 맨 앞 부분을 출력하는 명령(기본 10라인)
head [options] [files]
15. tail
- 파일의 마지막 부분을 출력하는 명령(기본 10라인)
tail [options] [files]
16. cat
- 하나의 파일 또는 여러 파일을 연결(concatenate)시켜 화면에 출력
cat [options] [files]
⚠️파일 접근권한
- 권한이 없는 사용자의 접근을 막기 위해 접근권한을 설정한다.
권한
- 읽기(r): 파일의 내용 보기
- 쓰기(w): 파일의 내용 수정과 삭제 또는 파일 이름 바꾸기
- 실행(x): 파일을 실행하기
⚠️디렉터리 접근권한
권한
- 읽기(r): 디렉터리가 가진 파일과 서브 디렉터리의 목록 보기
- 쓰기(w): 파일과 디렉터리를 만들거나 삭제하기
- 실행(x): 디렉터리로 이동하거나 디렉터리에서 프로그램을 실행하기 또는 파일의 메타 정보 보기
- 디렉터리를 자유롭게 사용하려면 읽기/쓰기/실행 권한 모두 가져야 한다.
- 적어도 읽기와 실행 권한을 가지고 있어야 해당 디렉터리로 이동하거나 해당 디렉터리에서
ls -l 명령을 수행할 수 있다.