새소식

Linux

[Linux] 자주쓰는 명령어

  • -
728x90

오늘은 Linux를 이용하면서 자주쓰는 명령어들을 정리해보려고 합니다.

 

Linux

# free

: 시스템 메모리 사용량에 대한 자세한 보고서를 얻을 수 있는

ubuntu@ip-172-31-12-184:~$ free
              total        used        free      shared  buff/cache   available
Mem:        1002052      231188      157312       14704      613552      570996
Swap:             0           0           0

total → 응용 프로그램에서 사용할 수 있는 총 메모리양

used → 사용된 메모리

free → 여유 / 사용하지 않은 메모리

shared → 의미가 없음

buff/cache → 커널 버퍼와 페이지 캐시 및 슬랩에서 사용하는 결합된 메모리

available → 스와핑 없이 새 응용 프로그램을 시작하는데 사용할 수 있는 메모리 양의 추정치


# vmstat 

: 가상 메모리 통계 리포트

root@ip-172-31-12-184:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 154776  53768 559812    0    0     2     7    4    1  0  0 100  0  0

 

vmstat [옵션][지연][카운트]

-a : 시스템의 활성 및 비활성 메모리 제공

-f : 부팅 이후의 포크 수를 제공

-s : 다양한 메모리 통계와 CPU 및 IO 이벤트 카운터를 표시

-d : 다양한 디스크에 대한 읽기/쓰기 통계

-f : 모든 업데이트에 대한 타임스태프 정보를 제공


# netstat

: 네트워크 연결상태, 라우팅 테이블, 인터페이스 상태 & 통계 정보 등을 보여주는 명령어

 

netstat [옵션]

netstat -nap : 연결을 기다리는 목록과 프로그램을 출력

netstat -an | grep 포트번호 : 특정 포트가 사용 중에 있는지 확인

netstat -nlpt : TCP listening 상태의 포트와 프로그램을 출력


# ps

: 현재 실행중인 프로세스 목록과 상태를 보여주는 명령어

root@ip-172-31-12-184:~# ps
    PID TTY          TIME CMD
 836620 pts/1    00:00:00 su
 836622 pts/1    00:00:00 bash
 836653 pts/1    00:00:00 ps

$ ps [option]

-A : 모든 프로세스를 출력

a : 터미널과 연관된 프로세스를 출력하는 옵션이다. 보통 x옵션과 연계하여 모든 프로세스를 출력할 때 사용

-a : 세션 리더를 제외하고 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력

-e : 커널 프로세스를 제외한 모든 프로세스를 출력

-l : 프로세스의 정보를 길게 보여주는 옵션으로 우선순위와 관련된 PRI와 NI 값을 확인

-o : 출력 포맷을 지정하는 옵션으로 값으로는, pid, tty, time, cmd 등을 지정할 수 있음

-M : 64비트 프로세스들을 보여준다.

-m : 프로세스들 뿐만 아니라 커널 스레드들도 보여준다.

-p : 특정 PID를 지정할 때 사용

-r : 현재 실행 중인 프로세서를 보여줌

u : 프로세스의 소유자를 기준으로 출력 (ps ax만 하면 USER 기준의 정보가 안뜸, aux 이렇게 같이 대게 사용)

-u : 특정 사용자의 프로세스 정보를 확인할 때 사용, 사용자를 지정하지 않으면 현재 사용자를 기준으로 정보를 출력

x : 데몬 프로세스처럼 터미널에 종속되지 않은 프로세스를 출력. 보통 a옵션과 결합하여 모든 프로세스를 출력할 때 사용

-x : 로그인 상태에 있는 동안 아직 완료되지 않은 프로세스들을 보여줌.

 

ps ax : 시스템에 동작중인 모든 프로세스를 보고 싶을 때 사용 (BSD 포맷으로 출력)

ps aux: 시스템에 동작중인 모든 프로세스를 소유자 정보와 함게 다양한 정볼르 출력

ps -ef | more : 'ps-ef'는 System V 계열 옵션으로 'ps aux'처럼 시스템에 동작중인 모든 프로세스를 full format으로 출력. more명령어를 추가해서 한 페이지씩 화면에 출력되도록 조정

ps -el | head : 긴 포맷으로 출력하고 싶을 경우 -l 옵션을 사용


df

: 리눅스 시스템 전체의 (마운트 된) 디스크 사용량을 확인할 수 있는 명령어

파일시스템, 디스크 크기, 사용량, 여유공간, 사용률, 마운트 지점 순

USB메모리나 SD카드의 저장공간도 여기서 확인이 가능

root@ip-172-31-12-184:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        8065444 3619420   4429640  45% /
devtmpfs          495236       0    495236   0% /dev
tmpfs             501024       0    501024   0% /dev/shm
tmpfs             100208     828     99380   1% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs             501024       0    501024   0% /sys/fs/cgroup
/dev/loop0         34176   34176         0 100% /snap/amazon-ssm-agent/3552
/dev/loop4         56832   56832         0 100% /snap/core18/2128
/dev/loop6         25600   25600         0 100% /snap/amazon-ssm-agent/4046
/dev/loop7         72064   72064         0 100% /snap/lxd/21029
/dev/loop3         63360   63360         0 100% /snap/core20/1081
/dev/loop9         68864   68864         0 100% /snap/lxd/21545
/dev/loop5         63360   63360         0 100% /snap/core20/1169
/dev/loop10        33280   33280         0 100% /snap/snapd/13270
/dev/loop11        33280   33280         0 100% /snap/snapd/13640
/dev/loop2         56832   56832         0 100% /snap/core18/2246
tmpfs             100204       0    100204   0% /run/user/1000

 

