who, whoami, who am i
- 현재 시스템에 접속한 유저 정보를 출력함
sudo
- 관리자 권한 요청
- 리눅스의 명령어 사용 시 관리자 권한이 필요한 명령어를 사용할 경우 관리자의 권한을 얻어서 명령어를 실행
- 리눅스에서 관리자는 root 계정을 뜻함
- 사용법 : sudo [리눅스명령어]
passwd
- 비밀번호 변경
- 계정명을 입력하지 않으면 현재 자신의 계정 비밀번호를 변경함
- 현재 접속한 계정이 관리자 계정일 경우 다른 사용자의 비밀번호도 변경할 수 있음
- 사용법 : passwd (계정명)
pwd
- 현재 위치 확인
- 현재 위치를 절대 경로 방식으로 출력함
- 사용법 : pwd
mkdir
- 디렉토리(폴더)를 생성
- 생성 시 경로(절대경로, 상대경로)를 입력하여 원하는 위치에 디렉토리를 생성 가능
- 사용법 : mkdir [디렉토리명]
cd
- 디렉토리의 위치를 변경하는 명령어
- 상대 경로, 절대 경로를 이용하여 원하는 위치로 이동할 수 있음
- 절대 경로 : 최상위 디렉토리인 '/' (root 디렉토리라고함) 를 기준으로 현재 자신의 위치를 찾는 방식
- / : 디렉토리 표시의 가장 앞에 있는 것은 최상위 디렉토리를 뜻함
- ~ : 현재 로그인된 계정의 home 디렉토리를 뜻함
- 상대 경로 : 현재 내가 있는 위치를 기준으로 다른 디렉토리의 위치를 찾는 방식
- . : 현재 내가 있는 위치의 디렉토리
- .. : 현재 내가 있는 위치보다 한단계 상위 디렉토리
- / 기호의 의미 : 2가지가 존재
- 최상위 디렉토리를 뜻하는 기호(경로 표시의 가장 앞에 있을 경우, / 혼자만 있을 경우)
- 디렉토리를 구분하는 기호 ( /abc/def/gh, ../abc/def/ )
- 사용법 : cd [이동할 경로]
ls
- 현재 및 지정한 경로의 파일 및 하위 디렉토리의 목록을 출력하는 명령어
- 사용법 : ls (옵션) [디렉토리경로]
- 옵션 : -l : 파일의 상세 정보 출력
-a : 숨김 파일 및 디렉토리의 정보 출력
-h : 파일 및 디렉토리의 용량 표시를 사용자가 보기 쉽게 표시함 (l 옵션 함께 사용함)
*, ? 와일드 카드 문자 사용
- 와일드 카드 문자는 임의의 문자를 표현하는 특수 기호
- 다른 명령어와 함께 사용
- * : 임의의 모든 문자 (문자 수 상관없음)
- ? : 임의의 문자 1개
cp
- 파일 및 디렉토리를 복사하는 명령어
- 파일을 복사 시 사본의 이름을 지정하지 않으면 원본의 이름을 그대로 사용(이름을 다르게 지정하면 다른 이름으로 복사됨)
- 경로를 지정하지 않으면 현재 디렉토리를 뜻함
- 사용법 : cp (옵션) [원본경로] [사본경로]
- 옵션 : -f : 같은 이름의 파일이 있을 경우 덮어쓰기
-r : 하위 디렉토리의 내용까지 함께 복사
-v : 복사 과정을 화면에 출력
mv
- 파일 및 디렉토리를 이동시키는 명령어
- cp와 동일하게 이동 시 이동할 위치 및 이름을 지정하지 않으면 원본의 이름을 그대로 사용(이름을 다르게 지정하면 다른 이름으로 이동)
- 현재 디렉토리에 현재 디렉토리로 이동을 하고, 이름을 다르게 입력하면 파일 및 디렉토리의 이름을 변경하는 것으로 인식함
- mv는 cp와 달리 -r 옵션이 기본적으로 적용되어 있음
- 사용법 : mv (옵션) [원본명] [타겟명]
- 옵션 : -f : 같은 파일 및 디렉토리가 있을 경우 덮어쓰기
-v : 이동 과정을 화면에 출력
rm
- 파일 및 디렉토리를 삭제하는 명령어
- 기본적으로 파일만 삭제하도록 되어있음 (-r 옵션 사용 시 디렉토리도 삭제 가능)
- rmdir 이라는 디렉토리를 삭제하는 명령어가 따로 존재하지만 rmdir은 디렉토리 내부에 파일이 있을 경우 디렉토리를 삭제하지 못함
- 사용법 : rm (옵션) [삭제할 대상]
- 옵션 : -f : 사용자에게 삭제 여부를 확인하지 않고 삭제
-r : 하위 디렉토리와 포함된 파일까지 모두 삭제
-v : 삭제 과정을 화면에 출력
vi
- 리눅스의 기본 텍스트 에디터
- 수정할 파일을 지정하지 않을 경우 새 파일을 생성함
- vi 에디터는 입력모드, 명령모드, 실행모드로 나누어짐
- 사용법 : vi [파일명]
- 입력모드 : 파일의 내용을 입력하거나 수정하는 모드
- 입력 모드 사용 시 아래에 -- INSERT -- 라는 표시를 출력
- 수정 모드 사용 시 아래에 -- REPLACE -- 라는 표시를 출력
- 명령모드 : vi의 기본 명령을 실행하는 모드
- 커서 이동을 위한 명령 및 화면 이동 기능
- 문서 편집을 위한 기능
- h, j, k, l : 커서 이동 버튼 (화살표 키로 대응 가능)
- ^ : 현재 행의 가장 왼쪽으로 이동 (home 키)
- $ : 현재 행의 가장 오른쪽으로 이동 (end 키)
- H : 현재 화면의 가장 위쪽으로 이동
- M : 현재 화면의 중간으로 이동
- L : 현재 화면의 가장 아래쪽으로 이동
- gg : 현재 파일의 가장 앞으로 이동
- GG : 현재 파일의 가장 아랫줄로 이동
- yy : 현재 행 복사(한 줄 복사)
- dd : 현재 행 삭제 (한 줄 삭제)
- P : 현재 행 위에 복사한 내용을 붙여넣기
- p : 현재 행 아래에 복사한 내용을 붙여넣기
- u : 실행 취소
- /문자열 : 해당 문자열을 검색 (현재 위치에서 아래로 검색)
- ?문자열 : 해당 문자열을 검색 (현재 위치에서 위로 검색)
- n : 다음 찾기
- N : 이전 찾기
- i : 입력모드로 진입 (현재 위치에서 시작)
- a : 입력모드로 진입 (현재 위치보다 한 칸 뒤에서 시작)
- r : 현재 위치에서 한 글자 수정
- R : 수정모드로 진입 (현재 위치에서 수정)
- 실행모드 : 지정된 명령어 실행하는 모드
- w : 현재까지 입력된 내용을 파일에 저장
- q : 현재 파일에서 나감
- q! : 현재까지 입력된 내용을 버리고 나감
- set number : 줄번호 표시
cat
- 파일의 내용을 화면에 출력하는 명령어
- 파일을 생성할 경우 사용
- 사용법 : cat (옵션) ( > ) [파일명]
- 옵션 : -n : 행 번호를 출력
-b : 빈 행에는 번호를 출력하지 않음
-e : 각 행 끝에 $를 붙여서 출력
more
- 파일의 내용을 화면에 한 페이지씩 출력하는 명령어
- 파이프라인과 함께 사용 시 내용을 한 페이지씩 출력
- 사용법 : more (옵션) [파일명]
- 옵션 : -c : 내용을 보여주기 전에 화면 정리
-[lines] : 한 번에 출력할 라인 수 지정, lines에 숫자로 출력할 라인 수를 입력
[+숫자] : 지정한 행부터 화면에 출력
head / tail
- 파일의 내용을 원하는 라인 수 만큼 출력
- head : 처음부터 지정한 라인 수 만큼 출력
- tail : 끝에서부터 지정한 라인 수 만큼 출력
- 사용법 : head/tail (옵션) [파일명]
- 옵션 : -숫자 : 화면에 출력할 라인 수
which
- 명령어 검색
- 지정한 명령어의 위치를 찾아서 출력하는 명령어
- 사용법 : which [명령어]
find
- 지정한 조건에 맞는 파일을 검색해서 출력함
- 경로를 지정하지 않으면 현재 디렉토리를 기준으로 하여 하위 디렉토리를 검색함
- 사용법 : find (경로) [조건]
- 조건 : -name [파일명] : 지정한 파일의 이름으로 검색
-user [아이디] : 지정한 소유자명으로 파일을 검색
-size [옵션] : 파일의 크기가 일치하는 파일을 검색
- + : 숫자 앞에 + 기호를 붙이면 해당 크기 이상을 뜻함
- - : 숫자 앞에 - 기호를 붙이면 해당 크기 이하를 뜻함
grep
- 파일의 내용을 확인하여 지정한 단어나 문자를 찾아 화면에 출력하는 명령어
- 명령어 실행 후 화면에 출력되는 내용을 중 지정한 단어나 문자를 찾을 경우 사용하는 명령어
- 파이프라인 | 를 사용하여 다른 명령어와 함께 사용함
- 사용법 : grep (옵션) [단어] [파일명]
- 옵션 : -i : 영문 대소문자를 구분하지 않음
-n : 파일 내 행번호까지 출력
gzip/gunzip
- 하나의 파일을 압축하거나 압축을 해제함
- 사용법 : gzip/gunzip [파일명]
tar
- 여러 개의 파일을 하나의 파일로 합치거나 해제하는 명령어
- z 옵션 사용 시 gz 파일로 압축하거나 압축 해제함
- 사용법 : tar (옵션) [압축파일명] [압축할 파일 및 디렉토리명]
- 옵션 : -c : 파일 묶음 생성
-x : 파일 묶음 해제
-f : tar 파일 지정
-z : gz 파일로 압축/해제
-v : 작업 내역을 화면에 출력
권한
- 리눅스 시스템은 모든 파일 및 디렉토리를 소유자, 소유그룹, guest로 나누어서 사용 권한을 부여함
- 이러한 권한 및 소유권을 제어하는 명령어가 chmod, chown 임
- 파일 및 디렉토리에 대한 사용 권한이 없으면 파일 및 디렉토리를 확인, 수정, 삭제할 수 없음
- ls -l 명령을 사용하면 파일 및 디렉토리의 사용 권한을 확인할 수 있음
- 사용 권한은 읽기(read), 쓰기(write), 실행(execute)으로 나누어지고 소유자, 소유그룹, guest 순서로 표현함
- 이러한 권한은 rwx 를 통해서 표현하고 있음
chmod
- 파일 및 디렉토리에 사용 권한을 부여하거나 삭제하는 명령어
- 읽기(read), 쓰기(write), 실행(execute)을 0 ~ 7까지의 숫자로 표현하여 권한을 부여함
- 숫자 사용 시 3자리의 숫자를 모두 입력해야 하며 읽기, 쓰기, 실행에 대한 값을 모두 더한 값이 해당 파일 및 디렉토리의 사용 권한이 됨
- 읽기 4 혹은 +r, -r
- 쓰기 2 혹은 +w, -w
- 실행 1 혹은 +x, -x
- 사용법 : chmod [권한값] [파일명]
chown
- 파일 및 디렉토리에 대한 소유권을 지정한 사용자 및 그룹에게 부여하는 명령어
- 사용법 : chown (옵션) [소유자(:그룹)] [파일 및 디렉토리]
- 옵션 : -R : 모든 하위디렉토리 및 파일의 소유권을 한 번에 변경
-f : 소유권 변경 실패 시 오류를 출력하지 않음
-v : 작업 내역을 화면에 출력
ln
- 하드 링크, 동일한 데이터 블록을 참조하는 서로 다른 파일을 생성
- 원본의 이동이나 삭제와 관계없이 링크된 파일은 그대로 남아 있음
- 디렉토리는 하드 링크 적용 불가
- 사용법 : ln [원본파일] [하드링크 파일]
ln -s
- 심볼릭 링크, 윈도우의 바로가기 아이콘과 비슷한 기능을 가지고 있는 링크
- 디렉토리에도 심볼릭 링크를 적용할 수 있음
- ls -l 명령어 사용 시 심볼릭 링크는 링크 파일임을 화면에 표시함
- 심볼릭 링크 생성 시 절대 경로로 입력해야 함
- 하드링크와의 차이점은 심볼릭 링크는 파일이 완전히 이어져 있기 때문에 원본 파일의 이동 및 삭제 시 링크 파일을 사용할 수 없음
- 각종 프로그램 설치 후 설정 파일 및 실행 파일을 특정 디렉토리에서 관리하고자 할 경우 주로 사용함
- 사용법 : ln -s [원본파일절대경로] [심볼릭링크파일절대경로]
du
- 해당 파일이나 디렉토리의 용량 확인
- 사용법 : du (옵션) (파일 및 디렉토리)
- 옵션 : -h : 사용자가 알아보기 쉬운 형태로 출력
-s : 총 용량을 합산한 형태로 출력
df
- 디스크의 총 사용 용량 확인
- 사용법 : df (옵션)
- 옵션 : -h : 사용자가 알아보기 쉬운 형태로 출력
-T : 파일 시스템 종류를 함께 출력
-t [파일시스템] : 입력한 파일시스템만 출력
-x [파일시스템] : 입력한 파일시스템을 제외하고 출력
- a : 모든 내용을 출력
history
자신이 입력한 명령의 목록을 출력
- 사용법 : history (숫자)
clear
- 화면에 출력된 모든 내용을 지움
- 사용법 : clear
top
- 현재 실행 중인 프로세스 및 cpu, 메모리 사용량을 실시간으로 출력
- 사용법 : top
ps
- 현재 실행 중인 프로세스의 목록을 출력함
- ps만 실행 시 자신의 아이디로 실행한 프로세스만 출력
- 주로 kill 명령을 사용하기 위해서 프로세스의 목록을 출력할 때 사용함
- 사용법 : ps (옵션)
- 옵션 : -e : 모든 프로세스 목록을 출력
-f : 프로세스의 자세한 정보를 출력
-u : 실행한 유저 및 실행 시간을 출력
-a : 다른 유저의 프로세스도 함께 출력
kill
- 현재 실행 중인 프로세스를 종료시키는 명령어
- 옵션 9을 가장 많이 사용함
- 사용법 : kill (옵션) [PID]
- 옵션 : -1 : 연결 끊기, 프로세스의 설정파일 다시 읽기, 사용빈도 낮음
-2 : 인터럽트, 사용빈도 낮음
-3 : 종료, 사용빈도 낮음
-4 : 잘못된 명령, 사용빈도 낮음
-5 : 트랩 주석, 사용빈도 낮음
-7 : 버스 에러, 사용빈도 낮음
-8 : 고정 소수점 예외, 사용빈도 낮음
-9 : 지정 프로세스 종료, 주로 사용
su
- 관리자의 권한을 얻어서 활용할 수 있는 명령
- 다른 사용자의 아이디로 로그인할 수 있음
- 다른 사용자의 아이디로 로그인할 경우 비밀번호를 입력해야 함
- 다른 사용자의 아이디에서 로그아웃 할 경우 exit 를 입력
- 다른 사용자의 아이디를 입력하지 않으면 기본적으로 root 계정으로 접속한다는 의미
- # /etc/sudoers 라는 파일에 sudo 명령을 사용할 수 있는 사용자의 아이디가 입력되어 있음
- 사용법 : su (아이디)
useradd
- 사용자 추가 명령
- 사용법 : useradd (옵션) [생성할 사용자 아이디]
- 옵션 : -d : 홈 디렉토리 지정
-g : 그룹을 지정해서 사용자 생성
-c : 사용자에 대한 설명 추가
-D : 사용자에 대한 기본 설정을 출력
userdel
- 사용자 삭제 명령
- 사용법 : userdel (옵션) [사용자 아이디]
- 옵션 : -r : 해당 사용자의 홈디렉토리도 함께 삭제
모든 사용자 확인
- cat /etc/passwd
- 비밀번호가 설정된 사용자에 한해서 사용자의 목록을 화면으로 출력함
usermod
- 기존 사용자의 정보를 수정
- 사용법 : usermod (옵션) [사용자아이디]
- 옵션 : -c : 사용자의 설명을 수정
-d : 사용자의 홈디렉토리 수정
-m : 사용자의 홈디렉토리 변경 시 파일 이동
-e : 계정 사용 종료일 수정
-g : 기본 그룹 변경
-l : 사용자명 변경
-L : 사용자 패스워드 Lock (로그인 불가)
-U : 사용자 패스워드 UnLock (로그인 가능)
systemctl
- 각종 시스템 명령 실행 명령어
- 기존 CentOS의 service, chkconfig 명령어를 대체하는 명령어
- 사용법 : systemctl (옵션) [프로그램명]
- 옵션 : start : 프로그램 시작
stop : 프로그램 종료
status : 프로그램 현재 상태 확인
restart : 프로그램 재시작
list-untils --type service --all : 등록된 모든 서비스 및 프로그램 상태 표시
enable : 시작 프로그램으로 등록
disable : 시작 프로그램에서 삭제
list-until-files --type service : 모든 서비스 및 프로그램 등록 상태 확인