LFCA: 기본 Linux 시스템 명령어 배우기 – 파트 3

이 글은 LFCA 시리즈의 일부인 제 3부입니다. 이 부분에서는 LFCA 자격 시험에 필요한 가장 널리 사용되는 Linux 시스템 관리 명령어 24가지를 나열할 것입니다.

Linux 시스템은 시스템을 관리하고 관리하는 데 사용할 수 있는 다양한 명령어를 제공하며, 이는 다음과 같습니다.

1. uptime 명령어

uptime 명령어는 시스템이 마지막으로 켜진 이후로 얼마나 오래 실행되었는지를 표시합니다. 아무 인수도 없이 사용하면 시스템이 실행된 시간, 실행 중인 세션을 가진 사용자 및 부하 평균과 같은 다양한 정보를 표시합니다.

$ uptime

11:14:58 up  1:54,  1 user,  load average: 0.82, 1.60, 1.56

시스템이 켜진 날짜와 시간을 정확하게 얻으려면 -s 플래그를 사용하십시오.

$ uptime -s

2021-03-17 09:20:02

더 사용자 친화적인 형식으로 정확한 기간을 얻으려면 -p 플래그를 추가하십시오.

$ uptime -p

up 1 hour, 55 minutes

아래 출력은 시스템이 1시간 55분 동안 실행되었음을 보여줍니다.

2. uname 명령어

uname 명령어는 운영 체제와 기본 하드웨어에 관한 기본 정보를 출력합니다. 아무 인수도 없이 사용하면 uname 명령어는 운영 체제만 출력합니다. 이 경우에는 Linux입니다.모든 정보를 표시하려면 -a 플래그를 추가하십시오. 이는 커널 이름, 버전, 릴리스, 기계, 프로세서 및 운영 체제와 같은 모든 정보를 나타냅니다.

$ uname

Linux

-a 플래그를 추가하여 커널 이름, 버전, 릴리스, 머신, 프로세서 및 운영 체제와 같은 모든 정보를 표시합니다.

$ uname -a

Linux ubuntu 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

커널 릴리스를 표시하려면 -r 플래그를 추가하십시오.

$ uname -r

5.4.0-65-generic

커널 버전을 얻으려면 -v 플래그를 사용하십시오.

$ uname -v

#50~20.04.1-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021

사용 중인 커널 유형을 확인하려면 -s 플래그를 사용하십시오.

$ uname -s

Linux

더 많은 명령어를 확인하려면 다음과 같이 도움말 섹션을 확인하십시오.

$ uname --help

3. whoami 명령어

whoami 명령어는 현재 로그인한 사용자를 아래와 같이 표시합니다.

$ whoami

tecmint

4. w 명령어

w 명령어는 현재 로그인한 사용자에 대한 정보를 제공합니다.

$ w

11:24:37 up  2:04,  1 user,  load average: 2.04, 1.95, 1.74
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  tty7     :0               09:21    2:04m  7:52   0.52s xfce4-session

5. free 명령어

free 명령어는 스왑 및 주 메모리 사용에 대한 정보를 제공합니다. 총 크기, 사용 중 및 사용 가능한 메모리를 표시합니다.

$ free

              total        used        free      shared  buff/cache   available
Mem:        8041516     2806424     1918232      988216     3316860     3940216
Swap:      11534332           0    11534332

보다 읽기 쉬운 형식으로 정보를 표시하려면 -h 플래그를 추가하십시오.

$ free -h

              total        used        free      shared  buff/cache   available
Mem:          7.7Gi       2.7Gi       1.9Gi       954Mi       3.2Gi       3.8Gi
Swap:          10Gi          0B        10Gi

6. top 명령어

이것은 Linux 시스템에서 유용한 도구 중 하나입니다. top 명령어는 현재 실행 중인 프로세스를 간략히 보여주며 시스템 리소스 사용량의 실시간 개요도 제공합니다.

출력 상단에는 업타임, 실행 중인 작업, CPU 및 메모리 사용에 대한 정보가 표시됩니다.

