개발자라면 꼭 알아야 할 리눅스 명령어 꿀팁 15개

많은 프로그래머들이 기본적인 리눅스 명령어만 사용하고, 실질적으로 작업 효율성을 극대화할 수 있는 기능들은 간과합니다.

이 글에서는 단순한 lscd 명령어를 넘어, 실제 문제를 해결하고, 워크플로우를 가속화하며, 동료들에게 깊은 인상을 남길 수 있는 명령어 팁을 제공합니다.

1. 삭제된 파일 복구하기

  • 문제: 실수로 rm 명령어를 사용해 중요한 파일을 삭제했나요?
  • 해결책: extundelete 또는 testdisk를 사용해 ext3/ext4 파일 시스템에서 파일을 복구하세요.
1
2
sudo apt-get install extundelete
sudo extundelete --restore-file /삭제된/파일/경로 /dev/sdX

리눅스에는 휴지통이 없지만, 이 방법으로 복구할 수 있습니다.


2 반복 작업을 자동화하는 xargs

  • 문제: 동일한 명령어를 여러 파일에 적용해야 할 때, 수동 작업이 너무 번거롭습니다.
  • 해결책: xargs를 사용하여 명령어를 효율적으로 실행하세요.
1
echo "file1 file2 file3" | xargs -n 1 cp /source_dir /destination_dir

반복 작업을 자동화하고 시간을 절약할 수 있습니다.


3. cd 명령어를 더 빠르게 사용하는 방법

  • 문제: 긴 경로를 반복해서 입력하는 것은 너무 비효율적입니다.
  • 해결책: CDPATH 변수를 설정하여 자주 방문하는 디렉터리로 빠르게 이동하세요.
1
export CDPATH=~/Projects:~/Documents

풀 경로를 입력하지 않고도 원하는 디렉터리로 바로 이동할 수 있습니다.


4. 디스크 공간을 잡아먹는 범인 찾기

  • 문제: 디스크 공간이 부족한데, 원인을 모르겠습니다.
  • 해결책: ncdu를 사용해 디스크 사용량을 시각적으로 분석하세요.
1
2
sudo apt install ncdu
ncdu /

디스크 공간을 직관적으로 파악하고, 불필요한 파일을 정리할 수 있습니다.


5. 명령어 실행 내역을 남기지 않기

  • 문제: 실행한 명령어가 ~/.bash_history에 남지 않도록 하고 싶습니다.
  • 해결책: 명령어 앞에 공백(Space)을 추가하면 기록되지 않습니다.
1
2
3
export HISTCONTROL=ignorespace
# 예시:
rm -rf /민감한/디렉터리

보안과 프라이버시를 지킬 수 있습니다.


6. 간이 웹 서버 실행하기

  • 문제: 네트워크를 통해 파일을 빠르게 공유하고 싶습니다.
  • 해결책: Python 내장 HTTP 서버를 실행하세요.
1
python3 -m http.server 8000

별도의 소프트웨어 없이 바로 파일 공유가 가능합니다.


7. 파일을 한 번에 이름 변경하기

  • 문제: 수백 개의 파일 이름을 하나씩 변경하는 것은 비효율적입니다.
  • 해결책: rename 명령어를 사용해 일괄 이름 변경하세요.
1
rename 's/old/new/' *.txt

한 줄 명령어로 파일 이름을 빠르게 변경할 수 있습니다.


8. 프로그램 디버깅하기

  • 문제: 프로그램이 어디에서 문제를 일으키는지 찾고 싶습니다.
  • 해결책: strace를 사용해 시스템 호출 및 시그널을 추적하세요.
1
strace -o output.log ./your_program

✅ 문제 발생 위치를 정확히 추적할 수 있습니다.


9. 정확한 시간에 명령어 실행하기

  • 문제: 특정 시간에 스크립트를 실행하고 싶습니다.
  • 해결책: at 명령어를 사용하여 일회성 작업을 예약 실행하세요.
1
echo "backup.sh" | at 02:00

복잡한 crontab 설정 없이도 간단히 자동 실행이 가능합니다.


10. 좀비 프로세스 종료하기

  • 문제: 시스템이 느려졌는데, 원인이 되는 프로세스를 찾고 싶습니다.
  • 해결책: htop을 사용해 프로세스를 시각적으로 관리하세요.
1
2
sudo apt-get install htop
htop

실시간으로 CPU 및 메모리 사용량을 확인하고 프로세스를 종료할 수 있습니다.


11. 파일 암호화 및 복호화

  • 문제: 공유 시스템에서 중요한 파일을 보호하고 싶습니다.
  • 해결책: gpg를 사용하여 파일을 암호화/복호화하세요.
1
2
gpg -c file.txt
gpg file.txt.gpg

중요한 데이터를 안전하게 보호할 수 있습니다.


12. 반복되는 긴 명령어 단축키 만들기

  • 문제: 자주 사용하는 긴 명령어를 매번 입력하기 번거롭습니다.
  • 해결책: alias를 사용해 단축 명령어를 만들세요.
1
2
alias cls="clear"
alias gs="git status"

개인 맞춤형 터미널 환경을 구축할 수 있습니다.


13. 실시간 네트워크 사용량 모니터링

  • 문제: 네트워크 대역폭을 누가 사용하는지 알고 싶습니다.
  • 해결책: iftop을 사용하여 실시간 네트워크 분석을 수행하세요.
1
2
sudo apt install iftop
sudo iftop

네트워크 트래픽을 실시간으로 확인하고 원인을 파악할 수 있습니다.


14. 여러 파일에서 텍스트 한 번에 변경하기

  • 문제: 여러 파일의 특정 텍스트를 한 번에 변경하고 싶습니다.
  • 해결책: sed를 사용하여 일괄 수정하세요.
1
sed -i 's/old_text/new_text/g' *.txt

파일을 하나씩 열어 수정할 필요 없이, 빠르고 정확하게 수정할 수 있습니다.


15. 터미널을 멀티 창으로 활용하기

  • 문제: 여러 개의 터미널을 왔다 갔다 하는 것이 너무 불편합니다.
  • 해결책: tmux를 사용해 하나의 창에서 여러 세션을 관리하세요.
1
2
sudo apt install tmux
tmux

세션 유지, 분할 화면 등으로 프로처럼 작업할 수 있습니다.

결론

이 15가지 리눅스 커맨드 팁은 단순한 생산성 향상을 넘어,
"더 스마트하게 일하는 철학" 을 배우는 것입니다.

모든 개발자는 리눅스 터미널을 더 깊이 탐색할수록 더욱 강력한 도구를 얻게 됩니다.

Share