0.리눅스
https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4
- 오픈소스 유닉스 계열 운영 체제
- 오픈소스이기 때문에 프로그램 소스를 변경하여 재배포 가능. 다양한 배포판이 존재
(운영체제와 배포판, 커널에 대해서 정리한 글 https://seo-developer.tistory.com/67)
- 다중 사용자 및 다중 처리 시스템 ~ 하나의 시스템에 다수의 사용자가 동시 접속 및 멀티 테스킹 가능
1. 권한(퍼미션) ~ root
- 리눅스는 사용자 중심의 시스템으로 사용자 계정으로 접속 가능
- 모든 사용자마다 권한이 따로 존재
- root 는 시스템을 관리할 수 있는 최고 권한
- 리눅스 파일 체제의 최상위 디렉터리( / )
1-1. 권한 제어 명령어 (전제조건: 일반 사용자가 root 권한에 접근)
- 일반 사용자가 최고 권한을 획득하기 위한 명령어
- root 계정의 패스워드가 필요
1). su (Switch User)
- 현재 계정을 root 계정으로 전환
- 로그아웃 하지 않은 상태
1-1). su -
- 현재 계정을 root 계정으로 전환
- 로그아웃
2). sudo (SuperUser Do)
- 현재 계정을 유지하고 root 권한을 빌리기
su | su - | sudo |
로그아웃 하지 않고 계정전환 | 계정전환 해당 계정의 환경변수 적용 |
현재 계정 유지 해당 계정의 권한을 빌림 |
1-2. 계정확인 명령어
- # whoami : 현재 자신의 계정 확인
- # exit : == logout
2. 리눅스 명령어
ls (List Segmnets) |
현재 위치의 파일 목록 조회 | |
ls -l | 파일 조회 | |
ls -l | 파일 상세정보 조회 | |
ls -a | 숨김 파일 표시 | |
ls -t | 최신 생성시간순 조회 | |
ls -rt | 과거 생성시간순 조회 | |
ls -f | 마지막 유형에 나타내는 파일명을 끝에 표시 |
cd (Change directory) |
디렉터리를 변경 | |
cd | ||
cd [디렉터리] | 디렉터리 경로로 이동 | |
cd ~ | 홈 디렉터리 | |
cd / | 최상위 디렉터리 | |
cd . | 현재 디렉터리 | |
cd .. | 상위 디렉터리로 이동 | |
cd - | 이전 경로로 이동 |
pwd (Print Working Directory) |
현재 디렉터리 경로를 보여주기 | |
pwd |
cat (Catemate) |
파일의 내용 출력, 파일 만드는 명령 | |
cp (Copy) |
파일 복사 | |
cp [파일1] [파일2] | [파일1] 을 [파일2] 이름으로 복사 | |
cp -f [파일1] [파일2] | [파일1] 을 [파일2] 이름으로 복사 이름이 중복될 경우 강제로 진행 |
|
cp -r [디렉터리1] [디렉터리2] | 디렉터리 복사 폴더 안 모든 하위 경로 파일 복사 |
mv (Move) |
파일 이름 변경, 파일 위치 변경 | |
mv [파일1] [파일2] | 파일1을 파일2로 변경 | |
mv [파일1] /[디렉터리] | 파일1을 디렉터리로 이동 | |
mv [파일1] [파일2] /[디렉터리] | 여러 파일을 디렉터리로 이동 | |
mv /[디렉터리1] /[디렉터리2] (mv /home /newHome) |
디렉터리 이름을 디렉터리2로 변경 |
rm (Remove) |
파일 이름 변경, 파일 위치 변경 | |
rm [파일] | 파일 삭제 | |
rm -f [파일] | 파일 강제 삭제 | |
rm -r [디렉터리] | 디렉터리 삭제 (-r 옵션 필수) |
mkdir (Make dirctory) |
디렉터리 생성 | |
mkdir [디렉터리] | 디렉터리 생성 | |
mkdir [디렉터리1] [디렉터리2] | 한번에 여러 디렉터리 생성 | |
mkdir -p [디렉터리1]/[디렉터리2] | 디렉터리1, 하위 디렉터리2 생성 | |
mkdir -m 700 [디렉터리] | 특정 권한(퍼미션)을 갖는 디렉터리 생성 |
rmdir (Remove Directory) |
디렉터리 삭제 | |
rmdir [디렉터리] | 디렉터리 삭제 |
* 3 번 참고
chmod (Change Mode) |
파일 접근권한(퍼미션) 변경 | |
chmod [옵션] [모드] [파일 or 디렉터리] | 옵션 - R : 하위 디렉터리의 파일과 디렉터리 권한 변경 - v : 현재 실행중인 모든 파일 출력 - c : 실제 변경된 파일들 상세 출력 |
|
(문자열 모드) chmod [레퍼런스] [연산자] [모드] [파일 or 디렉터리] |
레퍼런스 - u : 사용자, 파일의 소유자 for owner - g : 그룹, 해당 파일의 그룹 맴버 for group - o : 다른 사람들, 해당 파일과 상관X for others - a : 모든 사용자 연산자 - + : 해당 권한 추가 - - : 해당 권한 제거 - = : 해당 권한을 지정한 권한으로 변경 모드 - r : 읽기 - w : 쓰기 - e : 실행 |
|
(8진법 모드) chmod [옵션] [8진법수] [파일 or 디렉터리] |
* 3 번 참고 |
예시 https://madplay.github.io/post/how-to-use-the-chmod-command-on-linux
# user 에게 test 파일에 대한 읽기, 쓰기 권한 부여
$ chmod u+rw test
# user 에게 test 파일에 대한 쓰기 권한만 부여
# group 에게 test 파일에 대한 읽기 권한 부여
$ chmod u=w, g+r test
# user 에게 읽기, 쓰기, 실행 권한 부여
# group, other에게 읽기, 실행 권한 부여
$ chmod 755 test
3. 권한 설정
- 순서대로 1. 소유자, 2. 소유 그룹, 3.일반 사용자
- 각각의 권한에는 r, w, x 값이 존재
- 모든 사용자의 모든 권한이 있는 경우 rwxrwxrwx, 반대로 모든 권한이 없는 경우 ---------
r (Read) |
디렉터리 내에 있는 파일에 대한 읽을 수 있는 권한 |
w (Write) |
디렉터리 내에 있는 파일에 대한 생성 및 삭제할 수 있는 권한 |
x (Execution) |
디렉터리 내에 있는 파일에 대한 이동 및 접근 권한 |
8진수 | 2진수 | 권한 | r | w | x |
0 | 000 | --- | X | X | X |
1 | 001 | --x | X | X | O |
2 | 010 | -w- | X | O | X |
3 | 011 | -wx | X | O | O |
4 | 100 | r-- | O | X | X |
5 | 101 | r-x | O | X | O |
6 | 110 | rw- | O | O | X |
7 | 111 | rwx | O | O | O |
- rwxrwxrwx === 777
'프로그래밍 기초 > 기초문법' 카테고리의 다른 글
JavaScript Event 이벤트 개념 및 종류 (0) | 2023.09.13 |
---|---|
Math 함수 (0) | 2023.09.11 |
커널, 배포판, 리눅스 커널 구조 (0) | 2023.09.04 |
splice (0) | 2023.08.23 |
map, reduce (0) | 2023.08.09 |