$ top
Linux Resource Usage Summary

각 열이 무엇을 나타내는지 간단히 살펴보겠습니다.

  • PID – 이는 프로세스가 식별되는 프로세스 ID입니다.
  • USER – 이는 프로세스를 시작시키거나 생성한 사용자의 사용자 이름입니다.
  • PR – 이는 작업의 스케줄링 우선순위입니다.
  • NI – 이는 프로세스나 작업의 nice 값입니다.
  • VIRT – 이는 작업에 의해 사용된 총 가상 메모리입니다.
  • RES – 프로세스가 사용하는 메모리입니다.
  • SHR – 다른 프로세스와 공유되는 프로세스의 메모리 양입니다.
  • %CPU – 이는 프로세스의 CPU 사용량입니다.
  • %RAM – RAM 사용률입니다.
  • TIME+ – 프로세스가 시작된 이후 사용한 총 CPU 시간입니다.
  • COMMAND – 이는 프로세스 이름입니다.

한 사용자에 대한 프로세스를 표시하려면 다음 명령을 실행하십시오

$ top -u tecmint
Check Linux User Resource Usage

7. ps 명령어

ps 명령어는 현재 쉘에서 실행 중인 프로세스를 해당 PID와 함께 나열합니다.

$ ps

   PID TTY          TIME CMD
  10994 pts/0    00:00:00 bash
  12858 pts/0    00:00:00 ps

사용자의 현재 실행 중인 프로세스를 표시하려면 표시된 대로 -u 옵션을 사용하십시오.

$ ps -u tecmint
Check Linux User Running Processes

8. sudo 명령어

A portmanteau for Super User do, sudo is a command-line utility that grants a regular user ability to perform administrative or elevated tasks. Before using the command, ensure that the user is first added to the sudo group. Once added, begin the command with sudo first.

예를 들어 패키지 목록을 업데이트하려면 명령을 실행하십시오:

$ sudo apt update

당신은 비밀번호를 입력하라는 프롬프트를 받게 될 것입니다.

Update Ubuntu Using Sudo User

9. echo 명령어

echo 명령어는 여러 가지 작업을 수행합니다. 먼저, 터미널에 문자열의 값을 출력할 수 있습니다.

$ echo “Hey guys. Welcome to Linux”

“Hey guys. Welcome to Linux”

( > ) 리다이렉션 연산자를 사용하여 파일에 문자열을 저장할 수도 있습니다. 파일이 존재하지 않으면 생성됩니다.

$ echo “Hey guys. Welcome to Linux” > file1.txt
$ cat file1.txt

“Hey guys. Welcome to Linux”

이는 파일을 덮어쓰기합니다. 정보를 추가하거나 붙이려면 두 배의 크기의 연산자 ( >> )를 사용하십시오.

$ echo “We hope you will enjoy the ride” >> file1.txt
$ cat file1.txt

“Hey guys. Welcome to Linux”
We hope you will enjoy the ride

또한, echo 명령어를 사용하여 환경 변수를 표시할 수 있습니다. 예를 들어, 현재 로그인한 사용자를 표시하려면 다음을 실행하십시오:

$ echo $USER

tecmint

홈 디렉토리 경로를 표시하려면 다음을 실행하십시오:

$ echo $HOME

/home/tecmint

10. history 명령어

이름에서 알 수 있듯이, history 명령어는 터미널에서 마지막으로 실행된 명령어의 기록을 제공합니다.

$ history
View Previously Executed Commands

11. head 명령어

가끔은 전체 파일을 보는 대신 텍스트 파일의 처음 몇 줄을 엿보고 싶을 수 있습니다. head 명령어는 파일의 처음 몇 줄을 표시하는 명령줄 도구입니다. 기본적으로 처음 10줄을 표시합니다.

$ head /etc/ssh/ssh_config
View Lines in Text File

코드 태그 -n을 추가하여 표시할 줄 수를 지정할 수 있습니다. 예를 들어, 5줄을 표시하려면 다음과 같은 명령을 실행하십시오.

