Linux, 명령어

이도현·2023년 8월 10일
0
post-thumbnail

1. 쉘(shell)

  • 사용자와 운영체제를 연결해주는 프로그램(사용자가 입력한 명령을 실행
  • Windows의 cmd.exe, powershell.exe에 해당
  • 리눅스에서는 터미널을 통해 제공 Ctrl + Shift + T

2. date 명령어

  • 현재 날짜 확인 및 설정
$ date
$ sudo date -s "2020-08-01 09:00:00"

3. hostname 명령어

  • 호스트의 이름 확인 및 변경

4. ls 명령어

  • list
  • 지정한 디렉토리/파일의 정보를 보여줌
  • ls <디렉토리>| <파일명> ..
  • 옵션

    -a : 히든 파일을 포함해 모두 출력
    -l : 긴 포맷으로 출력
    -al : -a, -l을 같이 지정

$ ls -al
drwxr-xr-x 2 pi pi 4096 825 14:03 .
drwxr-xr-x 5 pi pi 4096 825 14:03 ..
-rw-r--r-- 1 pi pi 0 825 14:00 .hidden.txt
-rw-r--r-- 1 pi pi 0 825 13:39 read.txt

4. passwd 명령어

$ passwd # 자신의 비밀번호 변경
$ sudo passwd <사용자 id> # 사용자 id의 비밀번호 변경

5. 파일 및 디렉토리

6. Home 디렉토리 :/home/<사용자 id>

1) Home 디렉토리: /home/<사용자 id>

  • 사용자 소유의 최상위 디렉토리
  • 이 디렉토리에 대해서 모든 권한을 가짐

2) $HOME 환경 변수 자동 설정

$ cd $HOME
$ cd ~
$ cd

7. pwd 명령어

  • print working directory
  • wd: 현재 작업을 수행하고 있는 디렉토리
  • cd 명령으로 변경됨
$ pwd
/home/pi

8. midir/ rmdir

$ mkdir test
$ rmdir test

9. touch 명령어

  • 파일이 최근 접근 시간을 현재 시간으로 수정
  • 파일이 존재하지 않으면 새로 생성
$ cd ~
$ mkdir webapps
$ cd webapps
$ mkdir ch02
$ cd ch02
$ touch read.txt

10. cat 명령어

  • 지정한 파일들을 연결하여 하나으 ㅣ내용으로 출력
  • 파일의 내용 확인용으로 사용
$ cd ~
$ cat .bashrc # .bashrc의 내용 출력
$ cat a.txt b.txt # a.txt, b.txt.의 내용을 출력
$ cat a.txt b.txt > c.txt # a.txt, b.txt.의 내용을 c.txt로 저장
$ cat a.txt b.txt >> c.txt # a.txt, b.txt의 내용을 c.txt의 끝에 추가

11. head 명령어

  • 지정한 파일으 ㅣ앞 부분 출력
  • -n: n 줄만 출력(생략 시 디폴트 10줄)

$ head -5 .bahsrc

12. tail 명령어

  • 지정한 파일의 뒷 부분 출력
  • -n: n 줄만 출력(생략 시 디폴트 10줄)

$ tail -5 .bahsrc

13. cp 명령어(copy)

  • 파일을 복사 해주는 명령어
  • cp <복사할 대상> <복사할 위치>: 여러 개의 대상 지정 가능
  • cp <복사할 대상> <복사할 위치/파일명>: 새로운 파일명으로 파일을 복사

14. mv 명령어(move)

  • 파일을 이동하는 명령
  • mv <파일명> <이동할 위치>: 여러 개의 파일 지정 가능
  • mv<파일명> <새로운 파일명>

15. rm 명령어(remove)

  • rm <파일명> …
  • rm -r <디렉토리> …

16. which 명령어

  • 실행 명령어의 위치를 찾아 줌

$ which python3

17. whereis 명령

  • 실행파일, 소스파일 등의 위치를 찾아 줌

18. 권한


1) 파일 종류

    • : 일반 파일
  • d: 디렉토리
  • l : 심벌링 링크
  • b: 블록형 디바이스 파일
  • c: 문자형 디바이스 파일

2) 소유자, 그룹, 다른 사람에 대해서 지정

3) 각 권한은 읽기, 쓰기, 실행 (r , w, x) 권한으로 구성

  • 해당 권한이 없는 경우 (-)
  • 8진수로 표현 가능
  • 디렉토리의 실행 권한은 탐색 권한을 의미

→ cd 명령으로 디렉토리 이동 허용 여부

19. chmod 명령어(change mode)

  • 파일의 권한 설정을 변경
  • 지정 파일의 소유자, root 만 가능
chmod <수정번호> <파일>

$ chmod 755 read.txt # rwxr-xr-x
$ chmod 751 read.txt # rwxr-xr--

$ chmod +w read.txt # 쓰기 권한 추가
$ chmod -w read.txt # 쓰기 권한 제거

$ chmod u+x a.out # 소유자만 실행 권한 추가(u, g, o)

$ sudo chmod 755 read.txt # rwxr-xr-x

20. chown 명령어(change owner)

  • 파일의 소유권을 다른 사용자로 이전
  • root만 사용 가능
  • chown <소유자>:<소유그룹> <파일명 or 디렉토리명>
$ sudo chown root:pi file1.txt

21. IO 리다이렉션(Redirection)

1) 모든 프로세스는 표준 입력장치, 출력장치, 에러 출력장치를 가짐

  • 표준 입력장치: 키보드
  • 표준 출력장치, 에러 출력장치: 모니터

2) IO 리다이렉션

  • 표준 입/출력 장치를 다른 장치로 변경
  • <: 입력장치 리다이렉션
  • , >> : 출력장치 리다이렉션

$ ls -l > file_list.txt

  • 2>, 2>> : 에러 출력 장치 리다이렉션

22. 파일 아카이브/압축, 압축해제

  • 파일 아카이브
$ mkdir aaa

$ tar -cvf aaa.tar aaa # aaa 디렉토리를 aaa.tar로 아카이브
  • 파일 아카이브 해제
$ tar -xvf aaa.tar
  • 파일 압축
$ mkdir ccc

$ tar -zcvf ccc.tar.gz ccc
  • 파일 압축 해제
$ tar -zxvf ccc.tar.gz
profile
좋은 지식 나누어요

0개의 댓글