본문 바로가기

13. OS

[Linux] 명령어

업무하면서 쓰던 명령어 정리함. 자주 쓰는거 위주로 정리하였으니 더 궁금한 내용에 대해서는

man 명령어 입력해서 찾아보기.

 

 

 

● cd [경로]

change directory. 이름 그대로 경로명을 적으면 해당 경로로 이동 한다. (상대 경로, 절대경로)

..

상위 디렉토리

.

현재 디렉토리

./ ../

현재 디렉토리나 상위디렉토리를 나타내는 상대 경로

 

ex)

cd /dev/mapper

/dev/mapper 경로로 이동.

cd ../home

현재 위치에서 상위 디렉토리에 있는 home directory로 이동.

 

 

● pwd

현재 위치한 path를 보여준다.

 


ls [옵션] [디렉토리(파일)]

list. 해당 경로명의 파일의 목록을 보여준다.

 

ㆍ옵션

-a : 숨김 파일을 포함하여 모든 파일 목록 출력

-l : 파일의 상세 정보 출력

-h : 파일 크기를 읽기 쉬운 형식으로 표시 (KB, MB, GB 등)

-d : 디렉토리 자체의 정보 출력

-F :파일의 종류 표시

 

ex)

ls -alh

ll → 리눅스에서 alias='ls -l'가 기본적으로 들어가있음. (유닉스에는 없던걸로 기억)

 


ps [옵션]

프로세스 보는 명령어. 이거만 쓰진 않고 옵션 추가 해서 사용함

 

ㆍ옵션

<유닉스 옵션>

-e : 시스템에서 실행 중인 모든 프로세스의 정보를 출력한다. 

-f : 프로세스의 자세한 정보를 출력한다.

-u uid : 특정 사용자에 대한 모든 프로세스의 정보를 출력한다.

-p pid : pid로 지정한 특정 프로세스의 정보를 출력한다.

<BSD 옵션>

a : 터미널에서 실행한 프로세스의 정보를 출력한다.

u : 프로세스 소유자 이름, cpu 사용량, 메모리 사용량 등 상세 정보를 출력한다.

x : 시스템에서 실행 중인 모든 프로세스의 정보를 출력한다.

 

ex)

ps -ef | grep java | grep -v grep

ps aux | egrep java

 


clear

현재 shell 화면에 있는 내용들 삭제.

 

 

● vi [파일]

UNIX 계열 운영체제에서 사용하는 텍스트 편집기. 명령모드와 편집모드로 나뉘며 활용도에 따라 꽤나 좋다.

(매크로 기능 등)

 

 

find [경로] [옵션] [찾는거]

말 그대로 찾는다.

find . -name

 

ex)

find . -type f -name "server.log.2022-05*" -exec grep -H "updates are disabled" {} +

현재 경로에서 타입이 파일이고 이름에 server.log.2022-05 문구로 시작하는 파일중에

updates are disabled 문구가 포함된 파일 이름 및 내용 출력

 

find /경로 -type f -exec grep -H "org.jgroups" {} +

타입이 파일인 거에서 "org.jgroups" 들어간 내용 찾는 명령어

find . -type * -exec grep -H "timeout" {} +
find . -type  -exec grep -H "updates are disabled" {} +

-- server.log.2023 문자가 들어가는 파일에서 updates are disabled 문구가 포함된 파일 이름 및 내용 출력
find . -type f -name "server.log.2023*" -exec grep -H "updates are disabled" {} +
find . -type f -name "server.log.2022-05*" -exec grep -H "updates are disabled" {} +

 

 

● su [옵션] [사용자명]

다른 사용자로 전환한다.

 

ㆍ옵션

- : 전환하는 사용자의 초기화 파일(ex ~/.bash_profile, ~/.bashrc 등)을 실행한다.

 

ex)

su : root 계정으로 전환.

(기본적으로 사용자의 환경 설정 파일은 로드하지 않고 이전 사용자의 환경 변수 및 설정이 그대로 유지된다)

su - : root 계정으로 전환하고 초기화 파일을 실행.

su kdk

su -kdk

 

 

● tail [옵션] [파일]

파일 뒷부분의 몇 행을 출력한다.

 

ㆍ옵션

