출처: http://snoopy81.tistory.com/377
※ Unix의 루트 디렉토리 아래에 있는 몇가지 특수 디렉토리
1. /usr : 시스템 사용시 고정된 공유파일을 포함
2. /bin : 명령어를 실행할 수 있는 파일을 가진 디렉토리
3. /dev : 프린터, 모니터 등 입출력 장치파일들이 있는 디렉토리
4. /etc : 시스템에서 사용되는 관리파일을 가짐
5. /tmp : 임시파일을 만들기 위해 사용되는 파일
6. /sbin : 관리자만이 쓰는 파일
♣ 메타문자 사용
▶ * : 0개 이상의 문자
▶ ? : 1개의 문자
▶ [ ] : 괄호 안의 어떤 한 문자 혹은 괄호 안의 범위의 문자
▶ [! ] : 괄호 안의 문자들과 대응하지 않는 것
▶ \* : 메티문자를 일반문자로 바꿀 경우 사용(\)
♣ Unix의 간단한 명령어
▶ ; : 한줄에 두 개 이상의 명령어 실행 (ex. $ cal;date)
▶ | : 동시수행 (ex. ls | more)
■■■■■ a ■■■■■
▶ adduser : 루트로 로그인해서 이용자를 추가
● $ adduser -p wef21 -g aaa -s '/bin/bash' -d '/home/test01' user
▶ awk : 파일의 선택필드를 자름 (-F패턴 : 구분자를 써줌, 패턴을 생략하면 모든 라인에서 동작)
● $ awk -F: '$3>=1000 {print $1,$3}' passwd : passwd파일에서 UID가 1000보다 큰 유저명과 UID 출력
$ ls -l | awk '{print $9,$5}' : 현재 디렉토리에서 파일명과 파일사이즈를 출력
■■■■■ c ■■■■■
▶ cat : 파일의 내용을 출력
● $ cat -n test.log : test.log파일을 행 번호를 붙여서 보여줌
▶ chmod : 파일 및 디렉토리 사용권환 변경
● $ chmod 755 test : test 파일(디렉토리)의 권한을 rwxr-xr-x로 변경
▶ cp : 파일 복사
● $ cp ./test/text.txt . : test/text.txt파일을 현재 디렉토리로 복사
$ cp -r test test01 : test디렉토리에 있는 모든 파일(서브 디렉토리의 모든 파일포함)을 test01로 복사
■■■■■ d ■■■■■
▶ date : 현재 날짜를 보여줌
● $ date
■■■■■ f ■■■■■
▶ file : 파일 유형 출력
● $ file aaa.tar : aaa.tar: POSIX tar archive (GNU)
▶ find : 주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력
◈type : d-디렉토리, f-일반파일
◈user : 지정한 사용자 ID가 찾은 사용자 ID와 일치되면 출력
◈size : 파일 크기가 일치되면 출력(1블록 = 512byte)
+2 : 파일의 크기가 1024byte 이상인 파일을 찾음
-2 : 파일의 크기가 1024byte 미만인 파일을 찾음
◈mtime : 지정한 시간에 변경된 파일을 찾음
+n : 지금으로부터 n일 이전에 수정된 파일
-n : 지금시각으로부터 최근 n일 동안 수정된 파일
◈exec : 명령어를 실행, 인수는 {}로 표시, 명령어 끝은 항상 \;로 끝남
● $ find / -name test01 : 최상위 디렉토리부터 검색하여 파일명이 test01인 파일을 출력
$ find . -name test01 : 현재 디렉토리부터 검색하여 파일명이 test01인 파일을 출력
$ find ~ -name test01 : 홈 디렉토리부터 검색하여 파일명이 test01인 파일을 출력
$ find . -mtime -10 exec rm {} \; : 10일 이내에 수정한 파일을 검색하여 삭제
$ find . -type f -a -mtime -1 -exec cp {} ./back \; : 현재 디렉토리로부터 일반파일이고 최근 하루동안 수정한 파일을 back디렉토리로 복사
$ find . -type d -exec chmod 777 {} \; : 현재 디렉토리로부터 파일형식이 디렉토리(폴더)인 파일의 권한을 777(rxwrxwrxw)로 변경
▶ finger : who 명령어를 보충하는 명령어, 특정 사용자에 대한 정보 출력
● $ finger
▶ free : 메모리의 사용상태와 남은 상태, 버퍼의 상태등을 보여줌
● $ free
■■■■■ g ■■■■■
▶ grep : 파일 중에서 어떤한 패턴을 검색 (grep 문장 파일명)
● $ grep -n single test.txt : test.txt파일에서 "single"과 매치되는 라인을 출력
$ grep -v single test.txt : test.txt파일에서 "single"과 매치되지 않는 라인을 출력
$ grep -n single /home -R : home 폴더 및 하위에 있는 모든 파일에서 "single"과 매치되는 라인을 출력
$ grep -l single /etc : etc 폴더 및 하위에 있는 모든 파일에서 "single"과 매치되는 라인이 있는 파일명 출력
$ grep -i single test.txt : test.txt파일에서 대소문자 구분없이 "single"과 매치되는 라인을 출력
$ grep ^soon passwd : passwd파일에서 soon으로 시작하는 라인을 찾음
$ grep bash$ passwd : passwd파일에서 bash로 끝나는 라인을 찾음
$ grep -n 1-5-1[0-9] passwd : passwd파일에서 (1-5-10 ~ 1-5-19)의 문자열이 들어가는 라인을 라인번호와 같이 출력
■■■■■ h ■■■■■
▶ help : help 명령어
● $ mkdir --help : mkdir명령어에 대한 help를 보여줌
■■■■■ i ■■■■■
▶ id : 사용자의 로그인명, ID, 그룹 ID 등을 출력
● $ id
■■■■■ k ■■■■■
▶ kill : 실행되고 있는 프로세서 ID를 입력해서 프로세서를 종료
● $ kill -9 2341 : 2341의 pid를 가진 프로세서를 강제 kill
■■■■■ l ■■■■■
▶ ln : 파일 연결 (-s는 Symbolic Link, -s옵션이 없으면 Hard Link)
● $ ln -s test test101 : test(원본)를 test101(공유)와 심볼릭(-s) 링크
$ ln -s back bbbb
drwxr-xr-x+ 1 snoopy None 0 Jan 9 17:08 back
lrwxrwxrwx 1 snoopy None 4 Jan 9 17:10 bbbb -> back
▶ ls : 디렉토리와 파일의 정보를 출력
● $ ls -al : 모든 파일에 대한 파일의 정보를 출력
$ ls -t : 최종 수정된 시간별로 정렬하여 출력
$ ls -F : 파일의 특성을 출력
■■■■■ m ■■■■■
▶ mkdir : 디렉토리를 만듦
● $ mkdir -p ./test/test01 : 부모디렉토리까지 한번에 만듦
▶ mv : 파일 이름 변경 및 이동
● $ mv test1 test2 : test1의 이름을 test2로 변경
$ mv -i : 이미 존재하는 파일을 덮어 쓸 것인지를 물어봄
■■■■■ n ■■■■■
▶ nohup : 로그아웃 후에도 백그라운드 명령을 계속 실행(결과는 nohup.out에 저장)
● $ nohup ls -l : ls -l 명령어를 백그라운드로 실행 (ls -l의 결과는 nohup.out에 저장되어 있음)
■■■■■ p ■■■■■
▶ ps : 프로세서에 관한 리스트를 보여줌
● $ ps -e : 현재 시스템 내에 실행 중인 프로세스에 관련된 정보를 출력
▶ pwd : (print working directory) 현재 작업 directory를 출력
● $ pwd
■■■■■ r ■■■■■
▶ rm : (remove) 파일을 제거(한번 삭제된 파일은 다시 복구 할 수 없음)
● $ rm -f test1 : 권한이 없는 파일이라도 강제로 지움
$ rm -r test1 : 서브디렉토리를 포함한 모든 내용을 지움
$ rm -i test1 : 각 파일에 대하여 지울 것인지 물어 봄
▶ rmdir : (remove directory) 디렉토리를 삭제(디렉토리에 파일이 존재할 경우 삭제할 수 없음) => rm -rf 사용
● $ rmdir test1 : 해당 디렉토리를 삭제
■■■■■ s ■■■■■
▶ su : 사용중에 다른 ID로 재접속하는 명령어
● $ su user01 : user01로 접속 (사용자ID 없이 su만 입력하면 root로 접속)
■■■■■ t ■■■■■
▶ tail : 파일의 마지막 n개의 내용을 보고자 할 때 사용
● $ tail -f test.log : test.log파일의 최근 변경된 내용을 출력
▶ tar : 파일 묶음/해제
● $ tar -cvf back.tar . : 현재 폴더의 모든 파일을 back.tar로 묶음
$ tar -cvf home.tar /home : home 디렉토리를 home.tar로 묶음
$ tar -xvf back.tar : back.tar파일의 묶음을 해제
$ tar -tvf aaa.tar : aaa.tar파일의 묶음을 해제하지 않고 안의 내용을 출력
■■■■■ w ■■■■■
▶ wc : 파일내의 정보 출력 / 명령문의 개수 출력
● $ wc -l test.txt : test.txt파일내의 라인수 출력
$ wc -w test.txt : test.txt파일내의 단어수 출력
$ wc -c test.txt : test.txt파일내의 문자수 출력
▶ who : 시스템에 로그인된 사용자를 보여줌
● $ who
▶ whoami : 사용자의 ID를 출력
● $ whoami
■■■■■ 기타 ■■■■■
▶ > : 출력 재지정(저장)
● $ ls -l > t.file : ls -l의 결과를 t.file로 저장
▶ < : 입력 재지정(입력)
● $ cat < test/test.txt : test/test.txt파일로 부터 입력받아 cat 실행
'프로젝트 관련 조사 > 시스템 구축' 카테고리의 다른 글
[OSSEC] JSON output으로 syslog 던지기 (0) | 2015.12.09 |
---|---|
[OSSEC] OSSEC DB 구조 (0) | 2015.12.04 |
이메일 파싱 (0) | 2015.11.27 |
OSSEC intall (0) | 2015.11.25 |
vmware 네트워크 설정 파일 위치 (0) | 2015.11.19 |