목록리눅스/명령어 (12)
Self-Improvement
*lsof #lsof : 프로세스에 의해 열려진 파일들에 대한 정보를 볼 수 있다. #lsof 파일이름 : ex) lsof /dev #lsof -c 데몬명 : ex) lsof -c sshd #lsof -p PID : lsof -p 450 #lsof -i : 사용중인 소켓상태 *pmap #pmap PID : 해당 프로세스가 사용하고 있는 메모리의 주소를 확인 할 수가 있다. //예시 #ps -ef | grep sendmail -> PID를 알아내고 -> #pmap PID 로 확인한다 *pstree #pstree : 실행중인 모든 프로세스 상태를 트리 구조로 출력 #pstree PID : 해당 프로세스의 하위 트리구조를 출력 //예시 #sleep 400 -> , #sleep 500 -> 하고 난뒤에 -> #..
*프로세스 PID : 프로세스가 시작할 때 할방 받는 프로세스 식별번호 PPID : 부모 프로세스 식별번호 #ps (현재 터미널의 프로세스 정보 출력) #ps -f (현재 터미널의 프로세스의 PPID, CMD가 자세하게 나옴) #ps -e (모든 프로세스를 출력) #ps -l (가장 자세하게 출력) #ps -t pts/숫자 (특정 터미널의 관한 프로세스) #ps -U 유저이름 (해당 유저의 프로세스) -대체적으로 #ps -ef을 씀 //proc #ls -ld /proc/* (모든 프로세스들 디렉터리, 파일들이 들어있음) ex) #gedit(=vi) & -> #ps -> PID 확인 -> #ls -ld /proc/PID -> 임시적으로 생성되어짐 (종료되면 해당 PID디렉터리도 사라짐) *Backgroun..
*Variable(변수) 1.지역변수 : #VAR=5 2.환경변수(=전역) : #export VAR=5 -확인할때는 #echo $VAR(=변수명), 삭제할때는 #unset VAR(=변수) //지역변수 vs 환경변수(=전역) 지역변수 - #var=5 -> #echo $var -> #bash -> #echo $var (값이 안나오게됨) 환경변수 - #export var=4 -> #bash -> #echo $var (값이 나옴) -환경 변수는 자신이 선언한 쉘의 서브쉘에서 적용, 상위 쉘에는 적용되지 않음 //set(모든변수 출력) vs env(환경변수만 출력) #set | wc -l ; env | wc -l (각 몇개인지 알아낸다음) #var1=centos, #export var2=linux -> #set ..
*Redirection (방향 재지정) -fd(file descriptor) : 파일 기술자 표준입력(0, standard input) -------> Shell(bash) ------> 표준출력(1, standard output) ex) KeyBoard | ex) Screen | 표준에러(2, standard error) ex)Screen 1.입력재지정 형식 CMD 파일이름 (표준출력, 덮어쓰기) CMD 1> 파일이름 CMD >> 파일이름 (표준출력, 이어쓰기) CMD 1>> 파일이름 //예제 #echo 1111 > filename1 #echo 2222 > fi..
*vi -vi (Visual editor, /bin/vi) -vim (Visual editor Improved, /usr/bin/vim) =vim으로 하는 게 좋음 (alias vi='/usr/bin/vim' 으로 ~/.bashrc파일에 추가) #vi -R(=view) : 읽기전용으로 파일을 열음 (편집을 하지 않아야할 것들을 열때) #vi -L : 작업 중에 파일이 비정상 종료되여 작업하던 이 일. swp 파일이 존재하는지 보는 것 #vi -r 비정상 종료 파일 : .swp 파일이 있는 파일을 복구해주는 것 그다음에도. swp 파일은 남아있으므로 rm으로 지워주면 됨 //vi 이동 단축키 및 명령어 기본이동 : h(왼쪽), j(아래), k(위), l(오른쪽) 입력 : [i, I] [a, A] [o, O..
*gzip/gunzip (파일들을 개별적으로 압축 및 해제) #gzip 파일 이름 : 파일 이름. gz #gunzip -c 파일 이름. gz : (압축한 내용을 볼 수 있음 해체 x) #gunzip 파일 이름. gz (=gzip -d 파일 이름. gz, 압축 해제) *bzip2/bunzip2 (gzip/gunzip보다 최신) #bzip2 파일 이름 : (압축한다) #bunzip2 -c 파일 이름. bz2 : (내용을 보는 것) #bunzip2 파일 이름. bz2 : (압축 해제) *tar (여러 개의 파일을 하나로 압축 = 아카이브) #tar cvf 압축명 파일 1 파일 2. . . (/* c :create, v :verbose, f : file or tape, 압축) #tar tvf 압축명 (/* t ..
*grep (파일 내에서 특정한 패턴을 검색하여 그 패턴을 포함하는 모든 줄을 화면에 출력) #grep root /etc/passwd : (root가 들어가 있는 라인을 출력) #grep -l root /etc/hosts /etc/passwd /etc/group : (세 개의 파일 중에서 root가 포함되어있는 파일만 출력) #grep -n root /etc/passwd : (검색된 라인의 몇 번째 줄인지도 같이 출력) #grep -v root /etc/passwd : (해당 검색 단어를 제외하고 모든 라인을 출력) #grep -i root /etc/passwd : (root의 대소문자를 구분 없이 검색) #grep -w root file1 : (root라는 단어만 되어있는 라인을 출력) #grep --..
*mail #mail 사용자 : (사용자에게 메일 보내기) #mail -u 사용자 : (사용자의 메일을 확인하기) #mail -s 제목 사용자 : (제목을 명령어줄에서 지정하고 사용자에게 보내기) #mail 사용자 : 파일 (파일 내용을 사용자에게 보내기) //사용 예제 #cd /test #awk -F: '$3 > 499 && $3 email.list (사용자 계정 리스트를 저장) #cat email.list #for email in 'cat email.list' ; do mailx -s "OK: linux211" $email < /etc/hosts; done (사용자에게 전송) *wall 1대 다로 통신하는 명령어 #wall 보낼말 *cmp,..
*chown (소유자 변환) #chown 바꿀 이름 파일 이름 #chown 소유 이름:그룹 이름 파일 이름 : (소유자랑 그룹을 한 번에 변경 가능) #chown .그룹 이름 파일 이름 : (그룹만 바뀜) #chown -R 소유 이름:그룹 이름 파일 이름 : (해당 파일 안의 모든 파일들을 변경) *chgrp #chgrp 그룹 이름 파일 이름 : (그룹 바꿈) #chgrp -R 그룹 이름 파일 이름 : (파일 안의 모든 파일을 바꿈) *chmod 심벌릭 모드 : #chmod u+X 파일 이름 옥탈 모드 : #chmod 777 파일 이름 //파일의 rwx 쓰임새 r : 내용을 읽을 수 있는 권한(cat, vi, cp.. 등) w : 내용을 변경 권한 x : 실행할 수 있는 파일이면 실행 권한 //디렉터리의..
*head #head -10 /etc/passwd : 파일 내용을 10번째 줄까지 출력 #head -숫자 파일 : 숫자는 유동적 //고급 활용 (bashrc 파일 이용) alias pps='ps -ef | head -1 ; ps -ef | grep $1' (bashrc 파일에 내용 저장하고 #. ~/.bashrc, 첫 번째 인자을 출력하는 내용) #pps syslogd (해당 프로세스를 검색해줌) *tail #tail -10 /etc/passwd : 파일 내용을 하위부터 10개의 줄 출력 #tail -f : 실시간 변화에 따른 정보를 출력한다 (모니터링 용도) //head와 tail 혼합 활용 #cat /etc/passwd | head -20 | tail -10 (20번째 줄까지 출력한 내용 중 뒤에서 ..