-f : 파일 출력을 종료하지 않고 주기적으로 계속 출력.

-n [숫자] : 화면에 출력할 행의 수를 지정. (default 10) 

 

ex)

tail -f -n 5  server.log

 

 

  rm

 

ㆍ옵션

-r : 디렉토리를 삭제할 때 지정

-i : 파일을 정말 삭제할 것인지 물어본다.

-f : force의 약자로 삭제를 물어보지 않고 삭제 진행.

 

ex)

rm -rf [삭제할 파일]

 

 

  mv

파일을 이동하거나 이름을 바꾼다.

 

ㆍ옵션

-i : 복사하는 path에 파일이 존재하는 경우 overwrite

 


  touch [-acm] [-r ref_file | -t time] 파일

빈 파일을 생성한다.

 

ㆍ옵션

-a : 접근 시간만 수정한다.

-m : 수정 시간만 변경한다.

-t : 지정된 시간으로 파일의 수정시간과 접근시간을 설정. [[CC]YY]MMDDhhmm[.ss]

CC - 세기, YY - 년도

 


  grep [옵션] [패턴] [파일]

지정한 패턴이 포함된 행을 찾는다.

 

ㆍ옵션

-l : 지정한 패턴이 포함된 파일명을 출력한다.

-n : 행 번호를 출력한다.

 

 

 ssh

 

 

date

현재 날짜와 시간을 표시하거나 설정하는 데 사용한다.

 

 

 df [옵션] [파일시스템or디렉토리]

디스크의 남은 공간에 대한 정보를 출력한다.

 

ㆍ옵션

-a : 모든 파일 시스템을 대상으로 디스크 사용량을 확인한다.

-h : 디스크 사용량을 알기 쉬운 단위(GB, MB, KB 등)로 출력한다.

-t 파일 시스템 종류 : 지정한 파일 시스템 종류에 해당하는 디스크의 사용량을 확인한다.

-T : 파일 시스템 종류도 출력한다.

 

 

● chmod [옵션] 권한 파일(디렉토리)

change mode. 파일이나 디렉토리의 접근 권한을 변경한다.

 

ㆍ옵션

-R : 하위 디렉토리까지 모두 변경할 수 있다.

 

 

● kill [-시그널] PID

지정한 시그널을 프로세스에 보낸다.

 

 

top

현재 자원 사용량

 

 

cp(scp) [옵션] [복사할 파일(디렉토리)] [복사된 파일(디렉토리)]...

scp와의 차이점은 앞에 secure가 붙어서 보통 원격 저장소로 복사할 때 사용. cp는 로컬에서 파일 복사하는데 특화되어 있다. 인자를 여러개 줘서 복사할 파일을 한번에 여러개 복사할 수 있다.  

 

ㆍ옵션

-r : 하위 디렉토리 까지 복사

-i : 복사하는 path에 파일이 존재하는 경우 overwrite

-p : 복사하는 파일의 속성 유지

 

 

history

해당 계정에서 입력했던 명령어 볼 수 있음.

 

ex)

!! : 바로 직전에 실행한 명령을 재실행한다.

!번호 : 히스토리에서 해당 번호의 명령을 재실행한다.

!문자열 : 히스토리에서 해당 문자열로 시작하는 마지막 명령을 재실행한다.

 

 

telnet

 

 

mkdir

디렉토리 생성

 

ㆍ옵션

-p : 중간 단계의 디렉토리가 없으면 자동으로 생성하면서 전체 디렉토리 생성


  rmdir

디렉토리 삭제. 해당 디렉토리가 비어 있어야함.

 

 

 cat
파일 내용을 출력한다.

 

ㆍ옵션
-n : 행 번호를 붙여서 출력한다.

 


  more [옵션] [파일]
파일 내용을 화면 단위로 출력한다.
space bar : 다음 화면이 출력
enter : 한 줄씩 스크롤 

 


  less
파일 내용을 화면 단위로 출력.

 


  ln [원본 파일] [링크 파일 이름]

파일이나 디렉토리에 대한 링크(link)를 생성하는 데 사용한다.

 

ㆍ옵션

-s : 심볼릭 링크를 생성한다.

-f : 대상 파일이 이미 존재하는 경우에도 overwrite 강제 수행한다.

