서버 운영자가 자주 사용하는 linux 명령어

진영민·2024년 3월 20일
0

잡다한 상식

목록 보기
22/22

인트로

최근에 누군가의 bash_history를 보게 되었다.
bash 명령어를 기록하는 파일인데, 신기하고 재미있는 명령어가 많아 나중에 사용하려는 목적으로 기록해두려고 한다.

기록하는 순서는 로그에 남은 순서이다.

vim

이거는 vim 이라는 문서 편집기를 여는 명령어이다.
간단하게만 서술해 보자면, i를 통해 해당 문서를 편집할 수 있고,
:w를 통해 저장하고, :q를 통해 파일에서 나갈 수 있다.
가볍게 터미널에서 문서를 확인할 때 주로 사용한다.

cd, ls

상당히 많이 쓰는 명령어이다.
특히 ls는 터미널에서 작업할때 거의 습관처럼 사용한다.
cd는 파일 디렉토리를 이동하는 명령어이다.
cd {폴더이름}을 통해 폴더에 들어갈 수 있고
cd ..을 통해 상위 폴더로 나갈 수 있다.
cd {절대경로}를 통해 원하는 위치로 한번에 이동할 수 있다.

ls는 현재 디렉토리의 폴더와 파일을 나타내는 명령어이다.
옵션을 추가하여 숨겨진 파일을 찾을 수 있고,
권한까지 확인해 볼 수 있다.

파일을 간편하게 볼 수 있는 방법 중 하나로
원하는 만큼만 볼 수 있다.
파일 용량이 큰 경우에 유용하다.

반대로 tail 명령어로 뒤에서부터 원하는 만큼만 확인해볼 수도 있다.

more, less

more는 파일을 간편하게 볼 수 있는 방법 중 하나로
파일을 읽어 화면 단위로 출력한다.
지나간 내용은 볼 수 없다.
head, tail과 유사한 계열이다.

less는 한번에 보여줄 수 있는 만큼만 보여준다.

cat

고양이가 아니라 concatenate에서 나온 단어이다.
이 또한 파일을 간단하게 볼 수 있는 명령어인데,
옵션이 많고 파일을 간편하게 만들거나 출력값을 저장하는 경우에 사용할 수 있다.

옵션이 상당히 다양하니 나중에 꼭 한번 사용해 봐야겠다.

ping

핑-퐁!
해당 네트워크 주소가 접근이 가능한지 확인하는 명령어이다.
ICMP 라는 특별한 프로토콜을 사용하며
$ping google.com
을 사용하여 네트워크가 살아있는지 간단하게 확인하는 방식으로 사용한다.

nslookup

DNS에 직접 쿼리하고 그 결과를 알려 주는 명령어이다.
$nslookup naver.com을 하면 여러 ip가 출력되는데,
브라우저는 네이버에 접속할 때 여러 ip 중 하나를 선택하여 접속한다.

ifconfig

interface configuration
네트워크 인터페이스를 확인할 수 있다.
private network에서 사용하는 ip나, 서브넷 마스크, gateway 등을 보여 준다.
docker container의 네트워크 주소도 보여 준다.

curl

client url이란 의미로, url을 사용하여 서버와 간단하게 통신할 수 있는 명령이다.
다양한 프로토콜을 사용하기도 하지만, http method도 사용할 수 있기 때문에 많이 사용한다.

netstat

네트워크 연결 상태, 라우팅 테이블 등을 보여 주는 명령어이다.
주로 -nltp 옵션을 붙여서 사용하며, 현재 사용하고 있는 포트와 해당 프로세스를 알려준다.
이후 kill 명령어를 통해 해당 프로세스를 죽일 수 있다.

주요 옵션으로는

-n : 호스트명, 포트명을 lookup하지 않고 그대로 IP, Port번호로 보여준다.
-a : 모든 네트웍 상태를 보여준다.
-l : LINTEN 상태인 서비스 포트를 보여준다.
-t : TCP 프로토콜만 보여준다.
-u : UDP 프로토콜만 보여준다.
-p : 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여준다.
-r : 라우팅 테이블 출력
-s : 프로토콜별(IP, ICMP, TCP, UDP 등)로 통계를 보여준다
-c : 1초 단위로 결과값을 연속적으로 보여준다.

가 있다.

openssl

네트워크 통신에 사용하는 ssl, tls의 오픈소스 구현판이다.

history

이전에 사용했던 명령어를 번호화 함께 출력해 준다.

uptime

리눅스 시스템이 실행되고 난 후 부터 지금까지의 시간과
시스템에 로그인 된 사용자 수 그리고 시스템 부하율을 표시하는 명령어이다.

ps

process status를 의미한다.
$ps -aux|grep ssh를 사용하면
ssh를 사용하는 프로세스를 볼 수 있다.

grep

이전까지 많이 사용해 본 적은 없지만 유용할 것 같은 명령어이다.
키워드를 찾아 원하는 내용만 출력해 준다.
$history|grep {키워드}를 통해 원하는 내용만 볼 수 있다.

du

해당 경로의 파일들의 크기를 나타낸다.
마지막 줄에 총 용량이 표시된다.

service

init 프로세스가 링크 파일들을 실행이나 종료하게 해 주는 명령어
하지만 systemd를 사용하는 OS 부터는 어차피 systemctl로 redirecting된다.

systemctl

service와 비슷한 역할을 하지만, init과는 병렬로 동작하는 systemd가 등장하면서 이를 조작하는 명령어.

journalctl

systemd의 서비스 로그를 확인할 수 있다.
로그를 확인하여 데몬 프로세스가 어떻게 동작했는지 확인할 수 있다.

type

뒤에 명령어를 같이 입력하면 해당 명령에 대한 정보를 알려준다.
해당 명령어가 어느 파일에 저장되어 있는지 확인할 수 있다.

man

manual
설명서 페이지를 확인할 수 있다.
뒤에 원하는 명령어를 같이 쓰면 된다.

find

리눅스 파일 시스템에서 파일을 검색하는데 사용한다.

snap

ubuntu에서 지원하는 패키지 관리 툴.
apt처럼 패키지를 검색하고 설치할 수 있다.

profile
코린이

0개의 댓글