웹사이트 검색

LFCA: 기본 Linux 시스템 명령 배우기 - 3부


이 기사는 LFCA 시리즈의 3부입니다. 이 부분에서는 LFCA 인증 시험에 필요한 가장 널리 사용되는 Linux 시스템 관리 명령 24개를 나열합니다.

Linux 시스템은 시스템을 운영하고 관리하는 데 사용할 수 있는 광범위한 명령 풀을 제공하며 그 내용은 다음과 같습니다.

1. 가동시간 명령

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)만 인쇄합니다.

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

              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. 최고 명령

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

출력 맨 위에는 가동 시간, 실행 중인 작업, CPU 및 메모리 사용량에 대한 정보가 표시됩니다.

top

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

  • PID – 프로세스를 식별하는 프로세스 ID입니다.
  • USER – 프로세스를 시작하거나 생성한 사용자의 사용자 이름입니다.
  • PR – 작업의 예약 우선순위입니다.
  • NI – 프로세스나 작업의 좋은 가치입니다.
  • VIRT – 작업에서 사용하는 총 가상 메모리입니다.
  • RES – 프로세스에서 사용하는 메모리입니다.
  • SHR – 다른 프로세스에서 공유하는 프로세스에서 사용하는 메모리 양입니다.
  • %CPU – 프로세스의 CPU 사용량입니다.
  • %RAM – RAM 사용량의 백분율입니다.
  • TIME+ – 실행이 시작된 이후 프로세스에서 사용한 총 CPU 시간입니다.
  • COMMAND – 프로세스 이름입니다.

한 사용자와 관련된 프로세스를 표시하려면 다음 명령을 실행하십시오.

top -u tecmint

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

8. sudo 명령

수퍼유저 do의 합성어인 sudo는 일반 사용자에게 관리 또는 상승된 작업을 수행할 수 있는 권한을 부여하는 명령줄 유틸리티입니다. 명령을 사용하기 전에 사용자가 먼저 sudo 그룹에 추가되었는지 확인하십시오. 추가한 후에는 먼저 sudo로 명령을 시작하십시오.

예를 들어 패키지 목록을 업데이트하려면 다음 명령을 실행합니다.

sudo apt update

작업이 실행될 비밀번호를 묻는 메시지가 표시됩니다.

9. 에코 명령

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

11. 헤드 커맨드

때로는 전체 파일을 보는 대신 텍스트 파일의 처음 몇 줄만 살펴보고 싶을 수도 있습니다. 헤드 명령은 파일의 처음 몇 줄을 표시하는 명령줄 도구입니다. 기본적으로 처음 10줄이 표시되었습니다.

head /etc/ssh/ssh_config

-n 플래그를 추가하여 표시할 줄 수를 지정할 수 있습니다. 예를 들어 5줄을 표시하려면 다음과 같이 명령을 실행하세요.

head -n 5 /etc/ssh/ssh_config

12. 꼬리 명령

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

tail /etc/ssh/ssh_config

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 주소를 확인하는 것으로 시작하고 파일을 다운로드하기 시작합니다. 파일이 현재 디렉터리에 다운로드됩니다.

파일을 다른 디렉터리에 저장하려면 -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 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 명령을 사용하면 편의를 위해 Linux 명령에 고유한 이름을 할당할 수 있습니다. 예를 들어 show라는 별칭을 ls -a 명령에 할당하려면 표시된 대로 alias 명령을 실행합니다.

alias show=ls -a
show

16. passwd 명령

passwd 명령을 사용하면 비밀번호를 변경할 수 있습니다. 표시된 대로 passwd 명령을 실행하기만 하면 됩니다.

passwd

현재 비밀번호를 묻는 메시지가 나타나면 새 비밀번호를 입력한 후 나중에 확인하세요.

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

sudo passwd username

17. 그룹 명령

사용자가 속한 그룹을 확인하려면 다음과 같이 groups 명령을 실행하세요.

groups
OR
groups tecmint

tecmint sudo

18. 뒤 명령

파일과 폴더의 디스크 사용량을 계속 감시하고 싶으십니까? du 명령(디스크 사용량의 줄임말)은 파일 및 디렉터리의 디스크 사용량을 확인하는 표준 명령입니다.

명령은 표시된 기본 구문을 따릅니다.

 du OPTIONS FILE

예를 들어, 현재 디렉터리에서 사람이 읽을 수 있는 디스크 사용량을 보려면 다음 명령을 실행합니다.

du -h .

다른 디렉토리(예: /var/log/)에서 디스크 사용량을 확인하려면 다음 명령을 실행하세요.

du -h /var/log

19. df 명령

df 명령(disk free의 줄임말)은 전체 디스크 공간, 사용 중인 공간 및 다양한 파일 시스템에서 사용 가능한 디스크 공간을 확인합니다. 아래 표시된 구문을 사용합니다.