옵션이 없을 경우 하드 링크를 생성한다.

 

 

  whereis

지정한 경로에서 명령의 바이너리 파일이나 매뉴얼 파일의 위치를 찾는다.



  which
명령어 파일의 위치를 찾아서 그 경로나 에일리어스를 출력한다.

 

 

 

 

● chsh [옵션] [사용자명]

사용자 로그인 셸을 바꾼다.

 

ㆍ옵션

-l : /etc/shells 파일에 지정된 셀을 출력한다.

-s shell : 지정한 shell(절대경로)로 로그인 shell 변경한다.

 

ex)

chsh -s /bin/bash kdk

chsh -l 

 

 

● echo [옵션] [문자열]

화면에 한 줄의 문자열을 출력한다.

 

ㆍ옵션

-n : 마지막에 줄바꿈을 하지 않는다.

 

ex)

echo

echo $TMOUT

echo -n text

 

 

● printf [옵션] [인수]

자료를 형식화하여 화면에 출력한다.

 

ㆍ옵션

 %d, \n 등 C언어 printf 함수의 형식을 지정한다.

 

ex)

printf text

printf "%d\n" 100

 

 

● export [옵션] [셀 변수]

지정한 셸 변수를 환경 변수로 바꾼다.

 

ㆍ옵션

-n : 환경 변수를 셸 변수로 변경한다.

 

ex)

export SOME

export -n SOME

 

 

● unset [변수]

지정한 변수를 해제한다.

 

ex)

unset SOME

 

 

● alias

alias를 생성한다.

 

ex)

alias : 현재 설정된 별칭 목록을 출력한다.

alias 이름='명령' : 명령을 수정하여 사용하는 경우이다.

alias 이름='명령;명령2;...' : 여러 명령을 하나의 이름으로 사용하는 경우이다.

 

● unalias

alias를 삭제한다.

 

 

● file [파일]

지정한 파일의 종류를 알려준다.

 

 

● umask [옵션] [마스크 값]

기본 접근 권한을 출력하거나 변경한다.

 

ㆍ옵션

-S : 마스크 값을 문자로 출력한다.

 

ex)

기타사용자는 읽기 권한 주도록 변경

 

 

  jobs

백그라운드 작업을 모두 보여준다. 특정 작업 번호를 지정하면 해당 작업의 정보만 보여준다.

 

%번호 : 해당 번호의 작업 번호를 출력한다.

%+ 또는 %% : 작업 순서가 +인 작업 정보를 출력한다.

%- : 작업 순서가 -인 작업 정보를 출력한다.

 

ex)

jobs / jbos %1

 

 

  nohup

로그아웃한 후에도 백그라운드 작업을 계속 실행한다.

 

ex)

nohup 명령&

 

 

  at

예약한 명령을 정해진 시간에 실행한다.

 

ㆍ옵션

-l : 현재 실행 대기 중인 명령의 전체 목록을 출력한다. (atq 명령과 동일)

-r 작업 번호: 현재 실행 대기 중인 명령 중 해당 작업 번호를 삭제한다. (atrm과 동일)

-m : 출력 결과가 없더라고 작업이 완료되면 사용자에게 메일로 알려준다.

-f 파일 : 표준 입력 대신 실행할 명령을 파일로 지정한다. 

 

ex)

at 10:00 pm

at 8:15 am May 30

at -m 0730 tomorrow

 

 

  crontab

사용자의 crontab 파일을 관리한다.

 

ㆍ옵션

-l : crontab 파일의 목록을 출력한다.

-e : 사용자의 crontab 파일을 편집한다.

-r : crontab 파일을 삭제한다.

 

ex)

crontab -l

crontab -u kdk -e

crontab -r

 

 

 

 

 

 

 

 

● 

 

 

ㆍ옵션

 

ex)

 

 

 

 

 

 

 

 

 

 

 

'13. OS' 카테고리의 다른 글

[Linux] 5. 파일 시스템과 디스크 관리  (1) 2024.03.28
[Linux] 4. 프로세스 관리하기  (0) 2024.03.21
[Linux] 3. 파일의 접근 권한  (0) 2024.03.18
[Linux] 2. shell  (1) 2024.03.18
[Linux] 1. 디렉토리와 파일  (0) 2024.03.14