df [옵션]

-h : Mega, Giga 단위로 디스크 공간을 확인할 수 있음


# du

: df 가 시스템 전체의 디스크 공간을 확인하는 명령어라면, du는 특정 디렉토리를 기준으로 디스크 사용량을 확인

root@ip-172-31-12-184:~# du
7104    ./.cache/composer/repo/https---repo.packagist.org
7108    ./.cache/composer/repo
44      ./.cache/composer/files/brick/math
48      ./.cache/composer/files/brick
40      ./.cache/composer/files/nunomaduro/collision
44      ./.cache/composer/files/nunomaduro
20      ./.cache/composer/files/league/config
20      ./.cache/composer/files/league/mime-type-detection
52      ./.cache/composer/files/league/flysystem
304     ./.cache/composer/files/league/commonmark
400     ./.cache/composer/files/league
68      ./.cache/composer/files/guzzlehttp/psr7
116     ./.cache/composer/files/guzzlehttp/guzzle
32      ./.cache/composer/files/guzzlehttp/promises
220     ./.cache/composer/files/guzzlehttp
16      ./.cache/composer/files/tijsverkoyen/css-to-inline-styles
20      ./.cache/composer/files/tijsverkoyen
20      ./.cache/composer/files/phpoption/phpoption
24      ./.cache/composer/files/phpoption
...

du [옵션]

du -h /home : 특정 디렉토리(home) 지정

du -sh /home : -s 옵션을 사용하면 요약된 정보를 출력


# w

: 서버의 간단한 정보와 사용자들의 정보를 함께 출력

root@ip-172-31-12-184:~# w
11:52:41 up 74 days, 22:19,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
ubuntu   pts/0    115.93.103.92    09:13    0.00s  0.07s  0.01s sshd: ubuntu [p

현재시스템에 접속한 사용자 보기

who -s : who랑 같음
who -m : 현재 접속한 사용자의 정보만 출력
who -H : 결과로 출력되는 필드의 제목을 함께 출력
who -u : 현재 시스템에 접속한 사용자들이 로그인한채로 아무런 작업을 하지 않고 얼마나 있었는가를 "idle time"으로 출력
who -a : 모든 정보 출력
who -b : 시스템이 마지막으로 언제 부팅하였는가를 확인
users : 현재 시스템에 접속한 사용자들의 계정명만을 확인하는 명령어
root@ip-172-31-12-184:~# who
ubuntu   pts/0        2021-11-03 09:13 (115.93.103.92)
ubuntu   pts/1        2021-11-03 13:14 (115.93.103.92)
root@ip-172-31-12-184:~# who -s
ubuntu   pts/0        2021-11-03 09:13 (115.93.103.92)
ubuntu   pts/1        2021-11-03 13:14 (115.93.103.92)
root@ip-172-31-12-184:~# who -m
ubuntu   pts/1        2021-11-03 13:14 (115.93.103.92)
root@ip-172-31-12-184:~# who -H
NAME     LINE         TIME             COMMENT
ubuntu   pts/0        2021-11-03 09:13 (115.93.103.92)
ubuntu   pts/1        2021-11-03 13:14 (115.93.103.92)
root@ip-172-31-12-184:~# who -u
ubuntu   pts/0        2021-11-03 09:13 01:56      834565 (115.93.103.92)
ubuntu   pts/1        2021-11-03 13:14   .        836314 (115.93.103.92)
root@ip-172-31-12-184:~# who -a
           system boot  2021-08-20 13:33
LOGIN      ttyS0        2021-08-20 13:33               583 id=tyS0
LOGIN      tty1         2021-08-20 13:33               607 id=tty1
           run-level 5  2021-08-20 13:33
ubuntu   - pts/0        2021-11-03 09:13 01:56      834565 (115.93.103.92)
ubuntu   - pts/1        2021-11-03 13:14   .        836314 (115.93.103.92)
           pts/2        2021-10-29 16:57            802682 id=ts/2  term=0 exit=0
root@ip-172-31-12-184:~# who -b
         system boot  2021-08-20 13:33
root@ip-172-31-12-184:~# users
ubuntu ubuntu

Linux ubuntu timezone 변경

root@ip-172-31-12-184:~# date
Wed Nov  3 00:32:01 UTC 2021
root@ip-172-31-12-184:~# timedatectl
               Local time: Wed 2021-11-03 00:32:07 UTC
           Universal time: Wed 2021-11-03 00:32:07 UTC
                 RTC time: Wed 2021-11-03 00:32:08
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
root@ip-172-31-12-184:~# timedatectl list-timezones | grep Seoul
Asia/Seoul
root@ip-172-31-12-184:~# sudo timedatectl set-timezone Asia/Seoul

root@ip-172-31-12-184:~# timedatectl
               Local time: Wed 2021-11-03 09:33:54 KST
           Universal time: Wed 2021-11-03 00:33:54 UTC
                 RTC time: Wed 2021-11-03 00:33:56
                Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
root@ip-172-31-12-184:~# date
Wed Nov  3 09:33:58 KST 2021

부족한 부분이 있다면 댓글로 남겨주세요 : )

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.