$ head -n 5 /etc/ssh/ssh_config

12. tail 명령

tail 명령head 명령과 정반대입니다. 파일의 마지막 10줄을 표시합니다.

$ tail /etc/ssh/ssh_config
View Last Lines in Text File

head 명령과 마찬가지로 표시할 줄 수를 정의할 수 있습니다. 예를 들어, 파일의 마지막 5줄을 보려면 다음을 실행하십시오.

$ tail -n 5 /etc/ssh/ssh_config

13. wget 명령

wget 명령은 웹을 통해 파일을 다운로드하기 위해 사용되는 명령줄 도구입니다. 여러 파일 다운로드, 다운로드 대역폭 제한, 백그라운드에서 다운로드 등 다양한 기능을 지원합니다.

기본 형식으로 주어진 URL에서 파일을 다운로드합니다. 아래 명령에서는 최신 Linux 커널을 다운로드합니다.

$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz

명령은 URL의 IP 주소를 먼저 확인하기 시작하여 원격 서버에 연결하고 파일 다운로드를 시작합니다. 파일은 현재 디렉토리에 다운로드됩니다.

Wget Download File in Linux

다른 디렉토리에 파일을 저장하려면 -P 플래그 다음에 디렉토리 경로와 URL을 사용하십시오. 예를 들어, /opt 디렉토리에 파일을 다운로드하려면 다음 명령을 실행하십시오.

$ wget -P /opt https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz

다른 이름으로 파일을 다운로드하고 저장하려면 -O 플래그 다음에 원하는 파일 이름을 사용하십시오.

$ wget -O latest.tar.xz https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz

14. finger 명령

finger 명령어는 로그인 사용자에 대한 이름, 쉘, 홈 디렉토리 및 사용자가 로그인한 시간 등 간단한 정보를 제공합니다.

$ finger tecmint

Login: tecmint        			Name: Tecmint
Directory: /home/tecmint            	Shell: /bin/bash
On since Wed Mar 17 09:21 (IST) on tty7 from :0
   2 hours 52 minutes idle
No mail.
No Plan.

15. alias 명령어

alias 명령어는 Linux 명령어에 편리성을 위해 사용자 고유의 이름을 할당할 수 있게 합니다. 예를 들어 명령어 ls -ashow라는 별칭을 할당하려면 아래와 같이 alias 명령어를 실행하십시오.

$ alias show=ls -a
$ show
Create Alias in Linux

16. passwd 명령어

passwd 명령어는 비밀번호를 변경할 수 있게 합니다. 아래와 같이 passwd 명령어를 실행하십시오.

$ passwd

현재 비밀번호를 입력하라는 프롬프트가 표시되며, 새 비밀번호를 입력한 후 확인해야 합니다.

Change User Password

또한, 사용자의 이름을 인수로 전달하여 다른 사용자의 비밀번호도 변경할 수 있습니다.

$ sudo passwd username

17. groups 명령어

사용자가 속한 그룹을 확인하려면 다음과 같이 groups 명령어를 실행하십시오:

$ groups
OR
$ groups tecmint

tecmint sudo

18. du 명령어

파일 및 폴더의 디스크 사용량을 확인하고 싶으신가요? du 명령어는 파일 및 디렉토리의 디스크 사용량을 확인하는 표준 명령어입니다.

해당 명령어는 아래와 같은 기본 구문을 따릅니다.

$  du OPTIONS FILE

현재 디렉토리에서 인간이 읽을 수 있는 디스크 사용량을 확인하려면 다음 명령을 실행하십시오:

$ du -h .

다른 디렉토리에서 디스크 사용량을 확인하려면 예를 들어 /var/log/ 다음 명령을 실행하십시오:

$ du -h /var/log
Check Linux Disk Usage

19. df 명령어

df 명령어 – 디스크 여유 공간, 사용 중인 공간 및 다양한 파일 시스템의 사용 가능한 디스크 공간을 확인합니다. 아래에 표시된 구문을 사용합니다:

