2011. 8. 8. 15:06

리눅스 명령(메모)

디렉토리별 용량
du -h --max-depth=1

파일 확장자별 압축(합친 후 압축)
find . -name "*.c*"  -o -name "*.h" | xargs tar rvf src0503.tar 
gzip -f src0503.tar 

DNS 호스트 등록 확인 
nslookup -type=ns tistory.com

PCI 장치 확인 
lspci

프로세스가 사용중인 파일확인 
lsof -p pid번호

사용자 생성 관련 환경 설정 파일
/etc/login.defs
사용자 생성시 디렉토리 퍼미션을 700 에서 755로 줄려고 할 경우
위 파일의 UMASK 를 077 에서 022로 변경

리눅스 배포판 확인
ll /etc/*release*
/etc/redhat-release 레드햇계열

포트가 사용하는 프로그램 확인
netstat -atp | grep 문자열 
또는 
netstat -ano 를 사용해 pid를 구함
tasklist /svc /fi "pid eq 번호" 하면 출력이 됨 
 
열려있는 포트 확인 
netstat -lnpt

로그인메세지
전 /etc/issue, /etc/issue.net
후 /etc/motd

RPM설치시 같이 설치된 파일 확인
rpm -ql rpm패키지
 
특정파일이 어느 RPM으로 인해 생성되었는지 확인
rpm -qf 파일
 
설치된RPM 명과 설명 보기
rpm -qa --queryformat "%{NAME} : %{Summary}\n"

등록된 사용자의 마지막 접속기록확인
lastlog

바이너리파일 속의 ascii 문자 검색
strings 파일 | grep 검색문자열

rsync 명령
rsync -avrz --delete 아이피::심볼 /경로 -> 받을때
rsync -avrz --delete  /경로  아이피::심볼 -> 보낼때

-v : 진행 상황을 상세하게 보여줌 
-r : 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행 
-l : 소프트 링크 보존 
-H : 하드 링크 보존 
-p : 버전 속성 보존 
-o : 소유 속성 보존(루트) 
-g : 그룹 속성 보존 
-t : 타임스탬프 보존 
-D : 디바이스 파일 보존(루트) 
-z : 데이터 압축 전송 
-b : 낡은 파일은 ~가 붙음 
-u : 추가된 파일만 전송 새 파일은 갱신하지 않음 
--existing : 추가된 파일은 전송하지 않고 갱신된 파일만 전송 
--delete : 서버에 없는 파일은 클라이언트에서도 삭제 
-a : 아카이브 모드. rlptgoD를 자동 지정 
-c : 서버와 클라이언트의 파일 크기를 세밀히 체크 
--stats : 결과를 보고 
-e ssh(rsh) : 전송 암호화


파일내 문자열 검색
find . -exec grep -i -l "찾는문자열" {} \; 2>/dev/null
-i : 대소문자 무시

검색한 프로세스 KILL
ps aux | grep 검색어 | awk '{ print $2 }' | xargs kill -9

라이브러리 들이 어떤 버전의 GLIBC를 필요로 하는지 확인(예: GLIBC_2.5 ~ 2.9까지를 필요로 하는 확장 검색 후 file.txt로 저장)

find /lib* /usr/lib* -type f -name '*.so' | xargs -i nm {} | grep "GLIBC_2.[5-9]" > file.txt