○ 문자열 패턴 검색 [grep]
grep 명령은 파일 내에서 지정한 패턴이나 문자열을 찾은 후에, 그 패턴을 포함하고 있는 모든 행을 표준 출력해 준다. 물론, 한 디렉토리 내에서 지정한 패턴을 포함하는 파일을 출력할 수도 있다. grep 명령은 하나 이상의 파일로부터 프로그램 수정 등을 위해 변수, 또는 함수명을 찾을때 많이 사용된다.
grep 명령의 기본 문법
grep [-옵션] 패턴 파일명
옵션
-c : 패턴이 일치하는 행의 수를 출력
-i : 비교시 대소문자를 구별 안함
-v : 지정한 패턴과 일치하지 않는 행만 출력
-n : 행의 번호를 함께 출력
-l : 패턴이 포함된 파일의 이름을 출력
-w : 패턴이 전체 단어와 일치하는 행만 출력
사용 예
$ grep -n ‘삼성’ token_dic
= token_dic 이라는 파일내에서 ‘삼성’ 이라는 패턴이 들어간 문자열과 행번호를 출력
grep -n ‘삼성’ token_dic 1384 : 동삼성 2342 : 삼성은 3233 : 삼성생약 4323 : 삼성출판 |
$grep -l ‘삼성’ *
= 현재 디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어간 파일의 이름을 출력
grep -n ‘삼성’ * cat_tree syn_common table_merge_last table_syn table_syn_title token_dic |
$grep -v ‘삼성’ *
= 현재 디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어가지 않은 행을 출력
$grep -r ‘삼성’ *
= 현재 디렉토리 및 서브디렉토리의 모든 파일에서 ‘삼성’ 이라는 패턴이 들어간 문자열 출력
패턴의 정규 표현식(Regular Expression)
패턴 지정에서 사용되는 정규 표현식은 작은 따옴표 (‘ ‘)로 묶어서 표현한다.
$ grep ‘^a’ 파일명
= ^는 파일의 시작을 나타냄. 파일에서 a로 시작하는 행을 찾는다.
$ grep ‘apple$’ 파일명
= $는 파일의 끝을 나타냄. 파일에서 e로 끝나는 행을 찾는다.
$ grep ‘app*’ 파일명
= 파일에서 app로 시작하는 모든 단어를 찾는다.
$ grep ‘a…..e’ 파일명
= 파일에서 a로 시작하고 e로 끝나는 7자리 단어를 찾는다.
$ grep [a-d] 파일명
= 파일에서 a,b,c,d 로 시작하는 단어를 모두 찾는다.
$ grep [aA]pple 파일명
= 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.
$ grep ‘apple’ d*
= d로 시작하는 모든 파일에서 apple 를 포함하는 모든 행을 찾는다.
$ grep ‘apple’ 파일명1 파일명2
= 지정된 두개의 파일에서 apple 를 포함하는 모든 행을 찾는다.
$ grep ‘^[ab]’ 파일명
= 파일에서 a나 b로 시작되는 모든 행을 찾는다.
○ Unix/Linux 디스크 용량 확인 (df/du)
디스크 용량을 확인하는 명령어들이다.
df : 디스크의 남은 용량을 확인
df -k : 킬로바이트 단위로 현재 남은 용량을 확인
df -m : 메가바이트 단위로 남은 용량을 왁인
df -h : 보기 좋게 보여줌
df . : 현재 디렉토리가 포함된 파티션의 남은 용량을 확인
du : 현재 디렉토리에서 서브디렉토리까지의 사용량을 확인
du -a : 현재 디렉토리의 사용량을 파일단위 출력
du -s : 총 사용량을 확인
du -h : 보기 좋게 바꿔줌
du -sh * : 한단계 서브디렉토리 기준으로 보여준다.
* 의 있고 없고의 차이
[gangmin@kr]du -sh * 190M removeSameComment 1.4G trunc_tweet_tag [gangmin@kr]$ du -sh 1.5G |
○ 계정생성
: debian 계열의 경우 useradd / adduser 모두 사용할 수 있지만, 차이는 있다.
● useradd : 순수 계정만 생성해주고, 기본 셸인 sh가 할당된다. (홈 디렉토리 / 패스워드 등을 따로 설정 해 주어야함.)
● adduser : 계정생성 및 비밀번호 와 사용자 정보를 입력받아 계정을 생성하고, 사용자가 설정한 기본 셸을 사용자의
셸로 지정해 주고 홈 디렉토리도 만들어 준다.
(2) useradd 명령으로 계정 생성
– useradd로 계정을 생성 시 계정은 생성 되었으나, 홈폴더는 생성되지 않는다.
– 패스워드 또한 따로 등록 해 주어야 한다.
(3) useradd 옵션
-c (Comment) : 패스워드 파일에 사용자 설명 추가
-d (Home) : 디렉토리 위치 지정
-e (Expiredate) : 지정된 날짜에 사용자 계정 삭제
-f (Inactive) : 패스워드 만기된 후 계정 영구 삭제 기간
-u (User ID) : 사용자 ID 퍼미션
-s (Shell) : 사용자의 로그인 쉘 지정
-n (Mode) : 사용자가 계정 추가 기본 모드를 지정하지 않을 시
-G (Groups): 사용자가 기본 그룹 이외, 다른 그룹에 추가
-m (Move) : 홈 디렉토리를 지정할때 사용합니다. (-d 옵션과 쓰임)
-M (No create home) : 홈 디렉토리를 만들지 않는다.
: -m 옵션으로 홈폴더가 만들어 졌고, -c 옵션으로 계정에 administrator라는 정보를 추가
(4) adduser 명령으로 계정 생성
○ 디렉토리 삭제
rm 명령어
디렉토리나 파일을 삭제하기 위해서는 rm 이나 rmdir 명령을 사용한다.
그런데 비어 있지 않은 디렉토리의 경우 삭제가 되지 않는다.
rm 명령의 옵션은 rm –help 명령으로 확인할 수 있으며, 그 내용은 다음과 같다.
-d : 비어 있지 않은 디렉토리도 지움
-f : 존재하지 않거나 이미 지워진 파일은 무시하고 다음으로 넘어감
-i : 지우기 전에 파일을 지울 것인지 물어봄
-r : 하위 디렉토리 까지 모두 지움
-v : 무엇을 지웠는지 알려줌
사용 예 >
$> rm -r 디렉토리 명 : 디렉토리 전체를 삭제 (비어있지 않아도 삭제)
$> rm 파일명 : 해당 파일 삭제