$ df OPTIONS FILE

가장 중요한 옵션은 -T-h입니다. -T 플래그는 파일 시스템 유형을 인쇄하고 -h 플래그는 출력을 인간이 읽을 수 있는 형식으로 표시합니다.

아래 명령은 모든 파일 시스템의 무료 디스크 공간을 나열합니다.

$ df -Th
Check Linux Filesystem Disk Usage

20. chown 명령어

chown 명령어은 파일 및 디렉토리의 사용자 및 그룹 소유권을 변경하는 데 사용됩니다. ls -l 명령을 사용하여 디렉토리의 내용을 나열하면 여기와 유사한 출력이 표시됩니다.

$ ls -l
List Files in Linux

3번째 및 4번째 열에서 tecmint tecmint를 명확히 볼 수 있습니다. 첫 번째는 사용자를 가리키고 두 번째 항목은 그룹을 나타내며 이 또한 tecmint입니다. 새로운 사용자가 생성되면 새로운 기본 그룹이 할당되며 기본적으로 그룹의 유일한 구성원이됩니다. 이는 파일 또는 디렉토리가 아무도와 공유되지 않았음을 나타냅니다.

chown 명령어를 사용하여 파일 소유권을 쉽게 변경할 수 있습니다. 단순히 소유자 이름 다음에 콜론( : )으로 구분하여 그룹 이름을 제공하면 됩니다. 이 작업은 권한이 필요하며 sudo 명령어를 실행해야 합니다.

예를 들어, file1.txt 파일의 그룹을 james로 변경하지만 소유자는 tecmint로 유지하려면 다음 명령어를 실행하십시오:

$ sudo chown tecmint:james  file1.txt
$ ls -l
Change File Ownership

소유자와 그룹을 모두 변경하려면 다음 명령어를 실행하십시오:

$ sudo chown james:james  file1.txt
$ ls -l
Change File Ownership in Linux

디렉토리의 소유권을 변경하려면 재귀적으로 사용할 -R 플래그를 사용하십시오. 우리는 data라는 새 디렉토리를 생성했고 사용자와 그룹을 모두 james로 변경할 것입니다.

$ sudo chown -R james:james data
$ ls -l
Change Directory Ownership

21. chmod 명령어

chmod 명령어는 파일 또는 폴더 권한을 설정하거나 수정하는 데 사용됩니다. ls -l 명령어의 출력으로 돌아가보겠습니다. 첫 번째 열은 다음과 같은 문자로 구성됩니다

drwxrwxrwx

첫 번째 문자 ( d )는 이것이 디렉토리임을 나타냅니다. 파일은 하이픈 ( - )으로 표시됩니다. 나머지 아홉 문자는 rwx (읽기, 쓰기, 실행) 플래그로 나뉩니다. 첫 번째 세트는 파일 소유자를 나타내고 (u), 두 번째는 그룹을 나타내며 (g), 마지막 세트는 모든 다른 사용자를 나타냅니다.

파일 권한을 할당하는 두 가지 방법이 있습니다: 숫자 및 심볼(텍스트) 표기법. 숫자 표기법의 경우 각 플래그가 표시된 값으로 나타납니다.

r = 4

w = 2

x = 1

No permissions = 0

파일의 파일 권한을 얻으려면 모든 세트에서 해당 값을 더하면 됩니다. 예를 들어:

drwxrwxr-x
  • 파일 소유자(u)에 대한 권한: rwx = 4+2+1 = 7
  • 그룹(g)에 대한 권한: rwx = 4+2+1 = 7
  • 기타 사용자(o)에 대한 권한: r-x = 4+0+1 = 5

마지막으로, 표기법 775를 얻습니다.

file 1.txt의 또 다른 예를 살펴보겠습니다.

-rw-rw-r-- 1 james  james   59 Mar 6 18:03 file1.txt

이 파일은 rw-rw-r– 권한을 가지고 있습니다.

