본문 바로가기

프로그래밍 기초/기초문법

리눅스 기초, 명령어

 

 

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