리눅스 명령어 모음

2017. 12. 31. 19:11 / 서기랑

 서버용으로 많이 사용하는 리눅스는 윈도우 처럼 GUI 환경을 가지고 있는 경우도 있지만 배포판에 따라 없는 경우도 있으며 있다고 해도 CLI 환경에서 많은 작업을 하기 때문에 기본 명령어는 필수로 알아 둬야 한다.

 

 ▷ 리눅스 명령어 모음

 평소 윈도우의 CMD 창에서 여러 가지 명령어 들을 사용해본 적이 있다면 리눅스 명령어도 쉽게 사용이 가능할 것이다. 

 

명령어

설명

Whoami

 유효사용자ID 즉 EUID(Effective User ID)를 확인하는 명령어.

 현재 사용 권한에 대한 EUID를 확인하고자 할 경우에 사용 한다.

Who am i

 (띄어쓰기 차이) 

 로그인한 정보를 확인할때 주로 사용하는 명령어.

 whoami보다 많은 정보를 출력해 준다.

Who

 현재 시스템에 접속한 사용자의 이름이나 로그온 정보를 확인하는 명령어.

 -u : 시스템에 누가 로그인 되어 있는지 보여준다.

 -T : 사용자의 터미널이 메시지를 보낼 수 있는지 알려준다.

  (+는 메시지 가능, -는 불가능)

 -H : 헤더 라인을 프린트 한다.

 -q : 사용자 이름과 카운트가 구분된 목록을 보여준다.

  (다른 옵션은 무시.)

id

 사용자 정보, uid, gid, 그룹정보를 확인하는 명령어.
 whoami와 who am i와 유사한 기능을 가지고 있다.

 -g : 그룹 ID만 출력한다.

 -G : 추가 그룹들만 출력한다.

 -n : ID 번호대신 이름을 출력한다.

 -r : 실제 사용자나 그룹 ID를 출력한다.

 -u : 사용자의 ID만 출력한다.

useradd or

adduser

 새로운 사용자를 생성할 때 사용하는 명령어.

 계정사용자와 메일사용자를 생성할 수 있다.

su

 다른 사용자 계정으로 서브 셸을 생성.

 잠시 다른 사용자 계정으로 작업이 필요한 경우 사용한다.

cd

 디렉토리 이동.
 DOS의 cd와 같다.

ls

 디렉토리의 파일을 보여준다.

 DOS의 dir과 같다.

 -a : 도트로 시작되는 이름을 가진 파일명도 전부 보여준다.

 -C : 가로 순서로 나열하여 출력한다.

 -x : 세로 순서로 나열하여 출력한다.

 -d : 현재 디렉토리에 대한 정보를 출력한다.

 -l : 각 파일들에 대한 소유자, 권한, 갱신일 등 자세한 정보를 출력한다.

 -s : 파일이 얼마나 많은 디스크 블록을 차지하고 있는지를 보여준다.

 -t : 파일 갱신일 순서대로 정렬한다.

 -u : 엑세스한 날짜 순서대로 정렬한다.

 -r : 정렬된 순서의 역으로 출력한다.

 -i : 파일의 inode 번호를 보여준다.

 -F : 파일의 특성을 알 수 있는 문자를 나타낸다.

  +는 실행 가능한 파일, /는 디렉토리 이름

  @는 심볼릭 링크, =는 소켓

 -R : 현재 디렉토리 내용과 서브 디렉토리의 내용까지 전부 보여준다.

mkdir

 디렉토리를 생성하는 명령어.

rmdir

 디렉토리를 삭제하는 명령어.
 -p : 하위 디렉토리 모두 제거.

rm

 파일을 삭제하는 명령어.

 -f : 강제 파일 삭제

 -i : 삭제 전에 지울 것인지 다시 물어본다.

 -r : 서브 디렉토리의 파일도 모두 삭제.

 -v : 삭제할 파일의 이름을 표시.

cp

 파일을 복사하는 명령어.

 -a : 원 파일의 구조와 속성을 그대로 복사.

 -b : 복사할 때 덮어쓰는 파일은 백업을 만든다.

 -d : 심볼릭 링크는 심볼릭 링크로 복사하여 원본 파일과 하드 링크를 유지 한다.

 -f : 복사 위치에 존재하는 파일을 제거하고 복사한다.

 -i : 같은 이름의 파일이 존재하면 덮어쓸 것인지 확인한다.

 -I : 하드링크를 만든다.

 -P : 원본 파일의 소유자, 그룸, 권한, 시간 기록을 그대로 복사한다.

 -r : 하위 디렉토리에 포함된 파일 모두를 복사한다.

 -s : 심볼릭 링크를 만든다.

 -u : 파일 정보를 갱신한다.

 -x : 하위 디렉토리는 무시한다.

 -R : 디렉토리를 복사한다.

touch

 파일의 액세스 시간이나 갱신시간을 수정한다.
 -a : 엑세스 시간 수정.

 -m : 갱신 시간 수정.

df

 디스크의 여유공간을 검사하여 보여준다.

 -a : 0블록을 가진 파일도 보고.

 -i : 블록 사용 대신 incode 사용 정보를 보고.

 -k : 블록의 크기를 1k바이트로 계산한다.

 -p : POSIX 형태의 출력을 한다.

 -v : system V의 df와의 호환을 위한 옵션.

