[Linux 기초] 02. 기초 명령
카테고리: LINUX
태그: linux
🔔 1. man
각종 명령어, 프로그램의 사용법(매뉴얼)을 확인하는 명령으로 명령어 사용법과 수많은 옵션들을 쉽게 찾아볼 수 있다
| 옵션 | 설명 |
|---|---|
| -a KEYWORD | 정합되는 모든 엔트리를 찾음 |
| -K KEYWORD | 키워드가 발견되는 메뉴얼을 모두 검색하여 이름, Section, 간단한 설명을 보여준다. |
| -f KEYWORD | 해당 키워드에 대한 이름, Section, 간단한 설명을 보여준다. |
| -W KEYWORD | 해당 키워드 메뉴얼 참조 파일을 출력한다. |
| -h | man 명령 옵션에 대해 간략하게 보여준다. |
■ man 명령 제어키
| 키 | 설명 |
|---|---|
| Space Key | 한 페이지씩 이동 |
| b | 한 페이지씩 뒤로 이동 |
| Enter Key | 한줄씩 이동 |
| /keyword | 키워드 검색 |
| ? | 뒤로 키워드 검색 |
| W | 특수키 일반문자화 |
| n, N | 반복 검색, 역방향으로 반복검색 |
| q | man 명령 종료 |
■ man 명령 내용
| 항목 | 설명 |
|---|---|
| NAME | 파일이나 명령 이름 및 간단한 설명 |
| SYNOPSIS | 사용법 보여준다. |
| DESCRIPTION | 상세 설명을 보여준다. |
| OPTIONS | 옵션 목록 및 설명을 보여준다. |
| FILES | 관련 파일 목록을 보여준다. |
| SEE ALSO | 관련된 메뉴얼 페이지 |
| BUGS | 버그 |
| AUTHOR | 저자 |
🔔 2. uname
호스트 이름, 커널버전, 프로세서 정보 같은 시스템 정보를 출력
| 옵션 | 내용 |
|---|---|
| -a | 프로세서와 하드웨어 플랫폼 정보를 제외한 모든 아래 옵션의 정보를 출력한다. |
| -i | 하드웨어 플랫폼을 출력한다. |
| -m | 머신 이름을 출력한다. |
| -n | 네트워크 노드 호스트 명을 출력한다. |
| -o | 운영체제를 출력한다. |
| -p | 프로세서 정보를 출력한다. |
| -J | 커널 릴리스 정보를 출력한다. |
| -s | 커널 이름을 출력한다. |
| -V | 커널 버전을 출력한다. |
■ 예제
$ uname -a
Linux localhost.localdomain 5.14.0-162.6.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 18 02:06:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ uname -n
localhost.localdomain
$ uname -r
5.14.0-162.6.1.el9_1.x86_64
🔔 3. hostname
시스템 호스트 이름을 출력하거나 변경하는 명령, hostanme 명령으로 변경한 호스트 이름은 재부팅하면 사라지며 영구적으로 설정하려면 /etc/hostsname 파일을 수정해야 한다.
■ hostnamectl 명령
- hostnamectl 은 시스템의 호스트네임을 관리할 수 있는 명령어로 옵션없이 사용하거나 status 옵션을 주면 현재 정보를 출력한다.
# 정보 출력
$ hostnamectl
Static hostname: n/a
Transient hostname: localhost
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: 3512b281863f4091b3b671916b894adb
Boot ID: cbf5acd1f41a4e55890269943e0a4312
Virtualization: vmware
Operating System: Rocky Linux 9.1 (Blue Onyx)
CPE OS Name: cpe:/o:rocky:rocky:9::baseos
Kernel: Linux 5.14.0-162.6.1.el9_1.x86_64
Architecture: x86-64
Hardware Vendor: VMware, Inc.
Hardware Model: VMware Virtual Platform
# 호스트 이름 변경
$ hostnamectl set-hostname rocky9-test
🔔 4. date
시스템의 시간을 출력하거나 시스템 시간을 변경 그리고 시간 정보 출력 포멧을 변경하는 명령
■ 명령형식
$ date [+FORMAT]
$ date [-u] [MMDDhhmm[[CC]YY][.ss]]
| 옵션 | 내용 |
|---|---|
| -u | UTC(Coordinated Universal Time) 시간 기준으로 리눅스 시스템 시간 정보를 설정하기 위해 사용한다. -u 옵션을 사용하지 않을 경우 지역 시간으로 변경한다. |
■ 시간 출력 형식
| 코드 | 출력 형식 | 설명 |
|---|---|---|
| %a | Mon | 3글자의 요일을 나타냄 |
| %A | Monday | 요일의 모든 글자를 나타냄 |
| %b | Oct | 3글자의 달을 나타냄 |
| %B | October | 달의 모든 글자를 나타냄 |
| %C | 20 | 세기 출력함 |
| %g | 16 | 년을 출력 |
| %y | 16 | 년을 출력 |
| %G | 2016 | 세기년을 출력 |
| %Y | 2016 | 세기년을 출력 |
| %c | Mon Oct 10 14:48:05 2016 | 요일 달 일 시간:분:초 세기년을 출력함 |
| %D | 10/10/16 | 월/일/년을 출력 |
| %x | 10/10/16 | 월/일/년의 형식으로 출력 |
| %F | 2016-10-10 | 세기년-월-일을 출력 |
| %j | 284 | 1년의 몇번째 날인지 숫자로 출력 |
| %H | 14 | 시간을 숫자로 나타냄 |
| %m | 10 | 달을 숫자로 나타냄 |
| %d | 10 | 일을 숫자로 출력 |
| %e | 10 | 왼쪽의 0을 제거한 일을 출력 |
| %M | 48 | 분을 숫자로 나타냄 |
| %S | 05 | 초를 숫자로 나타냄 |
| %p | PM | 오전, 오후를 PM, AM으로 나타냄 |
| %r | 02:48:05 PM | 시간:분:초 AM또는PM 12시간으로 출력 |
| %R | 14:48 | 시간:분 24시간으로 출력 |
| %T | 14:48:05 | 시간:분:초 24시간으로 출력 |
| %u | 1 | 요일을 1부터 7까지 숫자로 나타냄. 일요일이 숫자 7 |
| %w | 1 | 요일을 0부터 6까지 숫자로 나타냄. 일요일이 숫자 0 |
| %z | +0900 | GMT 표준시로 부터 시간차 출력 |
| %Z | KST | 시간의 지역적 위치 출력 |
| %n | 없음 | 줄바꾸기 |
■ 예제
$ date
Thu Apr 13 11:51:39 PM KST 2023
$ date +'%Y-%m-%m-%d'
2023-04-04-13
$ date +'%Y-%m-%m-%d %H:%M'
2023-04-04-13 23:52
$ date +'%Y-%m-%m-%d %H:%M:%S'
2023-04-04-13 23:52:28
$ date -u 052912152023.30
Mon May 29 12:15:30 PM UTC 2023
$ date
Mon May 29 09:15:37 PM KST 2023
$ date -u 010912152023.30
Mon Jan 9 12:15:30 PM UTC 2023
🔔 5. uptime
시스템이 언제 시작되었으며 총 얼마 동안 가동되었는지 파악할 수 있는 명령으로 운영체제가 처음 설치되었거나 재부팅 된 시점으로부터 uptime 기록이 시작되며 이는 서버 운영에 있어 종종 쓰이는 정보이기도 함
■ 예제
date
Mon Jan 9 09:16:02 PM KST 2023
$ uptime
21:16:06 up 5 min, 1 user, load average: 0.04, 0.06, 0.02
| 시간 정보 | 설명 |
|---|---|
| 21:16:06 | 현재 시간 |
| up 5 min | 시스템 부팅 후 가동 시간 |
| 1 user | 접속된 사용자 수 |
| load average: 0.04, 0.06, 0.02 | 1분, 5분, 15분 간격의 시스템 평균 부하 값 |
🔔 6. hwclock
하드웨어(ROM-BIOS) 시간 동기화
■ 명령형식
$ hwclock [option]
| 옵션 | 내용 |
|---|---|
| -r | H/W 시간 확인 |
| -s | 시스템 시간을 H/W 시간과 동기화 |
| -w | H/W 시간을 시스템 시간과 동기화 |
🔔 7. rdate
원격지로부터 시간 동기화
■ 명령형식
$ rdate [option] <NTP Server Address>
| 옵션 | 내용 |
|---|---|
| -p | NTP 서버 시간 출력 |
| -s | NTP 서버와 시스템 시간 동기화 |
| NTP Server | 주소 |
|---|---|
| LG U+ | time.bora.net 또는 gps.bora.net |
| KRISS | time.kriss.re.kr 또는 203.254.163.74 |
🔔 8. which
명령어 경로 확인
■ 명령형식
$ which [option] <command>
🔔 9. whatis
명령어의 간단한 설명 확인
■ 명령형식
$ whatis [option] <command>
🔔 10. alias/unalias
별칭 설정/해제
■ 명령형식
# alias 설정을 무시하고 실행하고 싶을 때는 “\별칭“ 으로 입력
$ alias [별칭=‘command’]
$ unalias <별칭>
🔔 11. history
사용한 명령어 목록 확인
■ 명령형식
# [num]을 지정하면 해당 숫자만큼 최근 사용한 명령어 출력
$ history [num]
🔔 12. poweroff / halt
시스템 즉시 종료 명령으로, 두 명령의 차이는 하드디스크 동기화 유무이며 poweroff는 동기화 시키지 않고 종료한다.
■ 명령형식
$ poweroff [option]
$ halt [option]
🔔 13. reboot
시스템 재시작
■ 명령형식 <b/ig>
$ reboot
🔔 14. shutdown
시스템 재시작
■ 명령형식
$ shutdown [option] [time] [message]
| 옵션 | 내용 |
|---|---|
| -h | Shutdown 후 종료 |
| -r | Shutdown 후 재실행 |
| -k | 종료를 알리는 경고 메시지 전송 |
| -c | 예약되어 있는 shutdown을 취소 |
■ 예제
# 명령어를 입력하자마자 즉시 시스템을 종료하고 싶은 경우 now를 뒤에 추가해주면 된다.
$ shutdown now
# +와 숫자를 조합하면 지정된 분 이후에 시스템이 종료되는데 위 명령어는 5분 이후로 시스템 종료가 예약된다.
$ shutdown +5
# 혹은 24시간 형식으로 특정 시간에 시스템 종료를 예약하는 것도 가능
$ shutdown 22:00
# 시스템 종료를 예약할 때 다른 접속한 사용자에게 사유와 시간을 공지하는 것도 가능
$ sudo shutdown +5 "No longer available"
# 다른 사용자들에게 이런 형태로 메시지가 표시됨
[root@localhost ~]#
Broadcast message from root@localhost on pts/0 (Mon 2023-01-09 21:39:46 KST):
No longer available
The system is going down for poweroff at Mon 2023-01-09 21:44:46 KST!
# 예약된 시스템 종료를 취소할 때는 -c 옵션을 사용
$ shutdown -c
🔔 15. init
run level 선택하는 명령으로, run level은 시스템의 동작 방식을 정의해 놓은 것이다.
■ 명령형식
$ init [option] <run level>
| Run Level | 설명 |
|---|---|
| 0 | 하드디스크 동기화 후 종료 |
| 1 | 단일 사용자 모드(single mode) 시스템 복구 |
| 2 | 다중 사용자 CLI NFS/X-window를 제외한 부팅 |
| 3 | 다중 사용자 CLI X-window를 제외한 부팅 |
| 4 | X 사용하지 않음(사용자 정의 가능) |
| 5 | 다중 사용자 GUI X-window환경으로 모든 서비스 포함 |
| 6 | 시스템 재시작 |
댓글 남기기