본문 바로가기

linux

리눅스 명령어 50개

1. ls: 명령어를 사용한 해당 디렉토리 내의 파일이나 디렉토리를 확인한다.

옵션   
-a: 숨겨진 파일이나 디렉토리도 보여줌
-l: 자세한 내용을 출력함
 
[root@stwClientVpn /]# ls -al
total 20
dr-xr-xr-x.  17 root root  224 Mar 12  2019 .
dr-xr-xr-x.  17 root root  224 Mar 12  2019 ..
lrwxrwxrwx.   1 root root    7 Mar 12  2019 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Mar 12  2019 boot
drwxr-xr-x   21 root root 3280 Feb  4 11:14 dev
drwxr-xr-x.  86 root root 8192 Feb  4 11:14 etc
drwxr-xr-x.   2 root root    6 Apr 11  2018 home
lrwxrwxrwx.   1 root root    7 Mar 12  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Mar 12  2019 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   3 root root   34 Mar 12  2019 opt
dr-xr-xr-x  121 root root    0 Feb  4 11:14 proc
dr-xr-x---.   6 root root  188 Feb  4 10:33 root
drwxr-xr-x   32 root root  900 Feb  4 11:14 run
lrwxrwxrwx.   1 root root    8 Mar 12  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x   13 root root    0 Feb  4 11:14 sys
drwxrwxrwt.   9 root root  262 Feb  4 11:14 tmp
drwxr-xr-x.  13 root root  155 Mar 12  2019 usr
drwxr-xr-x.  21 root root 4096 Mar 12  2019 var
 
 

2. grep: 특정 문자열을 찾는다.

ls 명령어와 하이픈과 조합해 원하는 파일이 있는지 찾을 수 있다.

 

# ls -al | grep .html
-rw-r--r-- 1 root root  9 Dec 30 01:01 index.html
 

3. alias: 기본 명령어나 긴 명령어를 다른 이름으로 간단하게 줄인다.

 

# alias a='ls -al'
# a
total 4
drwxr-xr-x 2 root root 23 Dec 30 01:01 .
drwxr-xr-x 4 root root 33 Dec 30 01:01 ..
-rw-r--r-- 1 root root  9 Dec 30 01:01 index.html

 

4. mv: 하나 이상의 파일 or 디렉터리를 이동 시킨다.

 

# mv test /var/www/html
# cd /var/www/html
# ls
test
 

5. cp: 파일이나 디렉터리를 복사한다. 

옵션
-r: 디렉터리를 복사할 때 사용함
 
# cp test test2
# ls
test    test2
 

6. passwd: 계정의 암호를 설정한다.

 

# passwd stw
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.

 

7. su: 계정을 변경한다.

su 사용자 이름을 입력하고 비밀번호를 입력하면 로그인이 된다.
 
$ su root
Password:

8. date: 현재 날짜, 시간을 출력한다.

 

# date
Thu Dec 30 07:58:38 UTC 2021
 

9. pwd: 현재 리눅스의 경로를 출력한다.

 

 # pwd
/test
 

10. groupadd: 그룹을 추가한다.

# groupadd test
옵션
-g: GROUP ID를 지정할 수 있음.

 

# groupadd -g 1000 test
//  gid가 1000인 test라는 그룹이 생성됨.
//  그룹 목록은 /etc/group에 저장됨
 
# tail -5 /etc/group
       apache:x:48:
       saslauth:x:76:
       mysql:x:27:
       sjw:x:1001:
       test:x:1002:

11. groupdel: 그룹을 삭제한다.

 

# groupdel test
# tail -5 /etc/group
      apache:x:48:
      saslauth:x:76:
      mysql:x:27:
      sjw:x:1001:

 

12. rm: 파일을 삭제한다.

 

# ls 
bin   dev  home  lib64  mnt  proc  run   srv  test01  usr
boot  etc  lib   media  opt  root  sbin  sys  tmp     var
# rm test01
rm: remove regular empty file ‘test01’? y
# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

 

옵션

