시스템 관리자를 위한 유용한 리눅스 명령어 30가지

이 기사에서는 리눅스 또는 유닉스 명령어 중 유용하고 자주 사용되는 몇 가지를 검토하겠습니다. 리눅스 시스템 관리자들이 일상적으로 사용하는 명령어입니다.

이 목록은 완벽하지는 않지만 필요할 때 참고할 수 있는 명령어의 압축된 목록입니다. 이 명령어들을 어떻게 사용하는지 예제와 함께 하나씩 살펴보겠습니다.

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 명령에는 uptimeversion 이외의 옵션이 없습니다. 하루가 되지 않는 경우 정보는 시간:분:초로만 표시됩니다.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는 사용자가 무엇을 하는지를 출력하지 않습니다. whow 명령어의 차이를 설명하고 비교해 보겠습니다.

# 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 명령어fileAfileB로 이름을 변경하며, -i 옵션을 사용하여 덮어쓰기 전에 확인을 요청합니다. 이미 존재하는 경우 확인을 요청합니다.

# mv -i fileA fileB

12. Cat 명령어

cat 명령어는 여러 파일을 동시에 보는 데 사용됩니다.

# cat fileA fileB

한 화면/페이지에 맞지 않는 경우 moreless 명령어와 함께 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 편집기에 대해 알고 싶으면 아래 기사를 읽어보세요:

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 명령어를 사용하여 프로세스를 종료합니다. 먼저 다음과 같이 idps 명령어로 찾은 다음 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/