유용한 쉘 명령어
imagemagick으로 스크린 캡쳐
일단 imagemagick(오타 아님. ick 맞음)이 설치돼 있어야 한다.
import -screen root screen.png
root
는 스크린 이름을 뜻하는 것 같다. 복잡한 작업을 하는 사람이라면 자기의 스크린 이름을 알 테고, 그런 거 없으면 그냥 root
인 것 같으니 root
라고 적자.
이러면 우선 마우스 커서가 십자 모양으로 변한다. 캡쳐 기회가 두 번 주어진다. 윈도우를 클릭하면 해당 윈도우만 캡쳐된다.
두 번 클릭하면 십자모양 커서가 풀리고 홈 폴더에 가 보면 screen-0.png
, screen-1.png
이렇게 파일이 두 개 생겨 있다.
시스템 언어 설정 변경
dpkg-reconfigure locales
시작 서비스 프로그램 켜고 끄는 프로그램
rcconf
프롬프트에 배터리 정보와 날짜 표시해 주기
PS1="${debian_chroot:+($debian_chroot)}[33[01;32m]u[33[00m] - e[32m$(acpi)e[m | e[32m$(date +'%m-%d %R')e[m
[33[01;33m]w[33[00m]$ "
mysql client 프로그램에서 결과값 less로 보기
pager less -niS
-n
줄번호감춤(성능향상), -i
대소문자구분x, -S
줄바꿈 안함.
현재 폴더의 하위 폴더들 용량 보기
du -h
맨 아래 것(.)이 하위 폴더까지 합한 현재 폴더 용량.
더 자세한 것은 [링크] Shell에서 용량 관리 위한 명령어 참고.
IP 스캔하기
nmap -sP -PI 192.168.0.0/24
192.168.0
부분만 변경해 주면 되겠지.
오래된 파일 삭제(7일 넘은 파일)
find . -ctime + 7 -exec rm -rf {} ;
파일 문자열 치환
sed -e s/mytory.net/mytory.local/g db.sql > db.local.sql
보면 알겠지만 s/타겟/변경결과/g
형식임. 펄 정규식이 아니라 오래된 정규식을 사용하는 거니까 자세한 사항을 알고 사용하려면 man sed
해볼 것.
파일 찾기
locate 파일명
이러면 DB에 색인해 놓은 걸 바탕으로 파일을 찾는다. 속도가 빠르다.
방금 들어온 파일이라 DB에 색인돼 있을 것 같지 않다면 아래처럼 찾는다.
find /folder -name "filename"
더 자세한 내용은 [번역] 쉘에서 파일 찾기를 참고.
모든 하위폴더에 있는 .svn 폴더 삭제하기
rm -rf `find . -type d -name .svn`
현재 폴더에 있는 특정 확장자 파일 문자열 검색
find -name "*.php" -o -name "*.html" | xargs fgrep -il 'test'
더 자세한 내용과 질문은 [Shell] 특정 문자열이 들어있는 파일 찾기를 참고.
클립보드에 파일 내용 붙여 넣기(리눅스)
xclip -sel clip < 파일
7z 압축률 0으로 압축하기
OS간 파일명 인코딩이 깨지지 않게 압축을 하는 가장 간편한 방법으로 가장 간편해 보이는 게 7z을 사용하는 것이다.
7za a -mx=0 압축명.7z 압축대상
-mx=9
로 하면 압축률을 최대로 설정한다.
mysql process 보기
쉘의 mysql client에서 다음 명령을 치면 된다.
SHOW PROCESSLIST;
이렇게 써도 무방하다.
show processlist;
다음은 더 상세한 내역을 보여 준다.
SHOW FULL PROCESSLIST\G
이렇게 쳐도 된다.
show full processlist\G
맨 뒤에 ;
를 붙이지 않아도 된다. \G
를 반드시 붙여야 하고 \g
는 안 된다.