본문 바로가기

Unix/Linux 명령어

2020. 6. 12.

728x90

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

 

 

 

컴퓨터도매집 게이밍 조립식 컴퓨터 본체 배틀그라운드 로스트아크 롤 서든어택 오버워치 피파온라인4 조립 PC, 모델선택, 게임용4번 LG전자 일체형 PC 22V280-LA20K WIN10 (8세대 펜티엄 N5000 22형 WIN10 8GB SSD 128GB) 최신형, 기본형 에이수스 DUAL 지포스 GTX1060 O3G D5 3GB 그래픽카드, 단일 상품 넥스트 USB3.0 to VGA 변환 외장형 그래픽카드 NEXT-JUA310 휴이온 무충전펜 그래픽 펜 타블렛 H950P, 단일 색상 ASUS C301SA-IB04 크롬북 N3160 13.3 FHD 박스만오염, 단일상품, 단일상품

728x90

댓글