du

 지정된 특정 디렉토리나 파일들이 차지하는 공간을 보여준다.
 -s : 총 합계만 보여주고, 하위 디렉토리의 숫자 등은 보여주지않는다.

 -a : 크기가 계산된 각 파일의 크기를 보여준다.

 -b : 바이트 크기로 출력.

 -x : 현재 디렉토리에 마운트된 파일 시스템만 검사.

 -L : 심볼릭 링크 파일은 연결된 파일의 크기를 보여준다.

 find

 파일을 검색하는 명령어.

 디렉토리들을 순회하면서 지정돈 조건에 만족하는 파일을 찾는다.

 -name 파일명 : 지정된 파일을 찾는다.

 -perm 모드 : 권한이 일치하는 파일을 찾는다.

 -type ? : 형태가 같은 파일을 찾는다.

  ?부분에는 d, p, l, s, b, f 등의 기호를 사용하는데

  d는 디렉토리, p는 파이프, l은 심볼릭 링크, s는 소켓, b는 블록, f는 일반 파일이다.

 -links ? : 특정 개수의 링크를 가진 파일을 찾는다.

  ?부분에는 숫자를 넣으면 된다.

 -size ? : 파일의 크기가 일치하는 것을 찾는다.

  ?부분에는 블록단위를 넣으면 되는데 한 블록은 512바이트지만,

  뒤에 k를 붙이면 1키로바이트 크기의 블록 숫자로 간주한다.

 -user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 계정명이나 번호 둘 다 가능하다.

 -atime ? : 최근 며칠내에 엑세스한 파일을 검색한다.

  ?에 날짜수를 넣으면 된다.

 -exec 명령 : 원하는 조건에 맞는 파일을 찾으면 해당 명령어를 실행한다.

  명령의 끝은 \;로 끝내면 되고, find로 찾은 파일을 인수로 사용하고 싶다면 {}를 사용하면 된다.

 -newer 파일 : 지정한 파일보다 최근에 갱신된 모든 파일을 찾는다.

 cat

 파일의 내용을 화면에 출력하는 명령어.

 -b : 공백 외에 글자가 있는 모든 행의 개수를 센다.

 -e : 제어 문자를 ^ 형태로 출력하고, 각 행의 끝에 $를 추가한다.

 -n : 각 행을 출력하면서 행 번호를 첨부한다.

 -s : 중복되고 겹치는 빈 행은 하나의 행으로 처리한다.

 -r : 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다.

 -u : 유닉스 호환성을 위해 추가된 옵션.

 -v : tab과 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력.

 -E : 각 행마다 끝에 $ 를 출력한다.

 -T : tab 문자를 출력.

 -A : -vET와 같은 효과를 가진다.

more

 한 화면씩 출력을 보여주는 유틸리티.
 한 번에 천체적으로 볼 수 없는 파일은 이것을 사용하여 스크롤을 제어 할 수 있다.

 -n : 여기서 n은 숫자를 의미하며, 숫자는 출력 행수를 지정한다.

 -c : 화면 전체를 지운 후 한 행씩 출력.

 -d : 스페이스나 q 키를 누르라는 프롬프트를 출력.

 -f : 화면의 행이아닌 실제 논리적인 행 수를 계산.

 -s : 중복되고 겹치는 빈 행은 하나의 행으로 처리.

 -p : 스크롤하지 않고, 화면을 지우고 출력한다.

tar

 파일을 백업하고나 전송을위해 하나로 결합하는데 쓰이는 유틸리티 명령어.

 -c : 아카이브를 생성한다.

 -t : 아카이브 파일을 풀지 않고 파일 안의 내용을 확인.

 -x : 아카이브 파일을 풀어준다.

 -v : 작업내용 출력.

 -z : gzip 형식으로 압축한다. 해제시에도 같은 옵션을 사용.

 -f : 압축옵션, 해제시에도 사용.

 -j : bz2 압축, 해제시에도 사용.

gzip

 압출을 해주는 유틸리티 명령어.
 기본적으로 tar에서 gzip을 지원하기때문에 잘 쓰이지는 않는다.
 -v숫자 : 숫자를 기입하지않으면 기본은 6이다.

  숫자가 적을수록 속도 위주의 압축, 높을수록 최대 압축이다.

 -d : 압축 해제.

mount

 다른 파티션의 디스크나 다른 기억 장치를 파일 시스템으로 연결하는 명령어.

 -v : 마운트 작업을 수행사면서 자세한 정보를 출력.

 -w : 마운트되는 파일 시스템을 읽기 쓰기가 가능하도록 한다.

 -r : 마운트되는 파일 시스템이 읽기만 가능하도록 한다.

 -n : /etc/rntab 파일에 정보를 기록하지않는다.

 -a : /etc/fstab 파일에 있는 모든 파일 시스템을 마운트하도록 한다.

unmount

 마운트를 해제한다.

 -a : 연결되어 있는 모든 파일 시스템의 마운트를 해제한다.

 -t : 특정 파일 시스템을 선택하여 해제한다. 옵션뒤에 지정하면 된다.

man

 사용하고자 하는 유틸리티에 대한 매뉴얼을 검색하여 보여준다.
 -k : 옵션 뒤에 단어를 키워드로 사용하면 해당 키워드와 관련된 모든 매뉴얼을 보여준다.

shutdown

 시스템을 종료할때 사용하는 명령어.

 -t n : n에 숫자를 넣으면 해당 시간(초)가 지나면 종료 된다.

 -h : shutdown시 halt를 실행.

 -n : 디스크 동기화 동작의 수행을 금지.

 -r : 재부팅

 -f : 빠른 재부팅으로 파일 시스템 검사를 하지 않는다.

 -c : 예약되어 있는 shutdown을 취소한다.

 -k : 모든 동작을 수행하지만 종료시간이 되면 아무 것도 하지않는다.

  한마디로 그냥 재미를 위한 옵션으로 k는 'jusk kidding'의 의미라고 한다.