CLI 명령어
Directory
-
pwd : print working directory
-
cd : change directory
☞ / : 최상위 directory (루트 directory) ex) cd /
☞ ~ : 홈 directory (/C:/Users/계정명)
☞ .. : 이전 directory
☞ . : 현재 directory -
mkdir : make directory
-
rmdir : remove directory
-
ls : 해당 directory에 있는 파일 list
☞ -a : 모든 파일 보기(숨김파일 포함) (all) ex) ls -a
☞ -l : 파일정보를 상세하게 보여주는 리스트(long)
☞ -r : 역순 정렬(reverse)
☞ -t : 파일 수정시간순 정렬(time) ex) ls -rt : 수정시간 역순정렬
☞ -d 폴더명 : 선택한 폴더의 정보 출력 -
mv : directory&File 이름바꾸기 ex) mv abc abc2 [directory 이름변경], mv abc.txt def.txt [File 이름변경]
directory&File 이동 ex) mv abc.txt abc3 [abc.txt를 abc3 폴더로 이동]
☞ -i : 폴더안에 해당이름의 파일이 이미 존재할 시 한번더 확인함(interactive)
File
-
touch : empty 파일 만들기 ex) touch abc.txt
☞ .filename : 숨긴파일로 만들기 ex) touch .abc.txt -
cp : copy&paste, 해당폴더의 directory&File 복사 ex) cp abc.txt abc2.txt [abc.txt를 복사해 abc2.txt 생성]
☞ -r : 디렉토리 삭제시 사용(recursive)
☞ -i : 폴더안에 해당이름의 파일이 이미 존재할 시 한번더 확인함(interactive) - rm : remove file
☞ -r : 해당 디렉토리의 모든 디렉토리/파일까지 삭제, 디렉토리 삭제시 사용(recursive)
☞ -i : 폴더안에 해당이름의 파일이 이미 존재할 시 한번더 확인함(interactive)
☞ -f : 강제시행(force)$ rm -rf /tmp/test
- grep : 파일 내용 찾기
$ grep linux abc.txt
→ linux라는 내용을 abc.txt에서 찾아서 그 단어가 있는 행만 출력
- 파이프라인을 사용해 앞 명령어에서 찾고자 하는 단어만 출력시킬 수 있음
$ ls --help | grep sort
→ ls 명령어 도움말에서 sort라는 단어가 있는 행만 출력
5. cat : 파일 내용 출력(concatenate) ex) cat abc.txt
☞ -n : 라인수와 같이 출력
6. tail : 파일 내용을 뒤에서부터 출력
☞ -f : 실시간으로 로그출력 (follow)
<파일내용 열람시 단축키>
↑ : 위로 한줄
↓ : 아래로 한줄
space bar : 아래로 한페이지
b : 위로 한페이지
g : 맨 처음으로
G : 맨 끝으로
q : 열람끝내기
7. find : 파일 검색 -> find [option] [path…] [word]
(1) 현재 디렉토리에서 이름으로 파일&디렉토리 찾기
ex) find . -name *.log : 현재디렉토리(.)에서 부터 확장자가 log인 모든 파일을 찾음
ex) find / -type d-name abc : 루트디렉토리(/)에서 부터 이름이 abc인 디렉토리를 찾음
8. whereis : 실행파일, 소스, 메뉴얼 파일 위치 출력 ex) whereis ls
사용자
-
sudo : 슈퍼유저의 권한 사용
-
chmod : 파일에 대한 권한 변경
(1) 권한 확인 (폴더여부(d), user, group, other 순)
$ ls -al mydirectory
drwxr-xr-x 1 europani 197121 0 8월 6 13:23 ./
drwxr-xr-x 1 europani 197121 0 8월 6 13:23 ../
drwxr-xr-x 1 europani 197121 0 8월 6 13:23 bin/
-rwxr-xr-x 1 europani 197121 0 8월 6 13:23 note.txt
→ d: 폴더
→ rwx : user 권한 (읽기, 쓰기, 실행)
→ r-x : group 권한 (읽기, 실행)
→ r-x : other 권한 (읽기, 실행)
(2) 권한 변경
+ : 권한부여
- : 권한해제
$ chmod ug+rw o-r myfile
→ user, group에게 myfile의 읽기, 쓰기 권한부여
→ other에게 myfile의 읽기 권한해제
(3). 8진수 권한부여
- 4 : 읽기(r), 2 : 쓰기(w), 1 : 실행(x)
$ chmod 753 myfile
→ user : 4 + 2 + 1 = 7 -> 읽기, 쓰기, 실행 권한부여
→ group : 4 + 1 = 5 -> 읽기, 실행 권한부여
→ other : 2 + 1 = 3 -> 쓰기, 실행 권한부여
2. chown : 파일 소유자 변경 ex) chown europani myfile
3. chgrp : 파일 그룹 변경 ex) chgrp dev myfile
프로세스
-
ps : 실행중인 프로세스 출력 ex) ps -ef | grep python
☞ -e : 커널 프로세스를 제외한 모든 프로세스
☞ -f : 모든 정보 (full listing) -
top : 실행중인 프로세스 출력(표형태)
-
jobs : 작업목록 출력
-
kill : 실행중인 프로세스 종료(PID 사용) ex) kill -9 14604
☞ -9 : 강제종료
☞ -15 : 정상종료 -
pkill : 실행중인 프로세스 종료(프로세스명 사용) ex) pkill ping
Shell
- chsh : 기본 쉘 바꾸기
- /etc/shells 에 올라와 있는 쉘만 변경 가능
$ vi /etc/shells # 변경 가능한 쉘 리스트 보기
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
/bin/zsh
$ echo $SHELL # 기본쉘 확인
/bin/bash
$ which zsh # zsh 경로확인
/bin/zsh
$ chsh -s `which zsh` # zsh로 기본쉘 변경
File System
-
df : 파일시스템(디스크) 용량 체크 [Disk Free]
☞ -h: 용량 큰 단위로 출력(Byte -> GB,TB) -
du : 특정 파일시스템의 사용중인 용량 체크 [Disk Used]
☞ -h: 용량 큰 단위로 출력(Byte -> GB,TB)$ du -h /data
기타
- history : 커맨드 내역확인 ex) history
- !history넘버 : 히스토리의 번호를 사용하여 이전 커맨드 사용 ex) !871
- man : 커맨드의 공식 메뉴얼 ex) man pwd
- help : 도움말 ex) help pwd = pwd --help
- nano : text editor 열림
- clear : 화면 clear
- exit : 창 종료
Shell 단축키
- Ctrl + A : 커서를 라인 맨 앞으로 이동
-
Ctrl + E : 커서를 라인 맨 뒤로 이동
- Ctrl + W : 단어 삭제
- Ctrl + U : 커서 이전 삭제
- Ctrl + K : 커서 이후 삭제