-f: 묻는 것을 무시한다.
-r: 폴더를 삭제한다.
# ls
bin   dev  home  lib64  mnt  proc  run   srv  test01  usr
boot  etc  lib   media  opt  root  sbin  sys  tmp     var
# rm -rf test01
# ls 
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
 

13. gpasswd: 그룹을 수정한다.

옵션
-a : 유저를 그룹에 추가한다.

 

# gpasswd -a stw root
// stw라는 유저를 root 라는 그룹에 추가시킨다.
-d : 유저를 그룹에서 제거한다.

 

# gpasswd -d stw root
// root라는 그룹에서 stw라는 유저를 제외시킨다.
 

14. rmdir: 디렉터리를 제거한다.

 

# ls
bin   dev  home  lib64  mnt  proc  run   srv  test01  usr
boot  etc  lib   media  opt  root  sbin  sys  tmp     var
# rmdir test01
# ls
bin   dev  home  lib64  mnt  proc  run   srv  usr
boot  etc  lib   media  opt  root  sbin  sys  tmp     var
// -p 옵션을 통해 하위 디렉터리도 제거할 수 있다.
      

15. cd: 현재 위치한 디렉터리에서 이동한다.

[root@ip-172-31-33-147 /] # cd /var/www/html
[root@ip-172-31-33-147 html] #
 

16. history: 입력했던 명령어들을 출력해준다.

 

# history
    1  ls
    2  ifconfig
    3  clear
    4  cd ~
    5  cd ..
    6  ls
    7  ifconfig
 
// !번호를 입력해 번호에 있는 명령어를 다 입력하지 않고 쓸 수 있다.
 

17. pushd: 디렉터리 경로를 저장한다.

# pushd /var/www/html
/var/www/html    /var/www/html
 

18. popd: pushd로 저장한 경로로 돌아간다.

# popd
/var/www/html
 

19. chmod: 파일의 모드를 변경한다.

모드(mode): 읽기, 쓰기, 실행과 각각의 권한을 지정할 대상(파일 소유자(user u), 그룹(group g), 그 외 사용자(other o), 모든 사용자(all a))를 포함한 파일의 속성.

 

# chmod u+rwx test
// test 라는 파일의 모드 권한(r: 읽기, w: 쓰기, x: 실행)을 파일 소유자에게 준다.

 

# chmod g-r test
// 파일을 소유한 그룹의 test 파일 읽기 권한을 해제 시킨다.
 
# chmod ug=rwx test

 

// 파일 소유자와 파일이 속한 그룹에게 모든 권한을 주는 것으로 지정함.
 
파일의 권한 확인은 아래의 명령어로 확인할 수 있음.
 
# ls -l 
-rw-r--r-- 1 root root 17 Mar 24 03:17 test
 

디렉토리도 권한이 있는데 디렉토리로 할 수 있는 작업도 크게 세 가지로 나뉨.


1. 디렉토리에 있는 파일 및 디렉토리 리스트 읽기. (r = read)
2. 디렉토리에 파일 추가, 이름 변경, 삭제. (w = write)
3. 디렉토리에 접근. cd 명령으로 working directory 이동. (x = execute)

 

20. chgrp: 파일의 소유 그룹을 변경한다.

 

# chgrp stw test

// 사용 전
ls -l
-rwxr-xr-x 1 root root 6  3월 10 16:02 test

// 사용 후
# ls -l
-rwxr-xr-x 1 root stw 6  3월 10 16:02 test
 

21. useradd: 리눅스 사용자를 추가한다.

 

# useradd user1
// -m 옵션을 사용하면 사용자의 홈 디렉토리도 함께 만들어줌.
 
# useradd -m 유저이름
// cat /etc/passwd를 통해 등록된 유저의 정보를 확인할 수 있음.

 

22. systemctl: system daemon을 관리한다.

 
# systemctl status 서비스명

 

// 서비스 상태 확인

 
# systemctl enable 서비스명
// 서비스 자동 시작 등록
 
# systemctl restart 서비스명

// 서비스 재시작

 
# systemctl start 서비스명

// 서비스 시작

 
# systemctl stop 서비스명

// 서비스 정지

       

