티스토리 뷰
리눅스 명령어 정리
apm [옵션]
- 노트북 등 장치에서 배터리 현재 잔여량 확인 및 기타 등등
appletviewer [옵션] URL
- 웹페이지를 읽어들여 자바 애플릿 실행
apropos [키워드]
- whatis DB (/var/cache/man/whatis) 검색하여 관련이 있는 명령어를 설명과 함께 나열
- man -k 와 whatis 명령어와 유사한 기능
*. whatis DB
/usr/sbin/makewhatis -u # 시스템의 등록된 man page를 검색하여 whatis DB 업데이트
arch
- 시스템의 CPU 타입 보여줌
at (예약실행 단발성)
: atd 데몬 떠 있어야 함
-q queue a ~ z 까지 큐를 이용하여 저장 (디폴트는 a에 저장됨)
-f file : 파일의 읽어서 적용 (스크립트 같은거?)
-l : at 작업의 리스트 출력
특정시간에 명령어 실행 예약 (단지 한번만 실행) : 비정기적인 예약 작업 이거 돌려 놓고 잠 처 자면 좋을듯 함 관련 데몬은 atd |
ex) at 2:30 am Friday < 스크립트파일
atq
- 예약된 작업 목록나열해줌
atrm
- 예약된 목록 삭제
badblocks
- 저장장치의 배드블록을 검사하는 명령어
- -w 옵션을 사용할 경우 파일시스템 및 데이터도 함께 손실
/dev/sda6 19463 20482 8193118+ 83 Linux
[root@localhost ~]# badblock -v /dev/sda6 8193118+
basename
- 경로와 확장자를 제거한 순수파일이름만 돌려 받는 명령어 (스크립트 짤대 변수에서 쓸수도 있다고 하네염 ㅋ)
httpd.conf
[root@localhost ~]# basename /usr/local/apache/conf/httpd.conf .conf
httpd
dirname
- 경로 - 파일명에서 경로명만 추출 ㅋ
batch
- 시스템 부하가 일정 이하(0.8 이하?) 가 되면 예약해 둔 명령어 실행
ex) batch -f 파일명(스크립트) -m now
-m : 출력 결과가 없더라도 작업완료시 사용자 메일 발송
-f 파일명 : 스트립트 파일등을 실행
-v : 작업이 수행될 시간 보여줌
bc
- 터미널에서 사용하는 대화형 계산기 언어
biff
- 메일 서버를 일정 간격으로 체크하여 새 메일이 도착하면 신호함 ( 거의 쓰이지 않음)
bzip2
- 압축전의 원본파일의 날짜 , 퍼미션, 소유자 등 속성을 그대로 가짐 압축풀고 나서도 풀기전 속성 그대로 유지
- bzip2recover [파일이름] : 깨진 압축 파일 복구
- bzip2 -tv [파일이름] : 무결성 검사
cal
- 달력보기
cat
- 파일 내용 보여줌 ( -n : 라인넘버로 같이 출력)
- 사촌격인 more, less, tail, head 등이 있다
- n 각 줄의 번호를 같이 출력
라인 편집기 cat > 파일이름 어쩌구 저쩌구 <Ctrl + D > cat 파일명1 > 파일명2 - 파일명1을 파일명2로 덥어씀 cat 파일명1 >> 파일명2 - 파일명2 바로 뒤에 파일명1의 내용 추가 ㅋ |
cd (change directory)
- 디렉토리 이동 (절대 경로 (풀 경로 다 써주는경우) 상대경로 (현재위치에서 갈 디렉토리를 나타내는 경우) 방법 있음
ex)
절대 경로 : /usr/local/apache 상대 경로 : ../../etc/samba |
op)
~ : 자신의 홈디렉토리 (로그인한 계정의 홈디렉토리) - : 바로 전의 디렉토리 .. : 바로 상위 디렉토리 |
cp (파일 복사)
cp [옵션] "원본파일명" "복사할 디렉토리"
-r 서브 디렉토리까지 복사
-p 원본파일의 퍼미션 소유권등을 그대로 유지한채 복사
cfdisk
- 커서 기반 메뉴의 파티션 설정 유틸리티
chage
- 사용자 패스워드 만기일 확인 및 설정
chattr
- 파일 속성을 변경
- kek 이라는 파일에 i 속성 부여 : 읽기 전용으로 만듬 (삭제, 수정, 링크 생성 안됨)
- + : 파일에 속성 추가, - : 파일에 속성 제거, = : 파일이 오로지 주어진 속성만 가지게 함
lsattr kek (속성 확인) : 파일이 삭제되거나 수정 안될때 이걸로 확인
----i---------- kek
chfn
- 사용자 정보 변경
- Name []: takakoxxx
- Office []: smilexx
- Office Phone []: 010-9707-xxxx
- Home Phone []: 02-1688-xxxx
입력하고 나면 /etc/passwd 파일 열어보면 정보가 추가되어 있다.
takakocap:x:500:500:takakoxxx,smilexx,010-9707-xxxx,02-1688-xxxx:/home/takakocap:/bin/bash
chkconfig
: 부팅할때 데몬 자동으로 실행되게끔 할려고 많이 사용들 한다
: 이거 보다는 ntsysv 이거 하면 편하다 ㅋ 그래픽으로 나온다 그냥 체크만 해주면 된다.
: 이외에 /etc/rc3.d/rc3.d/ 디렉토리에 실행하고자 하는 스크립트 및 파일을 심볼릭 링크해주면 된다.
chkconfig --list (전체 데몬 리스트 나열) chkconfig --level 345 sendmail on | off 3 : 콘솔 4 : ? 5 : x-windows |
chown (소유권자), chgrp (소유그룹)
- 파일이나 디렉토리 ( -R ) 의 소유권 및 소유그룹 변경할때 사용
chmod
- r (읽기 가능) : 4, w (쓰기가능) : 2, x (실행가능) : 1
- 소유자 (rwx) 소유그룹 (rwx) 기타계정 (rwx)
- 맨앞에 - 는 파일 d 라고 나오면 디렉토리임
chmod -R 755 디렉토리이름 : 디렉토리 및 하위디렉토리 모든 파일의 퍼미션 바꿈
clear
- 모니터 더러울때 화면 싹다 지우기 ( Ctrl + l ) 눌러도 됨 ㅋ
cut
- 파일에서 특정 필드를 추출하는 명령어 (원본파일에는 영향주지 않음)
- 문자수로 열 계산 ( -c ), 필드구분자 ( -d ), 파일내의 필드로 따져서 추출
-c : 문자수로 열을 계산해서 출력 -d <구분자> : 필드 구분자 사용 -f <구분자> : 파일 내에 필드로 따져서 출력 |
- 행 (가로), 열(세로) 에서 열로 계산에서 12-17까지 라인 다 출력할듯 함
cut -d " " -f 1,3 파일이름
- " " 안에는 공백인데 공백으로 필드를 나눠서 1열 3열 출력함
cut -d : -f 1,3-4 /etc/passwd | tail -5
- 필드 구분자로 : 콜론을 주고 -f 로 해서 1번과 3번 필드를 /etc/passwd 파일 출력하는데 tail -5 니깐 마지막 5줄만
date
- 날짜랑 요일 시간 이런거 출력해주는거
20100224 요런식으로 출력됨 (백업파일 만들때 요거 붙이면 효율적으로 만들수 있다네요)
df
- 하드디스크의 할당된 파티션 전체 용량과 사용중인 용량 등을 출력해주는 명령
- 그냥 df -Th 로 가장 많이 본다 ㅋ ( T : 파일 시스템 정보, h : 파일을 보기 쉬운 용량으로 출력 )
du (disk use)
- du -sh /home 이런식으로 많이 사용 ( s : 해당 디렉토리의 하위 디렉토리의 값까지 포함, h : 보기쉬운 용량으로 )
diff
: 파일의 내용을 비교해서 서로 다른 행을 출력하는 명령어
-b : Space 를 무시하고 비교 -q : 파일이 서로 다른 경우 다르다는 메세지만 출력 |
hdparm
- 하드디스크 속도 측정
hdparm -tT /dev/sda /dev/sda: Timing cached reads: 1206 MB in 2.00 seconds = 602.33 MB/sec Timing buffered disk reads: 162 MB in 3.00 seconds = 53.92 MB/sec |
find (특정 파일 찾을때 사용)
: find 디렉토리 [옵션] 파일명
find / -name httpd.conf : / 부터 시작해서 전 리눅스 샅샅이 훝여서 찾으므로 느리다 (경로 알거 같으면 좀 적어주자) find / -amin 10 : 10분전에 접근된 모든 파일 검색 (시간 날짜 머 이런것들도 가능하다) atime 10 : 10일전 find / -cmin 10 : 10분전에 마지막으로 변경된 파일 ctime 10 : 10일전 xtime 10 : 10분전 (딱 10분전) : -10분 xtime -10 : (현재로 부터 10분전까지 모든) -1분 ~ 10분 사이에 모든것들... |
finger, who, w
- 리눅스에 누가 접속해 있는지 출력해줌
finger : 사용자 정보를 보다 자세하게 보여줌
w : 사용자가 어떤 작업을 하는것 까지 보여줌
head
: 파일의 앞에서 부터 출력
: ↔ tail 명령어와 반대 개념의 명령어 (tail 은 파일 뒤에서 부터 출력)
id (현재 주어진 계정의 사용자 ID, 그룹 ID, 추가그룹 ID 등 정보를 나열함)
ex)
[root@localhost ~]# id uid=0(root) gid=0(root) groups=0(root) |
fsck (리눅스 시스템 파일 파일 시스템 점검)
마운트되어 있는 파일시스템을 fsck 실행하면 파일시스템 전체가 손상될 위험이 있으므로 언마운트 시킨후 점검 umount /mnt/sda10 |
ftp
:ftp 아이피 포트번호
get : 파일 다운로드 mget : * 를 이용하여 여러 파일을 한번에 전송 받을수 있음 "나는 자연인 이다.pdf" ← 공백이 있는 문서는 "" 따옴표를 이용해 묶어줌 |
grep
- 특정 단어, 문장 등을 포함하는 파일을 찾을때 유용하며 지정한 패턴과 일치하는 라인을 화면으로 출력함
- 특정 명령어로 출력되는 값 결과중에 원하는 부분만을 찾을때도 사용함
- 파일에서 18 이라는 패턴을 가진 모든 라인을 출력
grep -n 18 파일이름
- 위의 결과 값인데 출력되는 라인번호도 같이 출력해줌, 아마 찾기 쉽게? 하기 위해? 본 파일에서 ?
grep 18NOM * (특정디렉토리에서)
- 디렉토리내의 모든파일* 을 뒤져서 18NOM 이라는 패턴을 가진 파일이름:해당패턴 형식으로 출력해준다
grep -i 18NOM -n *
- 모든 파일 디져서 18이라는 패턴을 가진 라인을 출력 (-i 대, 소 문자 구분안함) 하고 라인넘버도 같이 출력
grep 18NOM -l /etc/*
- /etc/안에 모든 파일을 검색하고 -l 옵션으로 패턴을 포함하는 파일만 출력한다
grep " 18nom kek"
- 단어가 아닌 구문으로 찾고자 할때 ...
history
- 해당 계정의 .bash_history 에 파일 형태로 남아 있음
- history -c : 해당 히스토리 목록 지우기 (로그아웃후 로그인 한 후에 완전히 지워지게 됨)
- profile 파일에서 HISTSIZE = ???? 라인을 수정하면 저장되는 라인수를 설정할수 있습니다. (default 1000)
hwclock
- 하드웨어 시간 바이오스에서 받아온 시간을 출력
- hwclock --systohc : 하드웨어의 시간을 리눅스 OS의 시간으로 설정
- rdate -s time.bora.net && hwclock --systohc (크론탭에 등록하자 ㅋ)
iostat
-k / -m : 킬로바이트 / 메가바이트로 표시
-c : CPU 상태만
-d : 디바이스 상태만
-x : 파티션 단위로 표시
CPU
- %user : 사용자레벨에서 사용한 양 표시
- %nice : 사용자레벨에서 nice 순위와 관련하여 사용한 양 표시
- %sys : 시스템레벨(커널)에서 사용한 양 표시
- %idle : CPU가 대기한 상태를 표시
Device 입출력
- tps : 디바이스에서 초당 전송하는 개수 표시
- Blk_read/s : 초당 읽어들이는 블록의 개수 표시
- Blk_wrtn/s : 초당 쓰여지는 블록의 개수 표시
- Blk_read : 블록이 읽혀진 총 개수 표시
- Blk_wrtn : 블록이 쓰여진 총 개수 표시
kill (프로세스 종료)
-l : 시그널로 사용할수 있는 목록나열 -1 : 프로세스 재실행 ps 명령어로 종료하고자 하는 PID를 찾아서 kill -9 PID 로 많이 죽임, 또는 killall 프로세스이름 |
ls
- 파일 리스트를 화면에 출력, 가장 많이 쓰는 명령중의 하나임 ㅋ
ls -al 에서 l 옵션은 퍼미션, 크기 등 자세한 정보까지 출력한다
* 또는 ? 이런거 특수 문자 조합해서 쓸수 있다
op)
-a, all : 디렉토리내에 있는 모든 파일 보기 (숨겨진 파일까지 출력) -c : 파일을 최근 변경 시간으로 정렬 (ctime) -i : 파일의 inode 값 보이기 -l : 퍼미션, 크기, 사이즈 등 자세한 정보 출력 -t : 최근파일부터 정렬하여 출력 |
mkdir rmdir "디렉토리명"
- 디렉토리 만들거나 삭제
불편해서 rm -rp 요렇게 많이 씀 잘못쓰면 다 날라갈지도 ㅋ
mv (이 명령 잘못 쓰다가는 퇴직할지도 모름 난 안전하게 cp로 씀)
- 말 그대로 이동시킬때 쓰거나 파일이름을 바꿀때 자주 사용
-f : 대상 파일이 있어도 강제로 덮어씀
※. mv 라는 명령어는 반드시 백업본을 만들어 놓고 mv 라는 명령어를 실행하는것이 좋음 (하드웨어적인 문제로 파일 삭제되는 경우 간혹 발생됨)
paste
- 여러 파일의 내용을 하나로 합쳐서 출력하는것 (구분자는 기본적으로 Tab)
- ( -s ) : 한 파일의 내용을 한줄로 보여준후 다른 파일의 내용을 한줄로 덧붙임
- ( -d ) : 출력되는 내용의 구분자를 지정한다
[root@localhost bash]# paste exam1 exam2 exam3
1111 2222 3333
1111 2222 3333
1111 2222 3333
1111 2222 3333
[root@localhost bash]# paste -d : exam1 exam2 exam3
1111:2222:3333
1111:2222:3333
1111:2222:3333
1111:2222:3333
[root@localhost bash]# paste -s -d "|" exam1 exam2 exam3 : -s 이거 주면 가로로 한줄 먼저 출력하고 순차적인듯 함
1111|1111|1111|1111
2222|2222|2222|2222
3333|3333|3333|3333
patch
- patch -p 0 < 패치할 파일
- patch -p 0 < /어쩌구/저쩌구/패치파일
옵션 -p X : diff의 최상단에 지정되어 있는 상대경로를 조정(?)하는 역활을 한다.
다시 말하면 -p뒤에 오는 수만큼 명시되어 있는 디렉토리를 벗겨 낸다는말이다
patch 명령 사용시 패치 파일의 위치에 따라 -p 옵션 뒤의 값이 바뀌니 유의 할 것
pwd
- 현재 위치한 디렉토리를 표시해줌 가끔식 작업하다가 보면 여기가 어디지 이런생각이 들때도 있음
rm
- 파일 삭제, -r : 하위디렉토리 및 파일까지 삭제, -f : 묻지도 않고 강제로 삭제, 이것도 잘못 쓰다간 인생 조질수도.
sed (stream editor)
- 문자 스트림으로 나타나는 입력을 수정하거나 편집하는 일종의 편집기
- 화면으로 출력되는 내용을 필터링 하여 보여주는 역활
-d : 행 삭제
-q : sed 종료
sed '/18nom/p' 파일이름
- 18nom인 놈들을 출력하기 위해 '/18nom/p' 옵션줌 ( 전체 출력한번 되고 해당되는 값만 중복 해서 출력)
sed -n '/18nom/p' 파일이름
- 18nom인 라인만 출력될것임
sed '1,3d' 파일이름
- 1 에서 3번 까지 라인 삭제하고 출력함
sed '5,$d' 파일이름
- 5번에서 마지막 라인까지 삭제하고 출력, $는 파일의 마지막 라인을 나타냄
sed '4q' 파일이름
- 4번 라인까지 출력하고 종료됨. q 는 sed 종료
sed '/19nom/d' 파일이름
- 19nom 이라는 문자열 포함하는 라인제거하고 출력
sed 's/19nom/18nom/g' 파일이름
- 문자열로 19nom을 18nom으로 바꿀수 있다 (한순간에 18놈 되는거다)
sed 's/\<19nom\>/18nom/g' 파일이름
- 단어로 19nom을 18nom으로 바꿈 ( 단어로 안할 경우 아마 dog19nom, horo19nom 이런 단어들도 바뀔것이다 )
sed '1,6s/19nom/18nom/g' 파일이름
- 특정 라인만 1 - 6까지만 변경하여 출력함 (1 -6 라인 모두 출력됨)
sed -n '1,6s/19nom/18nom/gp' 파일이름
- 특정 라인만 1 - 6까지만 변경하여 출력하는데 바꾼 라인만 출력된다
sed -e 's/dog/baby/g' -e '/s/18/19/g' 파일이름
- -e는 다중 편집 옵션, sed를 중복해서 여러개 사용하겠다는 의미, -e 는 sed 명령어가 또 있다고 알려줌
^ 라인의 가장 처음을 의미 $는 라인의 가장 끝 부분을 나타냄
sed 's/^$/공백라인/g' 파일이름
- 라인의 처음이 바로 끝 부분인줄을 찾아 공백라인 이라는 문자열로 변경하여 출력
sleep
- 주어진 시간만큼 지연시키는 역활
- sleep 10 : 10초 ( m : 분 , h : 시간, d : 일) 스크립트에서 많이 쓴다고 함
sort
- 데이터에서 필드를 추출하는 명령어
- 원하는 순서 및 원하는 자료만을 추출 가능 ( cat 과 다른점)
- 아무 옵션 안주고 sort 파일이름 을 할 경우 첫번째 필드를 기준으로 오름차순으로 정렬해서 출력 (파일은 변경되지 않음)
-f : 대소문자 구분없음
-k 필드지정 라인 (열)을 기준잡고 정렬하겠다는 의미 sort -k 3 파일이름 이런느낌?
sort -k2 -r > kek
- 2번 열을 기준으로 내림차순으로 정렬하여 kek 이란 파일로 저장함
sort -t : -k2 -n -r 파일이름 | head
- 2번 열 기준이며 필드 구분자는 : -n 은 숫자로 정열하되 -r 내림차 순으로 정렬하고 head 는 위에서 10라인만 출력
split
- 파일을 분활하는 명령어, -b 파일을 byte 단위로 분활, -l 파일을 주어진 라인수로 분활
- 분활된 파일들을 aa ab ba bb 이런식으로 나누어진다....
- 옜날에나 파일 나누었지 요즘은 나눌일이 있을려나?
telnet
- 다른 시스템에 접속할때 사용함 (23번 포트 이용) 시바 아이디랑 패스워드 그대로 노출됨
- 보니깐 telnet IP 포트번호 주고 해당포트가 열려 있는지 확인하는데 많이 사용함
top
CPU, 메모리 사용량 5초 단위로 갱신함 ( 서버 상태 확인시 많이 이용)
단축키
Space : 화면 갱신 h : 도움말 r : Nice값 변경 s : 화면 갱신 시간 변경 M : 프로세스를 메모리 사용량 (RSS) 순서로 정열 P : 프로세스를 CPU 사용량으로 정렬 (기본값) q: 종료 |
USER : 프로세스의 소유자
PRI : Priority 프로세스 우선순위
NI : Nice 값 -20 - 19 사이의 값 ( 작을수록 우선 순위 높음)
SIZE : 프로세스의 코드와 데이터 크기 ( KB 단위)
RSS : 프로세스가 사용중인 실제 메모리양
SHARE : 프로세스가 사용중인 공유 메모리양
STAT : 프로세스의 상태 : S, D, R, Z, T, 등으로 구분
%CPU : 시피유 사용률
%MEM : 메모리 사용률
TIME : 프로세스가 실행되고 있는 시간
COMMAND : 프로세스를 실행한 커맨드
touch
파일의 시간정보와 관련해서 사용하는 경우 / 그냥 빈 파일을 하나 만들거나 할때 사용
- 크기가 0 인 kek 파일을 만듬 (시간 정보를 갖는 빈 파일을 만들어서 프로젝트의 변경날짜 추적하는데 사용??)
touch 기존 존재하는 파일이름
- 파일이 최종수정일이 명령날렸던 시간과 날짜로 바뀌어 있다 (과연 어디다가 쓸지 ㅋ)
useradd : 계정생성하기
adduser takakocap -b /home/userhome -p `openssl passwd 만들패스워드입력`
|
: -b 홈 디렉토리 경로
: -p 패스워드 지정
wc
- 파일내의 라인( -l ), 단어( -w ), 문자( -c ) 의 수를 출력함
- 아무 옵션 안주면 3개다 출력함.
'Linux' 카테고리의 다른 글
리눅스 기본 개념들 정리 (0) | 2015.06.04 |
---|---|
리눅스 데몬들 정리 (0) | 2015.06.04 |
/etc/shadow 파일 구조 (0) | 2015.06.04 |
systemctl (systemd) 명령어 (0) | 2015.06.04 |
리눅스에서 run 파일 실행시키기 (0) | 2015.06.04 |
- Total
- Today
- Yesterday
- ssh
- MySQL
- mod_security
- 리눅스
- pptp
- 베이어다이나믹
- kvm
- php
- Apache
- virtualbox
- NGINX
- cURL
- OpenVPN
- centos8
- IPSEC
- SSL
- galera
- 인증서
- mariadb
- gitlab
- HAProxy
- glusterfs
- yum
- softether
- L2TP
- ntp
- GeoIP
- centOS7
- WAF
- iptables
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |