리눅스 명령어

RHUK2·2021년 11월 24일
1

Linux

목록 보기
2/4

📢 22/05/20 복습


📚 Reference


IT Serial, https://it-serial.tistory.com/64
Tonic, https://devlog.jwgo.kr/2019/04/11/apt-vs-apt-get/
어쩐지 오늘은, https://zzsza.github.io/development/2018/07/18/linux-top/

참고 사이트에 내용을 개인적으로 복습하기 편하도록 재구성한 글입니다.
자세한 설명은 참고 사이트를 살펴보시기 바랍니다.


자주 사용하는 리눅스 명령어


echo

문자열을 컴퓨터 터미널에 출력하는 명령어이다.

$ echo this is linux # "this is linux" 출력
$ echo $HOME # 환경 변수 데이터 출력

pwd

현재 위치한 디렉토리 정보를 출력해준다.

$ pwd

cd

경로 이동 시 사용된다.

$ cd .. # 상위 폴더로 이동
$ cd <절대 경로> # 절대 경로로 이동
$ cd <상대 경로> # 상대 경로로 이동

ls

현재 디렉토리의 목록을 확인할 때 사용된다.

$ ls # 현재 디렉토리 목록 출력
$ ls -a # 현재 디렉토리의 숨겨진 목록까지 출력
$ ls -l # 현재 디렉토리 목록을 자세한 정보와 함께 출력

cp

폴더 및 파일을 복사할 때 사용된다.

$ cp <복사가 필요한 파일명> <복사된 파일명>
$ cp -r <복사가 필요한 폴더명> <복사된 폴더명>

mv

폴더 및 파일의 이름을 변경할 때 사용된다.
폴더 및 파일을 이동시킬 때 사용된다.

$ mv <변경이 필요한 파일 및 폴더명> <바꾸고 싶은 파일 및 폴더명>
$ mv <이동이 필요한 파일 및 폴더명> <목적지 폴더명>
$ mv -v # 진행사항 출력

touch

파일을 생성할 때 사용한다.

$ touch <파일명>

mkdir

폴더를 생성할 때 사용한다.

$ mkdir <폴더명>

rm

파일 및 폴더를 삭제할 때 사용된다.

$ rm # 파일 삭제
$ rm -r # 폴더 삭제
$ rm -rf # 폴더 강제 삭제

cat

파일을 열어 내용을 확인할 때 사용한다.

$ cat <파일명>
$ cat <파일명> | more # 파일 내용이 길 경우 화면을 내려가면서 확인할 수 있다.
$ cat test1.txt test2.txt > test3.txt # 파일들을 합쳐 새로운 파일을 만든다.
$ cat test1.txt >> test2.txt # test2.txt 파일 뒤에 test1.txt 내용을 덧붙인다.

파일을 열어 앞 줄의 내용을 확인하고 싶을 때 사용한다.

$ head -n <파일명> # 파일의 맨 앞부터 n줄을 보여준다.

tail

파일을 열어 뒷 줄의 내용을 확인하고 싶을 때 사용한다.

$ tail -n <파일명> # 파일의 맨 뒤부터 n줄을 보여준다.

sed

파일을 열어 일정 범위의 내용을 확인하고 싶을 때 사용한다.

$ sed -n '20, 30p' test.txt # 20줄에서 30줄까지 출력
$ sed -n '20, \$p' test.txt # 20줄부터 마지막까지 출력

clear

더러워진 콘솔 창을 정리할 때 사용한다.

$ clear

grep

정규표현식의 패턴 매칭 방식으로 특정 문자열을 찾아주는 명령어다.
다중 명령어인 버티컬바 |와 자주 사용된다.

$ cat test.txt | grep <string> # test.txt 파일 내용을 열고 <string>을 찾는다.
$ cat test.txt | grep -i <string> # 대소문자 구분을 하지 않고 찾는다.
$ cat test.txt | grep -n <string> # 라인 번호를 출력한다.
$ cat test.txt | grep -v <string> # 입력한 패턴이 포함되지 않은 문자열을 출력한다.

alias

자주 사용하는 명령에 별명을 붙여서 편하게 사용할 때 사용한다.

$ alias # 별명 리스트 출력
$ alias <별명>='명령' # 별명을 가진 명령 생성
$ unalias <별명> # 명령 삭제

