컴퓨터공학 공부 다시 시작하기 16주차 - 리눅스 파일 시스템과 쉘 이해하기, 리눅스 파일 기본 명령어 이해하기, 리눅스 파일 권한 설정 명령어 이해하기
리눅스 파일 시스템과 쉘 이해하기
리눅스와 파일
- 모든 인터렉션은 파일을 읽고 쓰는 것처럼 이루어져 있음
-> 마우스, 키보드와 같은 디바이스 관련된 기술도 파일과 같이 다루어짐
- 파일 네임스페이스로는 A 드라이브(A:/)나 C 드라이브(C:/windows)가 아닌, 전역 네임스페이스 사용
-> 예시: /media/floofy/dave.jpg
쉘(shell)
- 사용자와 컴퓨터 하드웨어 또는 운영체제 간 인터페이스
- 사용자의 명령을 해석해서 커널에 명령을 요청해주는 역할
- 관련 시스템콜을 사용하여 프로그래밍이 작성되어 있음
쉘 종류
- Bourne-AgainShell (bash): GNU 프로젝트의 일환으로 개발되었으며, 리눅스 기반
- Bourne Shell (sh)
- C Shell (csh)
- Korn Shell (ksh): 유닉스에서 가장 많이 사용됨
리눅스 기본 명령어(쉘이 제공)
- whoami: 로그인한 사용자 ID를 알려줌
# whoami
root
- sudo 명령어: root 권한으로 실행
-> 사용예시: sudo apt-get update
리눅스 파일 기본 명령어 이해하기
- pwd: 현재 디렉토리 위치
# pwd
/
- cd: 디렉토리 이동
# pwd
/etc
# cd ~
# pwd
/root
#cd -
# pwd
/etc
- ls: 파일 목록 출력
# ls -al
drwx------ 1 root root 4096 Oct 8 15:27 .
drwxr-xr-x 1 root root 4096 Oct 8 07:35 ..
-rw-r--r-- 1 root root 32 Oct 8 15:27 test.sh
리눅스 파일 권한 설정 명령어 이해하기
리눅스와 권한
- 사용자/그룹으로 권한을 관리
- root는 슈퍼관리자
- 파일마다 소유자/소유자 그룹/모든 사용자에 대해 읽고 쓰고 실행하는 권한을 각각 관리
ls와 파일 권한
사용자
- 소유자: 소유자에 대한 권한
- 그룹: 소유자가 속해 있는 그룹에 대한 권한
- 공개: 모든 사용자들에 대한 권한
퍼미션 종류(권한 기호)
- r: 읽기 권한
- w: 쓰기 권한
- x: 실행 권한
파일 권한 설정 명령어
chmod: 파일 권한 변경
- 주로 사용하는 옵션: chmod -R 777 directory
- 숫자를 사용하는 방법
rwxrwxrwx = 777
r-xr-xr-x = 555
r-------- = 400
rwx------ = 700
chmod 400 mysecurity.pem
cat: 파일 보기
# cat mysql.cnf
mysql.cnf 파일의 내용
rm: 파일 및 폴더 삭제
- 주로 사용하는 옵션: rm -rf 디렉토리명
- r 옵션: 하위 디렉토리를 포함한 모든 파일 삭제
- f 옵션: 강제로 파일이나 디렉토리 삭제
- 예시: 현재 디렉토리에서 mysql.cnf 파일을 삭제
# rm mysql.cnf