이 기사에서는 리눅스 또는 유닉스 명령어 중 유용하고 자주 사용되는 몇 가지를 검토하겠습니다. 리눅스 시스템 관리자들이 일상적으로 사용하는 명령어입니다.
이 목록은 완벽하지는 않지만 필요할 때 참고할 수 있는 명령어의 압축된 목록입니다. 이 명령어들을 어떻게 사용하는지 예제와 함께 하나씩 살펴보겠습니다.
1. Uptime 명령어
리눅스에서 uptime 명령어는 시스템이 작동하는 시간과 현재 로그인한 사용자 수를 보여주며 시스템의 부하 평균을 1, 5, 및 15분 간격으로 표시합니다.
# uptime 08:16:26 up 22 min, 1 user, load average: 0.00, 0.03, 0.22
Uptime 버전 확인
Uptime 명령에는 uptime과 version 이외의 옵션이 없습니다. 하루가 되지 않는 경우 정보는 시간:분:초로만 표시됩니다.1일 미만입니다.
# uptime -V procps version 3.2.8
2. W 명령어
w 명령어은 현재 로그인된 사용자와 그들의 프로세스를 표시하며 로드 평균값, 로그인 이름, tty 이름, 원격 호스트, 로그인 시간, 유휴 시간, JCPU, PCPU, 명령어 및 프로세스를 보여줍니다.
# w 08:27:44 up 34 min, 1 user, load average: 0.00, 0.00, 0.08 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tecmint pts/0 192.168.50.1 07:59 0.00s 0.29s 0.09s w
사용 가능한 옵션
- -h : 헤더 항목을 표시하지 않습니다.
- -s : JCPU와 PCPU를 표시하지 않습니다.
- -f : 필드에서 삭제합니다.
- -V : (대문자) – 버전을 표시합니다.
3. 사용자 명령
사용자 명령은 현재 로그인된 사용자를 표시합니다. 이 명령에는 도움말과 버전을 제외한 다른 매개변수가 없습니다.
# users tecmint
4. Who 명령
who 명령어은 간단히 사용자 이름, 날짜, 시간, 및 호스트 정보를 반환합니다. who 명령어는 w 명령어와 유사합니다. w 명령어와 달리 who는 사용자가 무엇을 하는지를 출력하지 않습니다. who와 w 명령어의 차이를 설명하고 비교해 보겠습니다.
# who tecmint pts/0 2012-09-18 07:59 (192.168.50.1)
# w 08:43:58 up 50 min, 1 user, load average: 0.64, 0.18, 0.06 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tecmint pts/0 192.168.50.1 07:59 0.00s 0.43s 0.10s w
Who 명령어 옵션
- -b: 마지막 시스템 재부팅 날짜와 시간을 표시합니다.
- -r: 현재 실행 중인 런렛을 보여줍니다.
- -a, –all: 모든 정보를 누적하여 표시합니다.
5. whoami 명령어
리눅스에서 whoami 명령어는 현재 로그인한 사용자 이름을 출력하는 데 사용됩니다. sudo 명령어를 사용하여 루트로 로그인하면 “whoami” 명령어는 root를 현재 사용자로 반환합니다.
# whoami tecmint
6. ls 명령어
ls 명령어는 사람이 읽기 쉬운 형식으로 파일 목록을 표시합니다.
# ls -l total 114 dr-xr-xr-x. 2 root root 4096 Sep 18 08:46 bin dr-xr-xr-x. 5 root root 1024 Sep 8 15:49 boot
마지막으로 수정된 시간에 따라 파일을 정렬합니다.
# ls -ltr total 40 -rw-r--r--. 1 root root 6546 Sep 17 18:42 install.log.syslog -rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log -rw-------. 1 root root 1003 Sep 17 18:45 anaconda-ks.cfg
더 많은 ls 명령어의 예제는 다음 기사를 확인하세요:
7. Crontab 명령어
현재 사용자의 일정 작업을 crontab 명령어와 -l
옵션으로 나열합니다.
# crontab -l 00 10 * * * /bin/ls >/ls.txt
crontab을 -e
옵션으로 편집합니다. 아래의 예시에서는 VI 에디터에서 일정 작업을 열어 필요한 변경을 수행한 후 :wq
키를 눌러 설정을 자동으로 저장하고 종료합니다.
# crontab -e
Linux Cron Command에 대한 더 많은 예시는 이전 기사를 참조하세요:
8. Less Command
less 명령어를 사용하면 파일을 빠르게 볼 수 있습니다. 페이지를 위아래로 스크롤할 수 있으며, ‘q’를 눌러 less 창에서 빠져나올 수 있습니다.
# less install.log Installing setup-2.8.14-10.el6.noarch warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Installing filesystem-2.4.30-2.1.el6.i686 Installing ca-certificates-2010.63-3.el6.noarch Installing xml-common-0.6.3-32.el6.noarch Installing tzdata-2010l-1.el6.noarch Installing iso-codes-3.16-2.el6.noarch
9. More Command
more 명령어를 사용하면 파일을 빠르게 볼 수 있고, 세부 사항을 백분율로 표시합니다. 페이지를 위아래로 스크롤할 수 있으며, ‘q’를 눌러 more 창에서 빠져나올 수 있습니다.
# more install.log Installing setup-2.8.14-10.el6.noarch warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Installing filesystem-2.4.30-2.1.el6.i686 Installing ca-certificates-2010.63-3.el6.noarch Installing xml-common-0.6.3-32.el6.noarch Installing tzdata-2010l-1.el6.noarch Installing iso-codes-3.16-2.el6.noarch --More--(10%)
[ 관련 기사: Learn Why ‘less’ is Faster Than ‘more’ Command for Effective File Navigation ]
10. CP 명령어
A cp command copies file from source to destination preserving the same mode.
# cp -p fileA fileB
파일을 덮어쓰기 전에 확인을 요청받게 됩니다.
# cp -i fileA fileB
[ 당신은 또한 이 글을 좋아할 수 있습니다: 확인 없이 cp 명령어를 강제로 덮어쓰는 방법 ]
11. MV 명령어
이 mv 명령어는 fileA를 fileB로 이름을 변경하며, -i 옵션을 사용하여 덮어쓰기 전에 확인을 요청합니다. 이미 존재하는 경우 확인을 요청합니다.
# mv -i fileA fileB
12. Cat 명령어
cat 명령어는 여러 파일을 동시에 보는 데 사용됩니다.
# cat fileA fileB
한 화면/페이지에 맞지 않는 경우 more와 less 명령어와 함께 cat 명령어를 사용하여 파일 내용을 볼 수 있습니다.
# cat install.log | less # cat install.log | more
Linux의 cat 명령어에 대한 더 많은 예제를 보려면 Linux에서 13가지 기본 Cat 명령어 예제 글을 읽어보십시오.
13. cd 명령어 (디렉토리 변경)
cd 명령어 (디렉토리 변경 또는 디렉토리 전환)를 사용하면 fileA 디렉토리로 이동합니다.
# cd /fileA
14. pwd 명령어 (작업 디렉토리 출력)
A pwd command return with the present working directory.
# pwd /root
15. Sort 명령어
정렬 명령은 텍스트 파일의 라인을 오름차순으로 정렬하는 데 사용됩니다. -r
옵션을 사용하면 내림차순으로 정렬됩니다.
# sort fileA.txt # sort -r fileA.txt
16. VI 명령
Vi는 대부분의 유닉스 계열 OS에서 가장 인기 있는 텍스트 편집기입니다. 아래 예시는 -R
옵션으로 읽기 전용으로 파일을 엽니다. Vi 창에서 빠져나오려면 ‘:q
‘를 누르세요.
# vi -R /etc/shadows
더 많은 vi 편집기에 대해 알고 싶으면 아래 기사를 읽어보세요:
- Learn Useful ‘Vi/Vim’ Editor Tips and Tricks
- 8 Interesting ‘Vi/Vim’ Editor Tips and Tricks for Every Linux Administrator
- How to Install Latest Vim Editor in Linux Systems
17. SSH 명령 (Secure Shell)
SSH 명령은 원격 호스트에 로그인하는 데 사용됩니다. 예를 들어, 아래의 ssh 명령은 사용자로 Narad를 사용하여 192.168.50.2 원격 호스트에 연결합니다.
# ssh [email protected]
ssh의 버전을 확인하려면 -V
(대문자) 옵션을 사용하면 ssh의 버전이 표시됩니다.
# ssh -V OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020
SSH에 대해 자세히 알아보려면 다음 기사를 읽어보세요:
18. Ftp 또는 sftp 명령
ftp 또는 sftp 명령은 원격 ftp 호스트에 연결하는 데 사용됩니다. ftp는 (파일 전송 프로토콜)이고 sftp는 (보안 파일 전송 프로토콜)입니다. 예를 들어, 다음 명령은 ftp 호스트 (192.168.50.2)에 연결합니다.
# ftp 192.168.50.2 # sftp 192.168.50.2
여러 파일을 mput으로 원격 호스트에 넣을 수 있으며, 마찬가지로 mget을 사용하여 원격 호스트에서 여러 파일을 다운로드할 수 있습니다.
# ftp > mput *.txt # ftp > mget *.txt
19. Systemctl 명령
Systemctl 명령어는 서비스를 관리하고, 실행 상태를 확인하고, 서비스를 시작하고 활성화하며, 구성 파일과 함께 작업하기 위한 systemd 관리 도구입니다.
# systemctl start httpd.service # systemctl enable httpd.service # systemctl status httpd.service
20. Free 명령어
free 명령어는 자유, 총량, 스왑 메모리 정보를 바이트 단위로 표시합니다.
# free total used free shared buffers cached Mem: 1030800 735944 294856 0 51648 547696 -/+ buffers/cache: 136600 894200 Swap: 2064376 0 2064376
Free 명령어와 -t
옵션을 사용하면 총 메모리 사용량과 사용 가능한 메모리를 바이트 단위로 표시합니다.
# free -t total used free shared buffers cached Mem: 1030800 736096 294704 0 51720 547704 -/+ buffers/cache: 136672 894128 Swap: 2064376 0 2064376 Total: 3095176 736096 2359080
21. Top 명령어
top 명령어는 시스템의 프로세서 활동을 표시하고 커널이 관리하는 작업을 실시간으로 표시합니다. 프로세서와 메모리의 사용량을 보여줍니다.
top 명령어와 u
옵션을 사용하면 아래와 같이 특정 사용자의 프로세스 세부 정보를 표시합니다. 원하는 방식으로 정렬하려면 ‘O
‘ (대문자 문자)를 누르십시오. ‘q
‘를 눌러 top 화면에서 빠져나옵니다.
# top -u tecmint top - 11:13:11 up 3:19, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1030800k total, 736188k used, 294612k free, 51760k buffers Swap: 2064376k total, 0k used, 2064376k free, 547704k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1889 tecmint 20 0 11468 1648 920 S 0.0 0.2 0:00.59 sshd 1890 tecmint 20 0 5124 1668 1416 S 0.0 0.2 0:00.44 bash 6698 tecmint 20 0 11600 1668 924 S 0.0 0.2 0:01.19 sshd 6699 tecmint 20 0 5124 1596 1352 S 0.0 0.2 0:00.11 bash
top 명령어에 대한 자세한 내용은 리눅스의 12가지 TOP 명령어 예제 목록을 이미 작성했습니다.
22. Tar 명령어
리눅스에서 tar 명령어는 파일과 폴더를 압축하는 데 사용됩니다. 예를 들어, 아래 명령어는 /home 디렉토리에 대한 아카이브를 파일 이름 archive-name.tar로 생성합니다.
# tar -cvf archive-name.tar /home
tar 아카이브 파일을 추출하려면 다음과 같은 옵션을 사용하십시오.
# tar -xvf archive-name.tar
tar 명령어에 대해 자세히 알아보려면 18 Tar Command Examples in Linux에서 tar 명령어에 대한 완전한 방법 가이드를 만들었습니다.
23. Grep 명령어
grep 명령어는 파일에서 주어진 문자열을 검색합니다. tecmint 사용자만 /etc/passwd 파일에서 표시됩니다. 대소문자 구분을 무시하려면 -i
옵션을 사용할 수 있습니다.
# grep tecmint /etc/passwd tecmint:x:500:500::/home/tecmint:/bin/bash
24. Find 명령어
Find 명령어는 파일, 문자열, 디렉토리를 검색하는 데 사용됩니다. 아래 예제의 find 명령어는 ‘/‘ 파티션에서 tecmint 단어를 검색하고 출력을 반환합니다.
# find / -name tecmint /var/spool/mail/tecmint /home/tecmint /root/home/tecmint
Linux find 명령어 예제에 대한 완전한 가이드는 35 Practical Examples of Linux Find Command에서 확인할 수 있습니다.
25. lsof 명령어
lsof는 모든 열려 있는 파일의 목록을 의미합니다. 아래 lsof는 사용자 tecmint에 의해 열려 있는 모든 파일의 명령어 목록입니다.
# lsof -u tecmint COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1889 tecmint cwd DIR 253,0 4096 2 / sshd 1889 tecmint txt REG 253,0 532336 298069 /usr/sbin/sshd sshd 1889 tecmint DEL REG 253,0 412940 /lib/libcom_err.so.2.1 sshd 1889 tecmint DEL REG 253,0 393156 /lib/ld-2.12.so sshd 1889 tecmint DEL REG 253,0 298643 /usr/lib/libcrypto.so.1.0.0 sshd 1889 tecmint DEL REG 253,0 393173 /lib/libnsl-2.12.so sshd 1889 tecmint DEL REG 253,0 412937 /lib/libkrb5support.so.0.1 sshd 1889 tecmint DEL REG 253,0 412961 /lib/libplc4.so
자세한 lsof 명령어 예제에 대해서는 리눅스의 10가지 lsof 명령어 예제를 방문하십시오.
26. last 명령어
last 명령어로 시스템에서 사용자 활동을 감시할 수 있습니다. 이 명령어는 일반 사용자도 실행할 수 있습니다. 이 명령어는 터미널, 시간, 날짜, 시스템 재부팅 또는 부팅, 그리고 커널 버전과 같은 사용자의 전체 정보를 표시합니다. 문제 해결을 위한 유용한 명령어입니다.
# last tecmint pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in tecmint pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in reboot system boot 2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38 (03:43) root pts/1 192.168.50.1 Sun Sep 16 10:40 - down (03:53) root pts/0 :0.0 Sun Sep 16 10:36 - 13:09 (02:32) root tty1 :0 Sun Sep 16 10:07 - down (04:26) reboot system boot 2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33 (04:35) narad pts/2 192.168.50.1 Thu Sep 13 08:07 - down (01:15)
다음과 같이 last와 함께 사용자 이름을 사용하여 특정 사용자의 활동을 알아볼 수 있습니다.
# last tecmint tecmint pts/1 192.168.50.1 Tue Sep 18 08:50 still logged in tecmint pts/0 192.168.50.1 Tue Sep 18 07:59 still logged in tecmint pts/1 192.168.50.1 Thu Sep 13 08:07 - down (01:15) tecmint pts/4 192.168.50.1 Wed Sep 12 10:12 - 12:29 (02:17)
27. ps 명령어
ps 명령어는 시스템에서 실행 중인 프로세스를 표시합니다. 아래 예제는 init 프로세스만 보여줍니다.
# ps -ef | grep init root 1 0 0 07:53 ? 00:00:04 /sbin/init root 7508 6825 0 11:48 pts/1 00:00:00 grep init
28. kill 명령어
kill 명령어를 사용하여 프로세스를 종료합니다. 먼저 다음과 같이 id를 ps 명령어로 찾은 다음 kill -9 명령어로 프로세스를 죽입니다.
# ps -ef | grep init root 1 0 0 07:53 ? 00:00:04 /sbin/init root 7508 6825 0 11:48 pts/1 00:00:00 grep init # kill- 9 7508
29. rm 명령어
rm 명령어는 확인을 요청하지 않고 파일을 제거하거나 삭제하는 데 사용됩니다.
# rm filename
파일을 제거하기 전에 확인을 받으려면 -i 옵션을 사용하십시오. ‘-r‘ 및 ‘-f‘ 옵션을 사용하면 확인 없이 파일을 강제로 삭제할 수 있습니다.
# rm -i test.txt rm: remove regular file `test.txt'?
30. mkdir 명령어 예제.
mkdir 명령은 Linux에서 디렉토리를 생성하는 데 사용됩니다.
# mkdir directoryname
이는 Linux/Unix 계열 운영 체제에서 일상적으로 사용되는 기본 명령어입니다. 누락된 사항이 있으면 의견 상자를 통해 공유해 주시기 바랍니다.
Source:
https://www.tecmint.com/useful-linux-commands-for-system-administrators/