IT지식/지식플러스

리눅스 명령어 모음

맨땅에헤딩개발자 2025. 1. 2. 22:17

 

1. pwd

pwd는 print work directory의 약자로 작업중인 디렉토리를 보여줍니다

 

 

2.ls

list segments의 약자로 현재 디렉토리의 파일과 디렉토리를 보여줍니다. 보통 단독으로는 잘 사용하지 않고

a, l 등의 옵션과 함께 사용됩니다.

 

- ls -l : 파일들의 상세 정보를 보여줌

- ls -a : 숨김 파일 표시

- ls -t : 최신파일부터 표시

- ls -rt : 오래된 파일부터 표시

- ls -F : 파일을 표시할 떄 파일의 타입을 나타내는 문자열을 표시(/디렉토리, *실행파일, @심볼릭 링크)

- ls -R : 하위 디렉토리의 내용까지 표시

 

위의 옵션들을 조합해 ls -al, ls -alt, ls -altF 등으로 사용합니다.

 

*심볼릭 링크(symbolic link) : 원본파일을 가리키도록 링크만 연결시켜둔겁니다. 윈도우의 바로가기와 같은개념

 

 

3.cd

change directory의 약자로 말 그대로 디렉토리 이동 시 사용하는 명령어입니다.

 

- cd ~ : 홈 디렉토리로 이동

- cd.. : 상위 디렉토리로 이동cd../../ 같은 식으로 여러단계를 한번에 이동 가능

- cd /dir : 절대 경로를 지정해 이동가능

- cd - : 바로 전의 디렉토리로 이동

 

 

4. mkdir

make directory의 약자로 디렉토리를 만들 때 사용합니다.

 

- p 옵션으로 하위 디렉토리까지 한번에 생성할 수 있습니다.

ㄴ mkdir -p<디렉토리명>/< 하위 디렉토리명>

 

 

5.cp

copy의 약자입니다. 파일 또는 디렉토리를 복사할 때 사용합니다.

 

- source를 taget으로 복사하기

ㄴ cp source target

 

- target 파일이 이미 있는경우 덮어쓰기

ㄴ cp -f source target

 

- 디렉토리를 복사할 때 사용. 하위 디렉토리도 모두 복사하기

ㄴ cp -R sourceDir targetDir

 

 

6.mv

move의 약자입니다. 파일 또는 디렉토리의 위치를 옮길 때 사용합니다. 혹은 이름을 변경할 때도 사용합니다.

 

- afile 이름을 bfile로 변경

ㄴmv afile bfile

 

- afile을 상위 디렉토리로 옮김

ㄴ mv afile ../

 

- afile을 /opt 이하 디렉토리로 옮김

ㄴ mv afile /opt/

 

 

7.rm

remove의 약자입니다. 파일 또는 디렉토리를 삭제할 때 사용합니다.

 

- afile을 삭제

ㄴ rm afile

 

- 디렉토리 adir를 삭제. 삭제 시 확인을 함

ㄴ rm -r afile

 

-디렉토리 adir를 삭제. 삭제 시 확인을 안함

ㄴ rm -rf afile

 

- txt로 끝나는 모든 파일을 삭제할지 물어보면서 삭제

ㄴ rm -i *.txt

 

 

8.cat

catenate(연결하다) 의 약자입니다. 파일의 내용을 확인할 때 사용합니다.

 

- test.txt 파일의 내용을 확인

ㄴ cat text.txt

 

 

9.touch

 touch는 빈 파일을 생성합니다. 혹은 파일의 날짜와 시간을 수정할 때 사용합니다.

 

- afile을 생성

ㄴ touch afile

 

- afile의 시간을 현재 시간으로 갱신

ㄴ touch -c afile

 

- bfile의 날짜 정보를 afile의 정보와 동일하게 변경

ㄴ touch -r afile bfile

 

 

10. echo

echo는 어떤 문자열을 화면에 보여줄 때 사용합니다. echo와 리다이렉션을 사용해 파일을 생성, 추가하는 작업을 많이합니다.

 

- hello출력

ㄴ echo 'hello'

 

- 패스로 지정된 문자열을 출력

ㄴ echo $PATH

 

- 이스케이프 문자열을 해석

ㄴ echo -e 문자열

 

- 개행표시

ㄴ echo -e "안녕하세요\n이렇게 하면\n 줄이생겨요"

 

 