df OPTIONS FILE

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

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

df -Th

20. chown 명령

chown 명령은 파일 및 디렉터리의 사용자 및 그룹 소유권을 변경하는 데 사용됩니다. ls -l 명령을 사용하여 디렉토리의 내용을 나열하면 여기에 있는 것과 유사한 출력을 얻게 됩니다.

ls -l

3열과 4열에서는 tecmint tecmint를 명확하게 볼 수 있습니다. 첫 번째 항목은 사용자를 가리키고 두 번째 항목은 역시 tecmint인 그룹을 나타냅니다. 새 사용자가 생성되면 새 기본 그룹이 할당되며, 기본적으로 해당 사용자는 유일한 구성원입니다. 이는 파일이나 디렉터리가 누구와도 공유되지 않는다는 표시입니다.

chown 명령을 사용하면 파일 소유권을 아주 쉽게 변경할 수 있습니다. 소유자 이름과 그룹 이름을 전체 콜론( : )으로 구분하여 제공하기만 하면 됩니다. 이는 승격된 작업이므로 sudo 명령을 호출해야 합니다.

예를 들어 file1.txt의 그룹을 james로 변경하고 소유자를 tecmint로 유지하려면 다음을 실행합니다.

sudo chown tecmint:james  file1.txt
ls -l

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

sudo chown james:james  file1.txt
ls -l

디렉토리의 소유권을 변경하려면 재귀에 -R 플래그를 사용하십시오. data라는 새 디렉토리를 만들었고 사용자와 그룹을 모두 james로 변경하겠습니다.

sudo chown -R james:james data
ls -l

21. chmod 명령

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

drwxrwxrwx

첫 번째 문자 ( d )는 이것이 디렉터리임을 나타냅니다. 파일은 하이픈 ( - )를 사용하여 표시됩니다. 나머지 9개 문자는 3개의 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라는 표기에 도달했습니다.

파일 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

이는 644입니다.

이를 775로 설정하겠습니다. 이는 파일의 소유자와 그룹에게 모든 권한(예: rwx)을 부여하고 다른 사용자에게는 읽기 및 실행 권한만 부여합니다.

다음 명령을 실행하십시오.

sudo chmod 775 file1.txt

권한을 할당하는 다른 방법은 기호 표기법을 사용하는 것입니다. 기호 표기법을 사용하면 권한을 추가하거나 제거하는 데 다음 플래그가 사용됩니다.

  • - – 권한을 제거합니다.
  • + – 지정된 권한을 추가합니다.
  • = – 현재 권한을 지정된 권한으로 설정합니다.=기호 뒤에 지정된 권한이 없으면 지정된 사용자 클래스의 모든 권한이 제거됩니다.

예를 들어 파일 소유자, 그룹 구성원 및 기타 사용자 등 모든 집합에서 실행 권한을 제거하려면 다음 명령을 실행합니다.

sudo chmod a-x file1.txt

그룹 구성원에게 읽기 권한만 할당하고 쓰기 및 실행 권한은 할당하지 않으려면 다음을 실행하세요.

sudo chmod g=r file1.txt

다른 사용자의 쓰기 권한을 제거하려면 다음을 실행하십시오.

sudo chmod o-r file1.txt

그룹 구성원과 다른 사용자에게 읽기 및 쓰기 권한을 부여하려면 다음을 실행합니다.

sudo chmod og+rw file1.txt

디렉토리에 권한을 할당하려면 -R 플래그를 사용하여 권한을 반복적으로 설정하세요.

예를 들어:

sudo chmod -R 755 /var/www/html

22. poweroff/reboot 명령

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

poweroff

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

shutdown -h now

-h 플래그는 정지를 나타내며 시스템 중지를 의미합니다. 두 번째 매개변수는 시간 옵션으로 분과 시간 단위로도 지정할 수 있습니다.

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

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

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

reboot

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

shutdown -r now

23. 종료 명령

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

exit

24. 남자 명령

manual의 줄임말인 man 명령은 모든 Linux 명령에 대한 매뉴얼 페이지를 표시합니다. 명령이 어떻게 사용되는지 확인하고 싶을 때 유용합니다. 간략한 개요, 옵션, 반환 상태, 작성자 등을 포함하여 명령에 대한 자세한 설명을 제공합니다.

예를 들어 ls 명령어에 대한 통계를 보려면 다음을 실행합니다.

man ls

결론

이는 시스템 관리를 시작하고 다양한 통찰력을 수집하는 데 도움이 되는 시스템 명령 목록이었습니다. 속담처럼 연습이 완벽을 만듭니다. 그리고 때때로 이러한 명령을 연습하면 시스템이 더 좋아지고 예리해지는 데 도움이 된다는 것은 말할 필요도 없습니다.