Unix/Linux 명령어

○ 문자열 패턴 검색 [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 파일명 : 해당 파일 삭제