운영체제 리눅스는 프로그래머가 떼려야 뗄 수 없는 필수 운영체제입니다. 여기에 리눅스에서 자주 쓰면서 유용한 명령어들을 모아봤습니다.
Basic Information
OS 정보 확인
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
모든 사용자 확인
$ cut -d: -f1 /etc/passwd
$ cat /etc/passwd
파일 읽기
cat
파일내용 전체 출력
cat filename.txt
less
파일내용을 다양한 옵션을 이용하여 출력 및 검색 함(개인적으로 자주 사용)
less -NM filename.txt
-N
행넘버 출력-M
현재 위치와 파일 크기 출력
1 <?xml version='1.0' encoding='UTF-8'?>
2
3 <domain xmlns="urn:jboss:domain:16.0">
4 <extensions>
5 <extension module="org.jboss.as.clustering.infinispan"/>
6 <extension module="org.jboss.as.clustering.jgroups"/>
...중략...
domain-ec2.xml lines 1-43/2130 2%
/
사용하여 검색Space
,b
다음/이전 페이지 이동g
,G
파일의 처음, 끝으로 이동q
종료
head
파일의 첫 부분을 출력
head -n 5 filename.txt
- 파일 첫 5줄을 출력 함
tail
파일의 마지막 부분을 출력
tail -n 5 filename.txt
- 파일 마지막 5 줄을 출력함
tail -f filename.txt
- 실시간 파일내용을 출력(로그 모니터링 시 사용)
Monitoring
top
실시간 CPU, MEMORY 상태 확인
$ top
top - 06:28:43 up 52 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 110 total, 1 running, 109 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
MiB Mem : 964.7 total, 152.8 free, 210.8 used, 601.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 610.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
203 root 0 -20 0 0 0 I 0.3 0.0 0:00.63 kworker/1:1H-kblockd
672 root 20 0 241036 9396 8448 S 0.3 1.0 0:00.92 accounts-daemon
1 root 20 0 171324 12840 8472 S 0.0 1.3 0:03.80 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
df
파일 시스템 디스크 사용량과 가용 공간 확인
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 466M 0 466M 0% /dev
tmpfs 97M 972K 96M 1% /run
/dev/sda1 39G 1.7G 38G 5% /
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/loop0 64M 64M 0 100% /snap/core20/1974
/dev/loop2 54M 54M 0 100% /snap/snapd/19457
/dev/loop1 92M 92M 0 100% /snap/lxd/24061
vagrant 233G 20G 213G 9% /vagrant
tmpfs 97M 0 97M 0% /run/user/1000
-h
는 human-readable의 약자로 읽기쉬운 형태로 표시
free
메모리 사용량 체크
$ free -h
total used free shared buff/cache available
Mem: 964Mi 210Mi 151Mi 0.0Ki 602Mi 610Mi
Swap: 0B 0B 0B
screenfetch
시스템 모든 정보를 종합해서 출력하는 도구
$ screenfetch
./+o+- vagrant@nginx-server
yyyyy- -yyyyyy+ OS: Ubuntu 20.04 focal
://+//////-yyyyyyo Kernel: x86_64 Linux 5.4.0-153-generic
.++ .:/++++++/-.+sss/` Uptime: 1h 12m
.:++o: /++++++++/:--:/- Packages: 621
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.0.17
.:+o:+o/. `+sssoo+/ Disk: 22G / 273G (8%)
.++/+:+oo+o:` /sssooo. CPU: Intel Core i7-9700K @ 2x 3.6GHz
/+++//+:`oo+o /::--:. GPU: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
\+/+o+++`o++o ++////. RAM: 360MiB / 964MiB
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
Networking
nslookup
DNS 정보 확인
$ nslookup naver.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: naver.com
Address: 223.130.200.104
Name: naver.com
Address: 223.130.195.95
Name: naver.com
Address: 223.130.195.200
Name: naver.com
Address: 223.130.200.107
curl
서버통신용 CLI 도구로서 필자는 포트 오픈 확인용도로 주로 사용
$ curl -v naver.com 80
* Trying 223.130.195.95:80...
* TCP_NODELAY set
* Connected to naver.com (223.130.195.95) port 80 (#0)
> GET / HTTP/1.1
> Host: naver.com
> User-Agent: curl/7.68.0
> Accept: */*
Others
jq
json 데이터를 이쁘게 출력시켜주는 도구
$ cat test.json
{"name": "choi", "age": "30", "address": "Seoul, South Korea"}
cat test.json | jq
{
"name": "choi",
"age": "30",
"address": "Seoul, South Korea"
}
!!
!! 명령은 전에 실행한 명령을 실행한다. sudo !!
를 입력하면 sudo를 빼고 입력했던 명령이 sudo가 더해져 실행된다.
$ apt-get install -y nginx
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
Oopppppppppps 😱
$ sudo !!
sudo apt-get install -y nginx
Reading package lists... Done
Update는 계속됩니다 😎
반응형
'OS' 카테고리의 다른 글
Linux / Redhat - 방화벽(firewall) 포트 목록 조회, 추가 (0) | 2023.06.30 |
---|---|
Chocolatey, 윈도우 패키지 매니저! 이제 윈도우에서도 apt, brew 처럼 쉽게 패키지를 관리하자 (0) | 2023.04.17 |
Windows에서 bat파일로 FatJar 실행 및 중지하기 (0) | 2022.08.19 |
MacOS - JAVA_HOME 환경설정 추가 및 JDK 버전 변경( zsh, bash 구분 ) (0) | 2022.01.04 |