K-Shield Jr
[K-Shield Jr - 복습] 리눅스 서버 기본 활용 방안 2
h00ddu
2023. 8. 17. 03:11
리눅스 기본 명령어 사용법
시스템 종료 및 재시작
- shutdown : 리눅스의 시스템 종료 및 재시작을 할 수 있는 명령어
# 시스템 종료 및 재시작
$ shutdown -h now
$ halt
$ init 0
# 즉시 재시작
$ shutdown -r now
$ reboot
$ init 6
# 10분 후에 종료
$ shutdown -h 10m
# 종료 후 22시에 재가동
$ shutdown -r 22:00
# 예약된 종료 취소
$ shutdown -c
[ Run Level ]
- 0 : 시스템 종료
- 1 : Single user mode
- 2 : Multi user mode (Without NFS)
- 3 : Full Multi user mode
- 4 : unused
- 5 : X-Windows
- 6 : Reboot
파일 및 디렉터리 목록 보기
- ls : list segments의 약자로 파일의 목록을 표시하는 명령어
$ ls
Desktop Documents Downloads Music Pitures Public Templates Videos ...
< ls 명령어 옵션 >
옵션 | 기능 |
-a | 디렉터리 내의 숨김 파일을 포함한 모든 파일 출력 (상세정보까지) |
-l | 파일 정보를 표시 |
-s | 블록 단위로 파일 크기 표시 |
-t | 파일 최근 변경 시간에 따라 정렬해서 출력 (시간순 출력) |
--color | 파일 종류에 따라 색상 표시 |
-R | 현재 작업 디렉터리와 하위 디렉터리 모두 출력 |
--help | 도움말 |
현재 디렉터리 이름 출력
- pwd : Print name of Working Directory의 약자로 작업 중인 디렉터리 이름을 출력하는 명령어
$ pwd
/home/user
※ 상대 경로와 절대 경로
- 상대 경로 : 현재 디렉터리(./) 기준 경로 (상대적으로 변화함) → ex. ../home/user
- 절대 경로 : 최상위 디렉터리(/) 기준 경로 (절대적으로 변하지 않음) → ex. /home/user
- .은 현재 디렉터리를 의미하고 두 번 사용하면 상위 디렉터리를 의미함
파일 또는 디렉터리 복사
- cp : copy의 약자로 파일 또는 디렉터리 복사에 사용되는 명령어
- 원하는 경로 없이 복사할 경우 현재 경로에 자동으로 복사
- 명령어 형식
- cp [옵션] [원본_파일] [원하는_경로&파일명(확장자)]
- cp [옵션] [원본_디렉터리] [원하는_경로&디렉터리명]
< cp 명령어 옵션 >
옵션 | 기능 |
-a | 원본 파일의 속성, 링크 정보들을 유지하면서 복사 |
-b | 백업 파일을 만듦 |
-d | 심볼릭 파일 자체를 심볼릭 정보와 함께 복사 |
-f | 복사할 파일이 존재할 때 삭제하고 복사 |
--p | 원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사 |
-r | 서브 디렉터리 내에 있는 모든 파일까지 통째로 복사 |
-u | 대상 파일보다 원본 파일이 새로운 것일 때 복사 |
파일 삭제
- rm : remove의 약자로 필요 없는 파일을 삭제할 때 사용하는 명령어
- 명령어 형식 : rm [옵션] [파일명]
< rm 명령어 옵션 >
옵션 | 기능 |
-d | 디렉터리 삭제 |
-f | 삭제할 것인가라는 메시지 없이 그대로 강제 삭제 |
-l | 삭제 시 일일이 삭제할 것인지 물음 |
-r | 하위 디렉터리를 포함한 파일들을 모두 삭제 |
-v | 삭제되기 전의 파일들을 보여줌 |
디렉터리 생성 및 삭제
- mkdir : make directory의 약자로 디렉터리를 생성하는 명령어
- 명령어 형식 : mkdir [옵션] [생성할_디렉터리명(복수지정가능)]
- rmdir : remove directory의 약자로 디렉터리를 삭제하는 명령어 → 디렉터리가 비어 있을 때만 삭제 가능
- 명령어 형식 : rmdir [옵션] [디렉터리명(복수지정가능)]
파일 이동 및 이름 변경
- mv : move의 약자로 파일을 옮기거나 이름을 변경할 때 사용하는 명령어 → 파일명을 지정하지 않으면 기존 파일명 그대로 유지
- 명령어 형식
- 파일 이동 : mv [원본_파일] [이동경로&저장할_파일명]
- 이름 변경 : mv [원본_파일] [변경할_파일명]
파일 찾기
- find : 조건에 맞는 파일을 찾아주는 명령어
- 기본적으로 하위 디렉터리까지 모두 탐색하며, 파일의 이름부터 수정 시간에 이르기까지 주어진 파라미터들과 일치하는 파일을 찾아줌
- 명령어 형식 : find [경로] [표현식] [지정조건]
< find 명령어 옵션 >
옵션 | 기능 |
-name | 지정된 문자열 패턴에서 해당하는 파일 검색 → 이름이 완전히 일치해야 검색 가능 |
-empty | 빈 디렉터리 또는 크기가 0인 파일 검색 |
-delete | 검색된 파일 또는 디렉터리 삭제 |
-exec | 검색된 파일에 대해 지정된 명령 실행 |
-path | 지정된 문자열 패턴에 해당하는 경로에서 검색 |
검색 결과를 출력하는데, 검색 항목은 newline으로 구분 (Defalut) | |
-print0 | 검색 결과를 출력하는데, 검색 항목은 null로 구분 |
-size | 파일 크기를 사용하여 파일 검색 |
-type | 지정된 파일 타입에 해당하는 파일 검색 |
-atime | 파일 접근(access) 시각을 기준으로 파일 검색 |
-ctime | 파일 내용 및 속성 변경(change) 시각을 기준으로 파일 검색 |
-mtime | 파일의 데이터 수정(modify) 시각을 기준으로 파일 검색 |
-mindepth | 검색을 시작할 하위 디렉터리의 최소 깊이 지정 |
-maxdepth | 검색을 시작할 하위 디렉터리의 최대 깊이 지정 |
프로세스 상태 확인
- ps : process status의 약자로 현재 사용하고 있는 프로세스들의 상태를 점검할 수 있게 확인하는 명령어
- 명령어 형식 : ps [옵션]
< ps 명령어 옵션 >
옵션 | 기능 |
-ef | 표준 구문으로 시스템의 모든 프로세스 표시 |
-u | 실행한 유저와 실행 시간을 표시 |
-j | "job" 형식으로 표시 |
-l | 긴 포맷으로 출력 |
-m | 메모리 정보 표시 |
-a | 다른 유저의 프로세스 현황 표시 |
-x | 터미널 제어 없이 프로세스 현황 표시 |
호스트에 로그인한 사용자 확인
- who :호스트에 로그인한 사용자의 정보를 출력하는 명령어
- 명령어 형식 : who [옵션]
< who 명령어 옵션 >
옵션 | 기능 |
-l | idle time과 함께 사용자 출력함 |
-m | who 명령을 실행한 사용자 표시 |
-q | 사용자 이름과 사용자 수 출력 |
-w, -T | 각 사용자의 메시지 설정 상태 출력 |
프로세스 제어
- kill : 프로세스를 지정하고 신호(Signal)를 보내서 제어하는 명령어 → 프로세스를 강제 종료할 때 많이 사용
- 명령어 형식 : kill [옵션] [PID]
< kill 명령어 옵션 >
옵션 | 기능 |
-1 | -HUP 프로세스를 재활성화함 |
-9 | 프로세스 강제 종료 |
-l | 시그널 리스트 확인 (List) |
파일 내용 출력
- cat : concatenate에서 유래되었으며, 하나 이상의 파일의 이름을 인자로 받아서 터미널에 내용을 그대로 출력하는 명령어
- 명령어 형식 : cat [옵션] [파일명]
< cat 명령어 옵션 >
옵션 | 기능 |
-b | 빈 행을 제외하고, 줄 번호를 화면 왼쪽에 표시 |
-n | 빈 행을 포함하고, 줄 번호를 화면 왼쪽에 표시 |
-s | 연속되는 2개 이상의 빈 행을 한 행으로 출력 |
-v | tab, 행 바꿈 제외한 제어 문자를 캐럿(^)형태로 출력 |
-E | 행마다 끝에 $ 문자를 출력 |
-T | 탭(tab) 문자를 출력 |
-A | -vET 옵션을 사용 |
긴 내용의 파일 내용, 명령 결과 확인
- more : 파일을 읽어 화면에 화면 단위로 출력하는 명령어
- 긴 내용을 나누어 확인할 수 있는 장점이 존재
- 한 개 이상의 명령어와 파이프 라인(|)을 사용해 같이 쓰는 경우가 많으며, 별도 단축키로 조작 가능
- 명령어 형식 : more [옵션] [파일명] [명령어] | more
< more 명령어 사용 시 텍스트 모드 단축키 >
옵션 | 기능 |
h | 도움말 확인 |
q | 종료 |
Enter | 1행 아래로 이동 |
Space | 아래로 1 페이지 이동 |
= | 현재 위치의 행 번호 표시 |
/ | 문자열 검색 |
v | 현재 확인 위치에서 vi 편집기 실행 |
이전 명령어 목록 보기 및 실행
- history : 이전에 사용한 명령어 목록을 확인하는 명령어 → 쉘 마다 상이함
- 이전에 명령어들이 저장되는 위치 : .bash_history 파일
- 명령어 형식
- history
- history [옵션]
< history 명령어 옵션 >
옵션 | 기능 |
-c | History List 초기화 |
-d [번호] | 이전 실행 명령어 중 특정 명령어 삭제 |
-w [파일명] | History List를 별도 파일로 저장 (파일명 미지정시 기존 파일 덮어씀) |
[n] | 최근에 입력한 명령어 중 최근 사용한 명령어 n개 출력 |
< history 확장 옵션 >
옵션 | 기능 |
!! | 가장 최근 사용한 명령 실행 |
![n] | History List에서 n번째 명령 실행 |
![string] | History List에서 입력한 string 값이 존재하는 명령 실행 |
!?[string] | History List에서 입력한 string 값이 존재하는 가장 최근 명령 실행 |
[확장기능]:p | 실행하지 않고 명령어 확인만 하기 (ex. !command:p) |
Ctrl + R | History List 내에서 검색하기 |