23. man: 명령어의 메뉴얼을 확인할 수 있다.

 
# man 명령어

 

24. --help:  명령어 뒤에 붙이면 간단한 도움말을 볼 수 있다.

 

# ls --help
 

 

25. ps: 현재 프로세서의 상태를 확인할 수 있다.

 

# ps
       PID TTY          TIME CMD
       3673 pts/0    00:00:00 bash
       9721 pts/0    00:00:00 su
       9781 pts/0    00:00:00 su
       9794 pts/0    00:00:00 bash
       30651 pts/0    00:00:00 ps
 
옵션
-e: 커널 프로세스를 제외한 모든 프로세스를 출력해준다.
-f: 풀 포맷으로 보여준다. UID, PID, PPID 등이 함께 표시됨.
-u 사용자 이름: 특정 사용자에 대한 모든 프로세스의 정보를 출력해준다.
 

26. top: OS의 상태를 나타내준다.

옵션
k: 프로세스를 종료시킨다.
space bar: 새로고침
q: 명령어를 종료시킨다.

  

27. adduser: useradd와 비슷하지만 home 디렉토리를 바로 생성해준다.

 

# adduser qwer
# cd /home
# ls
	qwer    stw

28. userdel: 리눅스 사용자를 제거한다.

 

# userdel qwer
       # tail -5 /etc/passwd
       ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/bash
       apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
       saslauth:x:995:76:Saslauthd user:/run/saslauthd:/sbin/nologin 
       mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
       stw:x:1001:1001::/home/stw:/bin/bash
// 홈 디렉터리나 메일 파일을 제거하기 위해서는 -r 옵션을 주고 지워야 한다.

   

29. chown: 파일의 소유자를 변경한다.

 

 # chown root test
 
// 사용 전
 
# ls -l
-rwxr-xr-x 1 stw stw 6  3월 10 16:02 test
 
// 사용 후

 

# ls -l
-rwxr-xr-x 1 root root 6  3월 10 16:02 test
 
// 그룹만 바꾸기

 

# chown :stw test
 
# ls -l
-rwxr-xr-x 1 root stw 6  3월 10 16:02 test
 
// 소유자와 그룹 동시에 바꾸기
 
# chown root:stw test
 
# ls -l
-rwxr-xr-x 1 root stw 6  3월 10 16:02 test
 
// 하위 폴더의 소유자도 모두 변경하기
 
# chown -R stw:stw folder

 

30. pstree: 실행 중인 프로세스를 트리 구조로 나타낸다.

 

31. tar: 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용한다.

옵션
-f: 대상 tar 아카이브 지정.
-c: tar 아카이브 생성. 기존 아카이브 덮어 쓰기.
-x: tar 아카이브 에서 파일을 추출
-v: 처리되는 과정을 나열
-C: 경로 지정
 
# tar -cvf test.tar test01.txt test02.txt
// test01.txt와 test02.txt가 들어간 test.tar 이라는 아카이브 파일 생성
 
# tar -xvf test.tar -C /var/www/html
// 압축된 test.tar을 /var/www/html 경로에 풀어줌.

 

32. clear: 현재 리눅스 터미널의 내용을 지운다.

 

33. yum(yellow dog updater): RPM 기반 시스템용 자동 업데이터 및 설치/제거 도구이다.

 

# yum install 패키지
// 패키지 설치 명령 
 
# yum remove 패키지
// 패키지 삭제 명령  

 

34. wget: 웹 상의 파일을 다운로드 받는다.

 

# wget [url]

 

35. apt(advanced package tool): 데비안 계열 OS의 패키지 설치 도구

 

# apt-get install 패키지명
// 설치 

 

# apt-get upgrade 패키지명
// 업그레이드
 
# apt remove 패키지명
// 삭제

 

36. vi: 문서 편집기를 실행한다.

 

# vi [이름]
// vi는 명령 모드(command mode)와 편집 모드(insert mode)가 있는데 i를 누르면 편집 모드로 들어갈 수 있다.
// 이때 esc를 누르면 편집 모드를 빠져나와 다시 명령 모드로 나올 수 있다.
// 명령 모드를 종료하기 위해서는 :를 눌러 q 또는 wq를 입력하고 종료할 수 있다.