11. ip addr/ ifconfig

접속한 리눅스의 IP정보를 알아낼 때 사용합니다.

 

ip addr이 설치되어 있지 않은 경우 ifconfig를 사용합니다.

 

 

 

12.ss

socket statics의 약자입니다. 네트워크 상태를 확인하는 데 사용합니다.

 

-ss -a : 모든포트 확인

-ss -t : tcp포트 확인

-ss -u : udp포트 확인

-ss -l : listen상태 포트 확인

-ss -p : 프로세스 표시

-ss -n : 호스트, 포트, 사용자명을 숫자로 표시

 

 

13.nc

netcat의 약자입니다. 예전에는 포트가 열렀는지 확인하는 데 telnet 명령어를 사용했지만 요즘엔 주로 nc를 사용합니다.

 

-포트가 오픈됐는지 확인

ㄴ nc IP주소 포트

 

- 더 자세한 정보가 남음

ㄴ nc -v IP주소 포트

 

- 현재 서버의 포트를 오픈(방화벽에 해당 포트번호가 설정함)

ㄴ nc -l 포트

 

 

14.tail

tail은 꼬리라는 의미처럼 파일의 마지막부분을 보여줍니다. tail이 있으면 당연히 head도 있는데 사용법은 다음과 같습니다. 서버의 실시간 로그를 보고싶을때 사용합니다.

 

- 파일의 마지막 라인부터 숫자만큼의 파일의 라인 수를 보여주기

 ㄴ tail -n {숫자} {파일경로}

 

- 숫자로 지정한 라인부터 보여주기

ㄴ tail -n +{숫자} {파일경로}

 

- 파일의 마지막 라인부터 숫자로 지정한 바이트 수 만큼 보여주기

ㄴ tail -c {숫자} {파일경로}

 

- Ctrl + c로 중단하기 전까지 지정한 파일의 마지막에 라인이 추가되면서 계속 출력하기

ㄴ tail -f {파일경로}

 

- 파일의 마지막 라인부터 지정한 숫자만큼 {초}단위로 지정한 시간이 지날 때 마다 리프레시해서 보여주기

ㄴ tail -n {숫자} -s {초} -f {파일경로}

 

 

15. find

find는 명령어의 뜻 그대로 파일이나 디렉토리를 찾는 데 사용하는 명령어입니다.

 

- 확장자명으로 찾기

ㄴ find {디렉토리} -name '*.bak'

 

- 디렉토리를 지정해 찾기

ㄴ find {디렉토리} -path '**/검색시 사용하는 디렉토리명/**.*.js'

 

- 파일명을 패턴으로 찾기

ㄴ find {디렉토리} -name '*패턴*'

 

- 파일명을 패턴으로 찾되 특정 경로는 제외

ㄴ find {디렉토리} -name '*.py' -not -path '*/site-packates/*'

 

- 0바이트인 파일을 찾고 삭제하기

ㄴ find {디렉토리} -type f -empty -delete

 

 

16.ps

현재 실행중인 프로세스 목록과 상태를 보여줍니다.

 

- 실행중인 모든 프로세스 보여주기

ㄴ ps aux

 

- 메모리 사용량에 따라 정렬하기

ㄴ ps --sort size

 

 

17.kill

프로세스를 죽이는 명령어입니다.SIGKILL, SIGSTOP은 강제 종료이며 나머지는 정상적으로 종료시킵니다.

 

- 프로세스 죽이기 SIGTERM(terminate)

ㄴ kill 프로세스ID

 

- 백그라운드 JOB종료

ㄴ kill {잡ID}

 

- 프로세스 강제종료

ㄴ kill -9 | KILL 프로세스ID

 

 

18.alias

자주 사용하는 명령어가 길다면 별칭을 붙혀 사용할 수 있습니다.

 

- 모든 alias 표시

ㄴ alias

 

- alias생성

ㄴ alias 단어="명령"    ex) alias ll="ls -al"

 

- alias삭제

ㄴ unalias 단어

 

 

19.man

manual의 약자이며 사용자가 입력한 명령어에 대한 메뉴얼을 제공합니다.

 

man ls

 

 

20.help

많은 명령어들은 --help옵션을 지원하여, 해당 명령어를 어떻게 사용할 수 있는지 간략히 설명해줍니다.

 

ls --help

 

 

 

 

- 출처 : https://yozm.wishket.com/magazine/detail/2103/