OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 파일 유용한 명령어(touch, grep, find, whereis, which)

주누다 2015. 1. 13. 00:24
반응형

touch : 빈 파일 만들기, 수정 시간 변경하기

 touch

- 기능 : 빈 파일을 생성함.

- 형식 : touch [-acm] [-r ref_file | -t time] 파일

- 옵션 : 

 '-a' : 접근 시간만 변경

 '-m' : 수정 시간만 변경

 '-t' : [[CC]YY]MMDDhhmm[.ss] : 시간을 직접 입력

- touch 에 인자로 주어진 파일이 존재하지 않는 경우 내용이 없는 빈 파일 생성.

- 파일이 존재하면 현재 시간 또는 옵션에 지정한 시간으로 파일의 관련 시간을 변경

- '-t' 옵션을 사용하면 변경할 시간을 지정할 수 있음.

 시간 표시

- 형식 : [[CC]YY]MMDDhhmm[.ss]..

- 설명 : 

 CC : 연도의 첫 두 자리

 YY : 연도의 마지막 두 자리

 MM : 달(01~12 범위 내 지정)

 DD : 날짜(01~31 범위 내 지정)

 hh : 시간(01~23 범위 내 지정)

 mm : 분(00~59 범위 내 지정)

 ss : 초(00~59 범위 내 지정


연도의 지정 방법

- 만약 CC를 지정하지 않으면 YY값에 따라 CC를 자동으로 인식

 YY

69~99 

00~38 

39~68 

 CC 

19 

20 

ERROR 



grep : 파일 내용 검색하기

- grep 명령은 파일 내에서 특정 문자열을 검색할 때 사용

- grep 명령은 정규 표현식을 사용하여 복잡한 검색도 가능

 grep

- 기능 : 지정한 패턴을 포함하는 행을 찾음

- 형식 : grep [옵션] 패턴 [파일명]

- 옵션:

 '-i' : 대문자, 소문자를 모두 검색함.

 '-l' : 해당 패턴을 포함하는 파일 이름을 출력

 '-n' : 행 번호를 출력


ex)

grep root /etc/passwd

grep -n unix ~/*.txt

grep -l hello *.c 



find : 파일 찾기

- find 명령은 리눅스 디렉터리 계층 구조에서

 특정 파일이 어느 디렉터리에 있는지 찾아주는 것.

- grep은 파일 내용을 검색.

- find는 파일 생성 일자, 이름, 소유자 등 다양한 조건에 맞는 파일을 찾음.

 find

- 기능 : 조건에 맞는 파일을 지정한 위치에서 찾음

- 형식 : find 경로 검색 조건 [동작]

- 옵션 : 

 -name filename : 파일 이름으로 검색

 -type 파일 종류 : 파일 종류로 검색

 -user loginID : 지정한 사용자가 소유한 모든 파일을 검색

 -perm 접근 권한 : 지정한 사용 권한과 일치하는 파일을 검색


- 동작 : 

 -exec 명령 {} \; : 검색된 파일에 명령을 실행

 -ok 명령 {} \; : 사용자의 확인을 받아서 명령을 실행

 -print : 검색된 파닝릐 절대 경로명을 화면에 출력(기본 동작)

 -ls : 검색 결과를 긴 목록 형식으로 출력


- 사용예

$find ~ -name hello.c

$find /temp -user user10 -exec rm{} \; 

- find 명령으로 검색한 모든 파일을 대상으로 동일한 작업을 수행하려면 '-exec'나 '-ok' 옵션을 지정해 사용가능.

- '-exec'와 '\;' 사이에 쓰인 부분이 검색된 파일에 적용될 명령.

- 찾은 파일의 절대 경로가 exec 다음의 { }가 있는 위치에 삽입되어 명령이 처리

- 이 때 명령과 { }사이, { } \ 사이에 공백이 있어야 하며, \와 ;은 공백없이 붙어야 함.

ex)

user@ubuntu:~/ch2$ find /tmp -user user -exec rm {} \;

find: '/tmp/pulse-PKdhtXMmr18n': 허가 거부

rm: '/tmp/ssh-uDugP5QVqB8Z'를 지울 수 없는 디렉터리 입니다.

user@ubuntu:~/ch2$


- find 명령으로 검색한 파일을 삭제하기 전에 하나씩 확인하고 싶으면 '-exec'대신

 '-ok'를 사용



whereis, which : 명령의 위치 찾기

- whereis나 which 명령은 특정 명령이 어느 위치에 있는지를 찾아서 절대 경로를 출력함.

 whereis

- 기능 : 지정된 경로에서 명령의 바이너리 파일이나 메뉴얼 파일의 위치를 찾음

- 형식 : whereis [옵션] 명령

- 옵션:

 '-b' : 바이너리 파일만 검색

 '-m' : 메뉴얼 파일만 검색

 '-s' : 소스 파일만 검색

- 사용 예 : whereis ls

- whereis 명령은 /bin, /usr/bin/, /etc, /usr/etc, /sbin, /usr/sbin, /usr/share/man 등 

 정해진 디렉터리를 검색하여 명령의 위치를 찾음.

- 명령을 검색하는 전체 디렉터리는 man where 명령으로 확인할 수 있음.


which 

- 기능 : 명령어 파일의 위치를 찾아서 그 경로나 에일리어스를 출력

- 형식 : which 명령

- 사용 예 : which ls 

- which 명령은 사용자 초기화 파일에 지정된 에일리어스를 먼저 찾아보므로,

 에일리어스가 지정된 명령의 경우네는 해당 에일리어스가 출력됨.

- 에일리어스가 없으면 PATH 환경 변수에 지정된 경로를 순서대로 찾아가며 명령어 파일이 있는지 검색

- which 명령은 파일을 찾으면 절대 경로를 출력 후 종료함.

- which 명령은 최대 하나의 경로만을 출력하며, 이 경로는 우리가 명령을 입력할 때 실행되는 파일. 




반응형