본문 바로가기

Linux

[Linux] 리눅스 기본 명령어

반응형

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로 나누어서 사용 권한을 부여함
- 이러한 권한 및 소유권을 제어하는 명령어가 chmodchown 
- 파일 및 디렉토리에 대한 사용 권한이 없으면 파일 및 디렉토리를 확인, 수정, 삭제할 수 없음
ls -l 명령을 사용하면 파일 및 디렉토리의 사용 권한을 확인할 수 있음
- 사용 권한은 읽기(read), 쓰기(write), 실행(execute)으로 나누어지고 소유자, 소유그룹, guest 순서로 표현함
- 이러한 권한은 rwx 를 통해서 표현하고 있음

 

 

chmod
- 파일 및 디렉토리에 사용 권한을 부여하거나 삭제하는 명령어
- 읽기(read), 쓰기(write), 실행(execute)0 ~ 7까지의 숫자로 표현하여 권한을 부여함
- 숫자 사용 시 3자리의 숫자를 모두 입력해야 하며 읽기, 쓰기, 실행에 대한 값을 모두 더한 값이 해당 파일 및 디렉토리의 사용 권한이 됨
- 읽기 혹은 +r, -r
- 쓰기 혹은 +w, -w
- 실행 혹은 +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 : 모든 서비스 및 프로그램 등록 상태 확인

반응형