파일과 디렉터
파일 시스템 탐색
파일시스템
- 운영체제가 디스크(파티션) 상에 파일을 구성하는 방식
- 리눅스는 1개의 트리 구조로 관리(1개의 루트 디렉터리만 있음)
ls 명령
- 파일과 서브 디렉터리 목록을 나열하는 명령
- ls [options] [names]
- ls directory : 디렉터리에 존재하는 파일과 서브 디렉터리 정보 출력
- ls file : 해당 파일의 정보를 출력
- 옵션
짧은 옵션 | 긴 옵션 | 설명 |
-a | --all | 점(.)으로 시작하는 숨긴 파일도 보여줌 |
-d | --directory | 디렉토리 자체에 대한 정보 |
-F | --classify | 우측에 파일의 종류를 알려주는 문자를 붙임. 실행 파일은 *, 디렉터리는 /, 심볼릭 링크는 @ |
-l | --format=long | 긴 포맷으로 결과를 보여줌 |
-R | --recursive | 재귀적으로 서브 디렉터리의 내용도 나열함 |
-S | --sort=size | 파일크기 순서로 결과를 보여줌 |
-t | --sort=time | 최종 수정 시간 순으로 보여줌 |
파일의 종류
- 정규파일 : 일반 파일. 실행파일, 텍스트, 이미지 등
- 디렉터리 : 디렉터리도 파일로 취급한다.
- 심볼릭 링크(소프트 링크) : 윈도우의 바로가기와 비슷하다.
- 장치파일 : 프린터, 키보드 등과 같은 장치를 파일로 취급한다.
명령어
file : 파일의 종류를 알려줌
pwd : 절대 경로로 현재 디렉터리를 알려줌
cd : 작업 디렉터리를 이동하는 명령
mkdir [options] directories : 디렉터리 생성
rmdir [options] directories : 비어있는 디렉터리 삭제
cp [options] file1 file2 : 파일 복사. file2가 이미 존재하는 파일이면 덮어쓰기 한다.
cp [options] files directory : 여러 파일을 디렉터리에 복사
cp -r [options] directory1 directory2 : 디렉터리를 재귀적으로 복사.
mv [options] source target : 파일이동. 파일이 있다면 덮어쓰기한다.
rm [options] files : 파일삭제.
파일의 접근권한
- 사용자 부류 : 소유자(u), 그룹(g), 기타(o)
- 읽기(r) : 파일 내용 읽기
- 쓰기(w) : 수정, 삭제, 이름변경
- 실행(x) : 실행
예시
소유자 | 그룹 | 기타 | ||||||
r | w | x | r | w | - | r | - | - |
-> 소유자는 읽기/쓰기/실행, 그룹은 읽기/쓰기, 기타사용자는 읽기만 가능하다
디렉터리의 접근권한
- 읽기(r) : 디렉터리가 가진 파일과 서브 디렉터리의 목록보기(ls)
- 쓰기(w) : 파일과 디렉터리를 만들거나 삭제
- 실행(x) : 디렉터리로 이동하거나 디렉터리에서 프로그램을 실행하기 또는 파일의 메타 정보 보기
* 디렉터리를 자유롭게 사용하려면 rwx권한을 가져야 한다.
chmod [options] mode files
파일 소유자가 접근권한을 변경하는 명령
8진수 mode
- 읽기 4, 쓰기 2, 실행 1
ex) rwxr-xr-x -> 111 101 101 -> 755
기호 mod
- ugoa (User Group Other All) : 생략하면 all
- +-= : 권한의 추가 삭제 지정을 의미
ex) chmod u+x file1
ex) chmod u=rwx,g=rx,o=x file2
umask [-S] [mask]
접근권한의 기본값을 출력하거나 설정한다. 보통 /etc/bashrc에 설정되어 있음
umask 002 라는 것은 -------w-
0은 가리지 않는다 2는 쓰기권한을 가린다.
즉 소유자와 그룹은 rwx권한 기타사용자는 r-x 권한을 가진다는 의미
chown [options] newowner files
root 사용자가 파일이나 디렉터리의 소유자를 변경하는 명령
ln [options] source [target]
기본적으로 하드링크를 만들며, -s옵션을 주면 심볼릭 링크가 만들어짐
하드링크 : 하나의 파일에 다른 이름을 부여함. 다른 시스템에 링크생성 불가
심벌릭링크 : 바로가기와 같은 독립적인 파일. 다른 시스템에 링크 생성 가능
파일의 내용 확인
more [options] [files] : 파일의 내용을 화면 단위로 출력. 스페이스를 누르면 다음 내용 표시. 이전으로 돌아갈 수 없음.
less : 화면단위로 표시하며, 페이지업/다운/위/아래 키로 스크롤 가능
head [options] [files] : 파일 맨 앞부분만 표시. [-숫자] 옵션으로 라인 수 변경
tail [options] [files] : 파일 마지막 부분만 표시. [-숫자] 옵션으로 라인 수 변경. [-f] 실시간으로 내용 감시
cat [options] [files] : 하나의 파일 또는 여러파일을 연결 시켜 화면에 출력