[Tips] 기억 하면 좋은 shell 명령어

kshired·2023년 5월 7일
5

거의 5년째 맥을 사용하다보니, CLI 환경에 매우 익숙해졌다.

오늘은 내가 맥을 사용하면서 자주 사용하는 shell 명령어 몇 개를 공유해보려고 한다.

1. 특정 Port를 listen하고 있는 프로세스를 찾아서 죽이기

웹 어플리케이션을 로컬에서 실행하다보면, 특정 port에 있는 어플리케이션이 제대로 죽지 않은 채로 백그라운드에서 도는 경우가 있다. 이런 경우 나는 lsof 명령어를 자주 사용한다.

방법 1.

lsof -i :포트
## 위에서 나오는 PID를 이용하여
kill -9 PID

방법 2.

사실 두 줄 입력하는 것 조차도 귀찮다. 한 줄로 줄여보자.

kill -9 $(lsof -ti :포트)

2. 특정 파일의 n번째 라인까지 읽기

cli 환경에서 특정 파일을 읽을 때 유용한 명령어다.

위에서 n번째 라인까지 읽기

head -n 숫자 filename

아래서 n번째 라인까지 읽기

tail -n 숫자 filename

실시간으로 추가되는 파일 읽기

tail -f -n 숫자 filename

3. 특정 프로그램의 위치 찾기

환경 변수를 통해 등록된 여러 프로그램의 실제 위치가 궁금할 때, 사용하는 명령어.

which programName

4. 파일 업로드/다운로드

Filezila 같은 GUI 툴도 좋지만, 간단하게 사용하려면 이런 것도 좋다.

업로드

scp 파일위치 remote-username@remote-addr:업로드경로

다운로드

scp remote-username@remote-addr:다운로드경로 다운로드 받을 경로

5. 파일간의 차이점 체크

diff file1 file2

더 자세하게 보고 싶다면?

diff -y file1 file2

양쪽에 파일을 비교해서 보여준다.

6. 메모리 사용률 보기

top

간단하게 top 명령어를 사용하면, 어떤 프로세스가 메모리를 많이 사용하고 있는지 순차적으로 보여준다.

7. 특정 글자를 포함하는 프로세스 정보 찾기

ps -ef | grep processName

가장 자주 사용하는 명령어인 것 같다. 예를 들어, java로 구동되는 어플리케이션을 찾을 때 ps -ef | grep java 와 같은 명령어를 쓰게 된다.

8. 현재 디렉토리의 파일 보기

가장 간단하게

ls

조금 더 자세하게 보고 싶다면?

ls -al

현재 디렉토리에 존재하는 파일 중 특정 글자를 포함하는 파일을 보고 싶다면?

ls -al | grep name

트리 형태로 보고 싶다면?

tree .

9. 현재 작업중인 디렉토리를 알고 싶을 때

pwd

print working directory의 약자로, pwd를 사용하면 된다.

10. 특정 파일의 권한 바꾸기

chmod 777 filename

777은 예시로 든 숫자이며, 이 값은 4 + 2 + 1 로 이루어지며 4는 읽기 권한, 2는 쓰기 권한, 1은 실행권한을 의미한다. 0일 경우, 아무 권한도 없다는 뜻.

그리고 7이 3개로 이루어져 있는 것을 볼 수 있는데, 이건 순서대로 소유자-그룹-기타를 의미한다.

11. 명령어가 너무 길어서 줄이고 싶을 때

alias 줄이고싶은명령어="원래 명령어"

나는 clear, source ~/.zshrc 같은 것을 전부 입력하기 싫어서, cl, srcz 같은 alias를 해놓았다.

12. 위에서 설명한 명령어들의 사용법을 알고 싶을 때

man 명령어 이름

manual의 약자인 듯 하다.

13. 더 나아가서..

pipe 와 file redirection이 무엇인지 알아두면, 정말 많이 도움이 되니 스스로 한 번 알아보자.

profile
글 쓰는 개발자

0개의 댓글