확인해본 결과 (약어 사용 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 |