이를 더해보겠습니다.

  • 파일 소유자(u)에 대한 권한: rw- = 4+2+0 = 6
  • 그룹(g)에 대한 권한: rw- = 4+2+0 = 6
  • 기타 사용자(o)에 대한 권한: r– = 4+0+0 = 4

이를 표기하면 664가 됩니다.

이를 775로 설정합니다. 이를 통해 파일 소유자와 그룹에는 모든 권한(rwx)을, 기타 사용자에게는 읽기와 실행 권한만 부여합니다.

다음 명령어를 실행합니다:

$ sudo chmod 775 file1.txt
Change Linux File Permissions

권한을 부여하는 다른 방법은 기호 표기법을 사용하는 것입니다. 기호 표기법에서는 다음 플래그를 사용하여 권한을 추가하거나 제거할 수 있습니다.

  • - 권한 제거
  • + 지정된 권한 추가
  • = 현재 권한을 지정된 권한으로 설정. = 기호 뒤에 권한이 지정되지 않은 경우, 해당 사용자 클래스의 모든 권한이 제거됩니다.

예를 들어, 파일 소유자, 그룹 멤버, 기타 사용자의 실행 권한을 모두 제거하려면 다음 명령어를 실행합니다:

$ sudo chmod a-x file1.txt
Remove Execute File Permissions

그룹 멤버에게 읽기 권한만 부여하고 쓰기와 실행 권한은 부여하지 않으려면 다음 명령어를 실행합니다:

$ sudo chmod g=r file1.txt
Assign Read Permissions

기타 사용자의 쓰기 권한을 제거하려면 다음 명령어를 실행합니다.

$ sudo chmod o-r file1.txt
Remove Write Permissions

그룹 구성원 및 다른 사용자에게 읽기 및 쓰기 권한을 부여하려면 다음을 실행하십시오:

$ sudo chmod og+rw file1.txt
Assign Read and Write Permissions

디렉토리에 권한을 할당하려면 권한을 재귀적으로 설정하는 -R 플래그를 사용하십시오.

예를 들어:

$ sudo chmod -R 755 /var/www/html

22. 시스템 종료 / 재부팅 명령어

poweroff 명령어는 이름에서 알 수 있듯이 시스템을 종료합니다.

$ poweroff

동일한 작업을 수행하는 다른 명령어는 표시된 대로 shutdown 명령어입니다.

$ shutdown -h now

-h 플래그는 시스템을 중지하는 halt를 나타내며, 두 번째 매개변수는 분과 시간으로도 지정할 수 있습니다.

아래 명령어는 5분 후에 예정된 시스템 종료를 모든 로그인한 사용자에게 알리는 메시지를 표시합니다.

$ shutdown -h +5 “System is shutting down shortly. Please save your work.”

시스템을 재부팅하려면 표시된 대로 재부팅 명령어를 사용하십시오.

$ reboot

또는 표시된 대로 -r 옵션을 사용하여 shutdown 명령어를 사용하여 재부팅할 수 있습니다.

$ shutdown -r now

23. exit 명령어

exit 명령어는 터미널을 닫거나 셸을 종료합니다. SSH 세션을 시작한 경우 세션이 종료됩니다.

$ exit

24. man 명령어

man 명령어는 manual의 약자로, Linux 명령어에 대한 매뉴얼 페이지를 표시합니다. 명령어의 사용 방법을 확인하고 싶을 때 유용합니다. 명령어에 대한 자세한 설명을 제공하며 간단한 개요, 옵션, 반환 상태 및 작성자 등을 언급합니다.

예를 들어, ls 명령어에 대한 통찰을 보려면 다음을 실행하십시오:

$ man ls
View Linux Command Manual
결론

시스템을 관리하고 다양한 통찰을 얻는 데 도움이 되는 시스템 명령어 목록이었습니다. 속담에 말하기를 연습은 완벽을 이룬다고 합니다. 이 명령어들을 가끔씩 연습하는 것이 시스템을 더 잘 다루고 더 빠르게 사용할 수 있도록 도와줄 것입니다.

Source:
https://www.tecmint.com/basic-linux-commands/