// :set nu를 통해 줄번호를 지정, /찾고싶은단어 를 통해 찾고 싶은 단어를 찾을 수 있다. 

 

37. du: 파일에 사용되는 블록 수를 출력한다.

 

# du test
4       test

 

옵션
-h: 사용자가 보기 편한 형태의 용량으로 출력 한다.
 
du -h test
4.0K    test

 

38. head: 파일을 윗부분 부터 출력한다.

 
# head test
abcdeft
1
23
4
34
2
56

7
8

// 아무 옵션도 입력하지 않으면 기본적으로 10줄을 보여준다.

옵션
head -숫자: 숫자 만큼 윗부분 부터 출력한다. 
 

39. tail: 파일을 아랫부분 부터 출력한다.

 

tail test
56

7
8
9
0
1
23
4
// head와 사용법이 같다.
 

40. cat(concatenate): 파일을 인자로 받아서 그대로 출력한다.

 

# cat test
abcdeft
1
23
4
34
2
56

7
8
9
0
1
23
4

 

41. sudo: root의 권한으로 명령어를 실행한다.

 
[root@stwClientVpn /]# sudo su stw
[stw@stwClientVpn /]$

// root 권한으로 로그인을 해 비밀번호를 입력할 필요가 없다.

 

42. cal: 달력을 출력한다.

 

[root@stwClientVpn /]# cal
    February 2022
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28

 

43. shutdown, poweroff: 리눅스를 종료 시킨다.

 

44. touch: 0바이트 파일을 생성하거나 파일의 날짜나 시간을 수정한다.

 

# touch test1 test2 test3
# ls
test1	test2	test3

 

45. find: 현재 디렉터리에 있는 파일을 찾는다.

 

# find home
home
home/ec2-user
home/ec2-user/.bash_logout
home/ec2-user/.bash_profile
home/ec2-user/.bashrc
home/ec2-user/.ssh
home/ec2-user/.ssh/authorized_keys
home/ec2-user/.bash_history
home/stw
home/stw/.bash_logout
home/stw/.bash_profile
home/stw/.bashrc
home/stw/.bash_history
home/stw/.viminfo
home/66880301
home/66880301/.bash_logout
home/66880301/.bash_profile
home/66880301/.bashrc
home/sjw
home/sjw/.bash_logout
home/sjw/.bash_profile
home/sjw/.bashrc
home/sjw/.bash_history

옵션

-name:  찾을 파일의 이름을 지정한다.
 
# find -name apache
./etc/selinux/targeted/active/modules/100/apache
./usr/local/src/apache-tomcat-8.5.73/work/Catalina/localhost/ROOT/org/apache
./usr/local/src/tomcat-connectors-1.2.48-src/jkstatus/src/share/org/apache
./usr/local/src/tomcat-connectors-1.2.48-src/jkstatus/test/src/share/org/apache
 

46. more: 파일을 화면 단위로 끊어서 출력한다.

 

more test
abcdeft
1
23
4
34
2
56

7
8
9
0
1
23
4
21
312
32
13
123
213
213
213
21
--More--(66%)

 

47. whoami: 지금 로그인한 사람이 누구인지 출력한다.

 

[root@stwClientVpn /]# whoami
root

48. arch: 시스템의 아키텍처를 확인한다.

 

# arch
x86_64

49. bc: 계산기를 실행한다.

 

# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+1
2

50. jobs: 수행 중인 프로세스들을 확인해준다.

 

# jobs
[1]-  Stopped                 du
[2]+  Stopped                 bc

'linux' 카테고리의 다른 글

[Linux] 자주쓰는 명령어 정리  (0) 2025.07.23
리눅스 MySQL 설치 및 이중화 설정  (0) 2022.02.04
DNS 개념, DNS 로컬 서버 연결  (1) 2022.01.21
centos7 파티션 설정  (0) 2021.05.25
centos 7 minimal 부팅 usb 만들기  (0) 2021.05.11