확인해본 결과 (약어 사용 vs 풀네임 사용)
"-" : short option style "--" : long option style
find . -name “*log*” - 현재 위치에서 log가 들어가는 파일 모두 찾기)
(Log뒤 한칸 뛰고 2> /dev/null 입력시 에러 로그는 터미널에 출력되지 않도록 만들 수 있음 ex.권한획득 불가로인한 오류 표시 삭제)\\
1.경로
2.표현식
| find - name 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| [NAME]이 포함되는 파일 찾기 | find . -name “test” | 현재 디렉토리에서 test가 포함되는 파일 찾기 |
| 확장자가 .txt인 파일 모두 찾기 | find . -name “*.txt” | 현재 디렉토리에서 .txt 확장자 모두 찾기 |
| 확장자가 .txt인 파일 검색 후 모두 삭제 | find . -name “*.txt” -delete | 현재 디렉토리에서 .txt 확장자 파일 검색 후 모두 삭제 |
| [NAME]으로 시작되는 파일 찾기 | find . -name “test*” | 현재 디렉토리에서 test로 시작되는 파일 찾기 |
| [NAME]으로 끝나는 파일 찾기 | find . -name “*test” | 현재 디렉토리에서 test로 끝나는 파일 찾기 |
| find - type 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 디렉토리만 찾기 | find . -type d | 현재 디렉토리에서 모든 디렉토리 찾기 |
| [NAME]으로 시작하는 디렉토리 모두 찾기 | find . -name “ test*” -type d | 현재 디렉토리에서 test가 들어가는 디렉토리 찾기 |
| 파일 검색 후 모두 삭제 | find . -type f | 현재 디렉토리에서 모든 파일 찾기 |
| find - user사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| [USERNAME]에 속한 파일 검색 | find . -user hgkim | hgkim이라는 유저에게 속한 모든 파일 찾기 |
| find - empty 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 디렉토리만 찾기 | find . -type d | 현재 디렉토리에서 모든 디렉토리 찾기 |
| [NAME]으로 시작하는 디렉토리 모두 찾기 | find . -name “ test*” -type d | 현재 디렉토리에서 test가 들어가는 디렉토리 찾기 |
| 파일 검색 후 모두 삭제 | find . -type f | 현재 디렉토리에서 모든 파일 찾기 |
| find - delete 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| [FILENAME]에 해당하는 파일이나 크기가 0인 파일 삭제 | find . -name “test*” -empty -delete | 현재 디렉토리에서 test가 들어가는 빈 디렉토리이거나 크기가 0인 파일 검색하여 삭제 |
| find - exec 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| [FILE]중 [조건내용]이 들어가는 파일의 상세정보 출력 | find . -name “test*” -exec ls -l {} \; | 현재 디렉토리에 “test”가 들어가는 파일을 찾아서 상세정보 출력 |
| [FILE]중 [조건내용]이 들어가는 디렉토리 모두 찾기 | find . -type f -exec grep “test” {} \; | 현재 디렉토리에 있는 파일중 “test”가 들어가는 내용 찾기 |
| [파일확장자]에 해당하는 파일 모두 삭제 | find . -name “.txt” -exec rm {} \; | 현재 디렉토리에 “.txt” 확장자를 찾아서 모두 삭제 |
| find - size 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 현재 디렉토리에서 특정크기인 파일 검색 | find . -size 1024c | 현재 디렉토리에서 1024byte인 파일 검색 |
| 현재 디렉토리에서 특정크기보다 큰 파일 검색 | find . -size +1024c | 현재 디렉토리에서 1024byte보다 큰 파일 검색 |
| 현재 디렉토리에서 특정크기보다 작은 파일 검색 | find . -size -1024c | 현재 디렉토리에서 1024byte보다 작은 파일 검색 |
| 현재 디렉토리에서 특정크기보다 크고 10kb보다 작은 파일 검색 | find . -size +1k -size -10k | 현재 디렉토리에서 1kb보다 크고 10kb보다 작은 파일 검색 |
| 파이프라인이란 명령어1 | 명령어2 형태로 명령어1의 처리결과를 명령어2로 전달하는것
| find | 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| find를 이용하여 특정 확장자 지우기 | find . -name '*.mp3' | xargs rm | 확장자가 mp3인것을 찾아 지우기 |
| find를 이용하여 숨겨진 파일을 찾기 | find . -name “.*” -print | more | 숨겨진 파일을 찾아 more상태로 목록 출력 |
| find를 이용하여 특정크기 이상인 파일 정보출력 | find . -size +100k | xargs ls -l | size가 100k 이상인 파일 정보를 리스트로 출력 |
| find를 이용하여 변경시간이 특정일 이상인 파일 삭제 | find . -type f -ctime +7 | xargs rm -f | ctime이 +7인 파일을 찾아 지우기 |
| 디렉토리 밑으로 파일을 찾고 그 파일 내용에 특정 단어가 있는지 검색 | find /home -name “*.php” | xargs egrep -s “ftp” | /home 밑으로 확장자가 php인 파일의 내용에 ftp가 있는 파일 찾기 |
| grep 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 대상 파일에서 문자열 검색 | grep “STR” [FILE] | [FILE]에서 “STR” 문자열 검색 |
| 현재 디렉토리 모든 파일에서 문자열 검색 | grep “STR” * | 현재 디렉토리 모든파일에서 “STR”검색 |
| 특정 확장자를 가진 모든 파일에서 문자열 검색 | grep “STR” *.ext | .ext 확장자를 가진 파일중 “STR” 검색 |
| 단어(Word) 단위로 문자열 검색 | grep -w “STR” [FILE] | [FILE]에서 “STR”이라는 문자열(단어 단위) 검색 |
| 검색된 문자열이 포함된 라인 번호 출력 | grep -n “STR” [FILE] | “STR”이 포함된 라인 번호 출력 |
| 0-9 사이 숫자만 변경되는 패턴 찾기 | grep “STR[0-9]” [FILE] | FILE에서 STR0~STR9에 해당하는 패턴 찾기 |
| 옵션 | 옵션 역할 |
|---|---|
| -r | 하위 디렉토리까지 검색 |
| -l | 패턴이 포함된 파일의 이름 출력 |
| -w | 패턴이 전체 단어와 일치하는 행만 출력 |
| cat 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 파일열기 | cat test1.txt | test1.txt를 화면에 출력(vi편집기랑은 다름) 결과화면 test1 test2 |
| 특정 확장자를 가진 파일 내용 출력 | cat *.txt | |
| 각 행에 번호 붙여 출력 | cat -b test1.txt | 1행 test1 2행 test2 |
| 빈행에도 번호 붙여 출력 | cat -n test1.txt | 1 test1 2 test2 3 |
| 서로 다른 파일 내용 연속출력 | cat FILE1 FILE2 |
| tail 사용 예 | 명령어 | 명령어 역할 |
|---|---|---|
| 파일의 마지막 10 줄 출력 | tail [FILE].log | [FILE].log를 화면에 출력(vi편집기랑은 다름) 내용10 … 내용1(최신) |
| 파일의 마지막 10줄을 실시간으로 출력 | tail -f [FILE].log | 마지막 10줄을 실시간 출력 |
| 원하는 라인의 수 만큼 출력 | tail -n 20 [FILE].log | 내용20 …. 내용 1 |
| vi/vim 사용예 | 사용법 |
|---|---|
| 라인 출력 | :set nu |
| 현재 커서에 있는 글자 바꾸기 | r키 |
| insert모드로 변경 | i키 |
| 블록지정 | v키+드래그 |
| 복사 | y키 |
| 라인복사 | yy |
| 라인복사 후 붙여넣기(yy이용한것만 가능) | p키 |
| ctrl+z 대신 사용 | u키 |
| vim편집 사용중 :/{찾을 키워드} 찾을때 키워드 단위 이동 | n키 |
| alias 사용예 | 명령어 | 명령어 역할 |
|---|---|---|
| 현재 등록되어 있는 별칭 보기 | alias | 등록되어 있는 별칭 확인 |
| 해당 경로 바로가기 | alias rsa=’cd /opt/search/RSA/bin’ | rsa입력시 해당경로로 바로이동 |
| 매번 반복되는 데이터 백업(tar)을 쉽게 하기 | alias backup='tar czvf webS_backup.tar.gz /var/www/html’ | backup입력시 해당 경로에 있는 디렉토리를 webS_backup.tar.gz 로 백업 |
| 패키지 설치 간단하게 바꾸기 | alias yum=’yum -y install’ | yum [패키지명] 만으로 간단하게 설치 가능 |
| alias 명령어 삭제 | unalias [alias명] | alias 삭제 |
| sed 사용예 | 명령어 | 명령어 역할 |
|---|---|---|
| 문자열 치환 | sed 's/원본문자열/바꿀문자열/g' 파일명 | |
| 특정 파일의 문자열을 변경 | sed 's/lim/kim/g' text ← kim/g | text파일에 lim이라는 문자열을 kim으로 변경 |
| 특정 파일의 치환한 내용을 지정한 파일에 저장 | sed 's/lim/kim/g' text > new-text | text 파일의 치환한 내용을 new-text에 저장 |
| d명령 : 삭제 | sed /man/d 파일명 | 지정 파일에 man이 포함된 줄 삭제 |
| s명령 : 치환 | sed 's/man/girl/g' 파일명 | 지정 파일에 man을 girl로 치환 |
| tar 사용예 | 명령어 | 명령어 역할 |
|---|---|---|
| 현재 디렉토리의 모든 파일과 디렉토리를 tar로 묶기 | tar cvf T.tar * | T.tar라는 이름으로 모든 파일과 디렉토리 묶기 |
| 파일을 지정하여 tar 아카이브로 묶기 | tar cvf T.tar FILE1 FILE2 | FILE1,2라는 파일을 지정하여 T.tar라는 이름으로 묶기 |
| tar 아카이브를 현재 디렉토리에 풀기 | tar xvf T.tar | T.tar를 현재 디렉토리에 풀기 |
| tar 아카이브를 지정된 디렉토리에 풀기 | tar xvf T.tar -C [PATH] | T.tar를 PATH에 해당하는곳에 풀기 |
| tar 아카이브의 내용을 확인 | tar tvf T.tar | T.tar의 내용을 확인 |
| gzip으로 압축된 tar 아카이브를 현재 디렉토리에 풀기 | tar zxvf T.tar.gz | T.tar.gz을 현재 디렉토리에 풀기 |
| 특정 디렉토리를 제외하고 압축하기 | tar cvfz T.tar.gz –exclude “제외할 디렉토리” “압축할 디렉토리” | 제외할 디렉토리를 빼고 압축할 디렉토리만 골라 T.tar.gz으로 압축하기 |
| xargs 사용예 | 명령어 | 명령어 역할 |
|---|---|---|
| 특정 디렉토리 아래 특정 파일을 찾아 삭제 | find /opt -name search -type d -print | xargs rm -rf | search라는 이름의 폴더를 찾아 목록을 출력후 삭제 |
| ls를 이용하여 특정 확장자를 모두 읽어와 하나의 파일로 병합 | ls *.txt | xargs cat » abc.txt | txt확장자를 모두 찾은후 abc.txt라는 파일을 화면에 출력 |
| 디렉토리에서 특정 확장자를 찾은 다음 특정 이름을 포함하는 파일을 찾기 | find ~/ -type f | grep -H “*.txt$” | xargs grep -H “abcd” | 타입이 파일인것중 확장자가 txt인것을 찾고 그중 abcd라는 내용을 포함하는 파일명 찾기 |
| 파일안에 url이 있을 경우 해당 인자들을 모두 wget으로 넘겨 다운 | cat url-list.txt | xargs wget -c | url-list.txt를 화면에 출력후 url이 있을경우 해당 인자를 모두 wget으로 넘겨받음 |
| 특정 확장자를 찾아 tar.gz로 압축 | find / -name “*.jpg” -type -f -print | xargs tar -cvzf images.tar.gz | 모든 jpg파일을 찾아 images.tar.gz로 압축 |
| 옵션 | 옵션 역할 |
|---|---|
| - a | 표준 입력 대신 파일에서 항목을 읽음 |
| - O | 공백이나 특수문자를 찾을때 사용 |
| - d | 입력된 문자를 그대로 사용(따음표, 백슬래쉬 같은 특수문자) |
| - n | 지정된 숫자만큼 행을 출력 |
| - p | 사용자에게 각 명령 행을 실행할지 여부와 터미널에서 행을 읽는거에 대한 여부 확인 |
| - s | 한 라인에 들어갈 수 있는 문자열 수를 지정 |
| - x | -s 로 지정한 크기가 초과되면 종료 |
| —show-limits | xargs의 버퍼 크기 선택 및 -s 옵션에 대한 길이 제한을 출력 |
| crontab 사용예 | 명령어 |
|---|---|
| crontab 작업 리스트 보기 | crontab -l |
| crontab 모든 작업 삭제 | crontab -r |
| crontab 작성 | crontab -e |
| 매분 test.sh 을 수행 | * * * * * /home/user/test.sh |
| 매주 일요일 23시 55분에 수행 | $ 55 23 * * 0 /home/user/test.sh |
| backup crontab | 50 23 * * * crontab -l > /home/bak/crontab_bak.txt |
| 5월 17일 오후 3시 23분에 해당 스크립트를 돌리라는 명령 | 23 15 17 5 * source /home/dlit/work/pred_batch.sh |
| chkconfig 사용예 | 명령어 |
|---|---|
| 부팅시 자동 실행되는 데몬들을 확인 | chkconfig –list |
| del 옵션을 통해 sshd의 자동부팅 서비스 해제 | chkconfig sshd –del |
| add 옵션을 통해 sshd의 자동부팅 서비스 등록 | chkconfig sshd –add |
| level 옵션을 통해 데몬의 원하는 레벨을 다룰 수 있음 | chkconfig –level 3 sshd on |
| rpm 사용예 | 명령어 |
|---|---|
| 전체목록 확인 | rpm –qa |
| RPM 설치 | rpm -ivh 패키지명 |
| 패키지 설치 확인 | rpm -qa | grep 패키지명 |
| 패키지 제거 | rpm -ev 패키지이름 |
| 업그레이드 | rpm -Uvh 패키지명 |
| 파일이 속한 패키지 찾기 | rpm -qf 파일 |
| 내부 파일 목록 보기 | rpm -ql 설치된패키지명 |
| 내부 설정파일 확인 | rpm -qc 설치된패키지명 |
| 설치된 패키지 상세 정보 확인 | rpm -qi 패키지이름 |
| 옵션 | 옵션 역할 |
|---|---|
| -U | 설치되어있는 패키지 업그레이드 하는 옵션 |
| -v | 진행 과정 확인하는 옵션 |
| -e | 패키지 삭제 옵션 |
| -h | 진행과정을 '#' 기호로 화면에 출력하는 옵션 |
| -q | 패키지 정보 확인 옵션 |
| -a | 시스템에 설치 된 전체 패키지 정보 확인 |
| -i | 설치 된 패키지의 정보 확인 |
| yum 사용예 | 명령어 | 명령어 역할 |
|---|---|---|
| 패키지를 최신 버전으로 업데이트 | yum update | yum 업데이트 |
| 모든 패키지 목록을 보기 | yum list | yum으로 설치 가능한 패키지 목록 확인 |
| 특정 패키지와 관련된 패키지를 검색 | yum search http | http과 관련된 패키지를 검색 |
| 패키지 이름에 특정 이름을 포함하고 있는 것을 검색 | yum list *http* | 설치 가능한 패키지 목록중 http 이름을 가진 패키지 목록 확인 |
| 특정 패키지의 정보 보기 | yum info httpd | httpd 패키지의 정보 보기 |
| 특정 패키지 업그레이드 | yum upgrade httpd | httpd 패키지 업그레이드 |
| 특정 패키지 여러개 설치하기 | yum install httpd php | httpd와 php 설치하기 |
| 특정 패키지 여러개 삭제하기 | yum erase httpd php | httpd와 php 삭제하기 |
| 옵션 | 옵션 역할 |
|---|---|
| -i | 패키지 설치 |
| -U | 업그레이드 |
| –version | -버전확인 |
| -h | 명령어의 도움말 보여줌 |
| -y | 모든 물음에 예를 진행 |
| -q | 모든 작업이 종료 |
| -skip-broken | 문제 있는 패키지는 자동으로 스킵 |
| -t | 에러를 자동으로 잡아서 설치 |
| service 명령어 | systemctl 명령어 | 명령어 역할 |
|---|---|---|
| service name start | systemctl start name.service | 서비스 시작 |
| service name stop | systemctl stop name.service | 서비스 중지 |
| service name restart | systemctl restart name.service | 서비스 재시작 |
| service name condrestart | systemctl try-restart name.service | 서비스가 구동중이었을 경우에만 재시작 |
| service name reload | systemctl reload name.service | 설정 재구동 |
| service name status | systemctl status name.service | 서비스 구동 여부 확인 |
| service name –status-all | systemctl list-units –type service -all | 모든 서비스의 상태 표시 |
| 옵션 | 옵션 역할 |
|---|---|
| -v | 모든 파일에 대해 모드가 적용되는 진단(diagnostic) 메시지 출력 |
| -f | 에러 메시지 출력하지 않음 |
| -c | 기존 파일 모드가 변경되는 경우만 진단(diagnostic) 메시지 출력 |
| -R | 지정한 모드를 파일과 디렉토리에 대해 재귀적으로(recursively) 적용 |
| 문자열 | 문자열 역할 |
|---|---|
| u,g,o,a | 소유자(u), 그룹(g), 그 외 사용자(o), 모든 사용자(a) 지정 |
| +,-,= | 현재 모드에 권한 추가(+), 현재 모드에서 권한 제거(-), 현재 모드로 권한 지정('=') |
| r,w,x | 읽기 권한®, 쓰기 권한(w), 실행 권한(x) |
| X | “디렉토리” 또는 “실행 권한(x)이 있는 파일”에 실행 권한(x) 적용 |
| s | 실행 시 사용자 또는 그룹 ID 지정(s). “setuid”, “setgid” |
| chmod 명령어 | 명령어 역할 |
|---|---|
| chmod g+x FILE | 파일이 속한 그룹 이 실행 할 수 있는 권한 추가 |
| chmod a=r FILE | 시스템의 모든 사용자가 읽을 수만 있는 권한 지정 |
| chmod go-rwx FILE | 파일을 소유한 그룹과 그 외 사용자의 모든 권한 제거 |
| ls -l | 파일의 현재 권한을 확인 가능 |
파일 또한 디렉토리 권한 확인(ls -l)
| chmod 명령어 | 명령어 역할 | chmod 명령어 | 명령어 역할 |
|---|---|---|---|
| chmod u+x FILE | 파일 소유 사용자에게 실행권한 추가 | chmod ug=rw FILE | 파일 소유 사용자와 그룹이 읽기, 쓰기 가능 |
| chmod u+w FILE | 파일 소유 사용자에게 쓰기 권한 추가 | chmod g=rw,o=r FILE | 파일 소유 그룹은 읽기, 쓰기 가능, 그 외 사용자는 읽기만 가능 |
| chmod u=rwx FILE | 파일 소유 사용자에게 읽기, 쓰기, 실행 권한 지정 | chmod ug=rw,o=r FILE | 파일 소유 사용자 및 그룹은 일기, 쓰기 가능, 그외 사용자는 읽기만 가능 |
| chmod u-x FILE | 파일 소유 사용자의 실행 권한 제거 | chmod 664 FILE | 사용자(읽기+쓰기), 그룹(읽기+쓰기), 그외 사용자(읽기) |
| chmod g+w FILE | 파일 소유 그룹에 쓰기 권한 추가 | chmod 755 FILE | 사용자(읽기+쓰기+실행), 그룹(읽기+실행), 그외 사용자(읽기+실행) |
| chmod g-x FILE | 파일 소유 그룹의 실행 권한 제거 | chmod 777 FILE | 모든 사용자에 모든 권한 추가 |
| chmod o=r FILE | 파일 소유 사용자 및 그룹을 제외한 사용자는 읽기만 가능 | chmod -R g+x DIR | DIR 디렉토리 하위 모든 파일 및 디렉토리에 그룹 실행(x) 권한 추가 |
| chmod a-x * | 현재 디렉토리의 모든 파일에서 모든 사용자의 읽기 권한 제거 | chmod -R o-wx * | 현재 디렉토리의 모든 파일에서 그외 사용자의 쓰기, 실행 권한 제거 |
| chmod a-w FILE | 모든 사용자에 대해 쓰기 권한 제거 | chmod -R a-x,a+X * | 현재 디렉토리 기준 모든 파일 읽기 권한 제거, 디렉토리 실행 권한 추가 |
| chmod u=rwx,g=r FILE | 파일 소유 사용자는 모든 권한, 그룹은 읽기만 가능 | chmod -R a-x+X * | 위(chmod -R a-x,a+X *)와 동일 |
| 옵 션 | 옵션 역할 |
|---|---|
| -c | 수정된 파일들만 자세하게 표시해주는 옵션 |
| -t | 간략히 표시해주는 옵션 |
| -v | 작업 진행 상태를 자세하게 표시해주는 옵션 |
| -R | 지정한 디렉토리 포함하여 하위파일까지 변경할 경우 사용되는 옵션 |
| 명령어 | 명령어 역할 |
|---|---|
| chown [소유자].[소유그룹] [파일이름] 또는 chown [소유자]:[소유그룹] [파일이름] | 소유자와 소유 그룹을 동시에 변경 |
| chown member1 test.cnf | test.cnf 파일에 대해 소유자를 member1로 바꿈 |
| chown :member1 test.cnf | test.cnf 파일에 대해 그룹명을 members1로 바꿈 |
| chown member1: test.cnf | test.cnf 파일에 대해 소유자 및 그룹명을 members1로 바꿈 |
| chown member1:member2 test.cnf | test.cnf 파일에 대해 소유자는 member1, 그룹명은 member2로 바꿈 |
| 옵션 | 옵션 역할 |
|---|---|
| -C | 매직파일의 포맷을 검사하는 옵션 |
| -f | 많은 파일을 한번에 확인하기 위한 파일리스트를 만들어서 여러개의 파일을 한번에 할때 사용되는 옵션 |
| -m | 매직파일을 지정하는 옵션 |
| -z | 압축된 파일에 사용되는 옵션 |
| -L | 심볼릭 링크의 사용되는 옵션 |
| 옵션 | 옵션 역할 |
|---|---|
| -c | 바이트의 수(파일크기)를 출력하는 옵션 |
| -l | 행의 개수를 출력하는 옵션 |
| -w | 단어의 개수를 출력하는 옵션 |
| 옵션 | 옵션 역할 | 명령어 | 명령어 결과 |
|---|---|---|---|
| -a | 분할되는 파일뒤에 붙을 길이를 지정 | split -a 3 tree tree_ | tree(원본파일)4MB tree_aab-2MB tree_aac-2MB |
| –additional-suffix | 분할파일 자릿수 뒤에 확장자 설정 | split –additional- suffix=.txt tree tree_ | tree(원본) tree_aa.txt tree_ab.txt |
| -b | 분할되는 기준을 바이트 크기로 분할 | split -b 1 tree tree_ | tree_aa tree_ab tree_ac tree_ad |
| -c | 라인을 기준으로 지정 바이트가 넘지 않도록 파일을 분할 | split -C 50000 tree tree_ | |
| -d | 분할 파일이름뒤에 영문이 아닌 숫자로 지정 | split -d tree tree_ | tree_00 tree_01 |
| -numeric-suffixes | d 옵션과 동일하지만 시작값을 지정 | split –numeric- suffixes=90 tree tree_ | tree_90 tree_91 |
| -l | 라인수 기준으로 파일을 분할 | split -l 1500 tree tree_ | tree_aa |
| -n | 파일을 균등하게 1/N 나누어 분할 | split -n 4 tree tree_ | tree_aa~ad |
| 옵션 및 섹션 | 옵션 및 섹션 역할 |
|---|---|
| -k | 키워드를 포함하는걸 찾기 |
| -s, -S | 특정 section을 지정할 때 사용 |
| man | man 명령어의 매뉴얼 페이지를 출력. |
| man1 | 실행가능한 프로그램 혹은 쉘 명령어 |
| man2 | 시스템 호출 |
| man3 | 라이브러리 호출 |
| man4 | 스페셜 파일(장치, 장치 드라이버, Socket, /dev 디렉토리에 있는 형식과 관련된 규약 등) |
| man5 | 파일 포맷과 컨벤션 (예를 들어 /etc/passwd의 데이터 구성은 어떻게 되어 있다.. 등) |
| man6 | Games |
| man7 | Miscellanea (리눅스 시스템 파일 관련 표준, 규칙, 프로토콜, 시그널 목록 등) |
| man8 | 시스템 관리자를 위한 명령어 |
| man9 | 리눅스 커널 루틴 |
| 필드 | 역할 | 필드 | 역할 |
|---|---|---|---|
| PID | 프로세스 ID (PID) | SHR | 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합 |
| USER | 프로세스를 실행시킨 사용자 ID | S | 프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ] |
| PRI | 프로세스의 우선순위 (priority) | %CPU | 프로세스가 사용하는 CPU의 사용율 |
| NI | NICE 값. 일의 nice value값. 마이너스를 가지는 nice value는 우선순위가 높음 | %MEM | 프로세스가 사용하는 메모리의 사용율 |
| VIRT | 가상 메모리의 사용량(SWAP+RES) | TIME+ | 프로세스 시작된 이후 경과된 총 시간 |
| RES | 현재 페이지가 상주하고 있는 크기 | COMMAND | 실행된 명령어 |
* top 실행 후 사용할 수 있는 옵션
| 옵션 | 역할 | 옵션 | 역할 |
|---|---|---|---|
| shift + t | :실행된 시간이 큰 순서로 정렬 | -P | 지정된 프로세스 ID들만 보여줌 |
| shift + m | 메모리 사용량이 큰 순서로 정렬 | -i | 좀비(zombie) 또는 Idle 상태의 것들은 무시됨 |
| shift + p | cpu 사용량이 큰 순서로 정렬 | space bar | 새로고침 |
| 명령어 | 명령어 역할 |
|---|---|
| ssh [호스트명 or ip주소] | ssh를 사용할 때 현재 사용중인 계정으로 다른 시스템에 접속을 시도하게 됨 |
| ssh [계정명]@[호스트이름] | 클라이언트와 서버의 계정이 다를 때 계정이름을 명기하는 방법임 |
| ssh 호스트네임 명령 | 원격으로 서버의 프로그램만 사용할 때, 접속하진 않고 명령만 내릴때 사용 |
| ssh user@192.168.1.10 | user라는 계정으로 192.168.1.10 서버에 접속을 시도 |
| ssh -p 180 192.168.1.10 | 기본포트는 22번 이지만 180번 포트로 192.168.1.10 서버에 접속을 시도 |
| 명령어 | 명령어 의미 |
|---|---|
| sftp [계정명]@[ip주소][파일경로] | 서버에 해당 계정을 이용해 파일을 클라이언트 측으로 가져오기 가능 |
| sftp -P [포트번호] [계정명]@[ip주소][파일경로] | 특정 포트로 접속하여 서버에 해당 계정을 이용해 파일을 클라인트 측으로 가져오기 가능 |
| sftp> get [파일이름] | 특정 파일 다운로드 |
| sftp> get [다운받을경로] ex)get /home/pi/picture/a.png | 특정 경로로 파일을 다운로드 |
| sftp> put [파일이름] | 특정 파일 업로드 |
| sftp> get -r file_name | 파일이 아닌 폴더를 업로드 및 다운로드 하고 싶은 경우 |
| 명령어 | 명령어 의미 |
|---|---|
| scp [복사될 파일명][원격지id]:[원격지_ip]:[받는위치] | 서버와 클라이언트 사이에 로그인하지 않고도 scp를 이용해 원격으로 파일을 복사할 수 있는 기능 |
| scp [옵션] [디렉터리 이름] [원격지_id]@[원격지_ip]:[보낼 경로] | 여러 파일을 포함한 디렉터리를 원격지로 보낼 때 |
| 옵션 | 옵션 역할 | 옵션 명령어 예 |
|---|---|---|
| r | 디렉토리 내 모든 파일/디렉토리 복사 | scp -r |
| p (소문자) | 원본 권한 속성 유지 복사 | scp -p |
| P (대문자) | 포트 번호 지정 복사 | scp -P [포트번호] |
| c (소문자) | 압축 복사 | scp -c |
| v | 과정 출력 복사 | scp -v |
| a | 아카이브 모드 복사 | scp -a |
| telnet 전용모드 명령어 | 의미 |
|---|---|
| close | 현재 telnet연결을 종료 |
| logout | 원격 접속된 사용자를 강제 로그아웃하고 연결을 종료 |
| open | 원격서버로 연결을 시도 |
| send | 특수문자를 전송 |
| display | 텔넷 환경인수들을 출력 |
| set | 텔넷 환경인수들을 설정 |
| unset | 텔넷 환경인수들의 설정을 해제 |
| status | 현재 상황정보를 출력 |
| ! | 서브쉘을 불러들여 실행 |
| environ | 환경변수를 변경 |
| quit | 텔넷을 종료하고 쉘로 빠져나오기 |
- 주요 옵션과 사용예
| short | long | 설명 |
|---|---|---|
| -k | –insecure | https 프로토콜에서 SSL 인증서에 대한 검증없이 연결 |
| -l | –head | HTTP 헤더만 보여주고 컨텐츠는 표시하지 않음 |
| -L | –location | HTTP 301(영구적 주소변경), 302(일시적 주소변경) 응답을 받은 경우 리디렉션 URL로 따라감 –max-redirs 옵션 뒤에 숫자로 몇 번의 리디렉션까지 따라갈 것인지를 적을 수 있음 |
| -d | –data | HTTP POST 요청 데이터 입력 |
| -v | –verbose | 동작하면서 세세한 내용을 출력 |
| -J | –remote-header-name | 헤더에 있는 파일 이름으로 다운로드 파일을 저장 |
| -o | –output FILE | curl로 받아온 내용을 FILE 이라는 이름의 파일로 저장 |
| -v | –verbose | 동작하면서 자세한 헤더 통신 옵션을 출력 |
| -C | –continue-at |