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 |