curl

웹에 요청을 보낼 때 사용하는 명령어로 나는 "call URL"로 외웠다.

$ curl <url>

ps

프로세스 목록과 상태를 확인할 때 사용하는 명령어이다.
커널 프로세스를 제외한 모든 목록을 보여주는 -e 옵션과 풀 포맷으로 보여주는 -f 옵션을 주로 같이 사용한다.

$ ps -ef

top

프로세스 목록과 상태를 확인할 때 사용하는 명령어이다.
-n <숫자> 옵션을 통해 상태 기록 인터벌을 설정한다. -b 옵션으로 인터벌마다 변경되는 기록을 화면에 기록한다.

$ top -b -n 1

netstat

네트워크 목록과 상태를 확인할 때 사용하는 명령어이다.
리눅스에 net-tools가 설치되어 있어야 한다.
-n은 포트 넘버, -t는 tcp, -l은 리스닝 상태, -p는 PID를 나타내는 옵션이다.

$ netstat -ntlp

lsof

열려있는 모든 파일과, 그 파일들을 열고 있는 프로세스들의 목록을 출력한다.

$ lsof -t # PID 출력
$ lsof -i # PORT 출력
$ lsof -i:<number> # 해당 number PORT 출력

kill

실행 중인 프로세스를 강제 종료할 때 사용된다.

$ kill -9 <PID>

apt

APT는 "Advanced Packaging Tool"의 약자로 우분투와 같은 리눅스 배포판의 시초인 데비안의 패키지 시스템을 일컫는 말이다. 이 APT를 준수해 패키지를 설치하고 제거하는 등의 용도로 만들어진 툴들이 apt-get, apt-cache 등이 있다. 이러한 툴들에는 너무 많은 기능을 포함하고 있어 자주 사용하는 기능만 뽑아내고 터미널 설명의 가독성을 부여한 도구가 apt이다. 특별한 경우가 아니면 apt를 쓴다.

$ apt update
$ apt upgrade
$ apt install
$ apt uninstall

gunzip

gzip(.gz)의 확장자를 가진 파일의 압축을 해제할 때 사용한다.

$ gunzip test.gz

gzip

하나의 파일을 압축할 때 사용한다.

$ gzip <파일명>

tar

하나 이상의 파일을 압축하거나 압축을 풀 때 사용한다.

$ tar -zxvf test.tar.gz # 압축 해제
$ tar -zcvf output.tar.gz <파일명1> <파일명2> ... # 파일 압축
$ tar -zcvf output.tar.gz <폴더명> # 폴더 압축

# -z archive with gzip : gzip과 함께 사용할 때 
# -x extract : 압축 해제 
# -c create new archive : 새로운 압축을 만들 때  
# -v verbose : 진행과정을 화면에 출력 
# -f read from or write to file : 파일을 읽거나 쓸 때 

리눅스 다중 명령어


세미콜론( ; )

앞의 명령어의 성공여부와 상관없이, 단순하게 앞의 명령어부터 차례대로 실행한다.

$ mkdir test; cd test; # test 폴더 생성 후 test 폴더로 이동

버티컬바( | )

앞의 명령어의 실행결과를 뒤의 명령어로 넘겨준다.

$ ls -a | grep test # 현재 폴더의 목록 정보를 넘겨주고 grep 명령어로 test 문자를 탐색한다.

더블 버티컬바( || )

앞의 명령어가 성공하면 뒤의 명령어를 실행하지 않고, 실패하면 뒤의 명령어를 실행한다.

$ rm test.txt || sudo rm test.txt # 권한 문제로 삭제에 실패하면, root 권한으로 삭제한다.

엠퍼센트( & )

앞의 명령어를 백그라운드에서 실행한 후 즉시 뒤의 명령어를 실행한다.

$ mkdir test & cd test # test 폴더 이동을 백그라운드로 실행하면서 폴더가 생기기도 전에 test로 이동하려고 해서 실패한다.

더블 엠퍼센트( && )

앞의 명령어가 성공하면 뒤의 명령어를 실행하고, 실패하면 뒤의 명령어를 실행하지 않는다.

sudo apt update && sudo apt upgrade -y # 패키지 업데이트의 성공하면 패키지를 업그레이드한다.
profile
생각 많이 하지 않기 😎

0개의 댓글