//정규 표현식을 이용한 파일 내용 검색
grep 'root' /etc/passwd
//root를 포함하는 행 검색 후 행번호 출력
grep -n 'root' /etc/passwd
//root를 포함하지 않은 행을 검색
grep -v 'root' /etc/passwd
//root가 매치되는 패턴 개수 구하기
grep -c 'root' /etc/group
//행의 처음에서 검색
grep '^root' /etc/passwd
//nologin으로 끝나는 행 검색
grep 'nologin$' /etc/passwd
//p로 시작하고 x로 끝나는 7자리 단어가 포함된 행 검색
grep 'p.....x' /etc/passwd
//bash 패턴을 단어 단위로 검색
grep -w 'bash' /etc/passwd
grep -w 'a..' /etc/passwd
grep -w 'g..' /etc/passwd
grep 'o*t' /etc/passwd
grep 'a[abcde][a-z]' /etc/passwd
grep 'a[^a-d][a-z]' /etc/passwd
grep 'a[^a-l][a-z]' /etc/passwd
단일 파일 삭제 다중 파일 삭제 빈 디렉토리 삭제 디렉토리 및 하위 파일 삭제 다중 디렉토리 및 하위 파일 삭제
링크 파일
기본 파일 구조
- 파일의 데이터를 접근할 때는 *i-node 테이블을 통해 접근
- 테이블에서 데이터블록의 위치 확인
- 데이터 블록에 기록된 위치(섹터)에 데이터 저장
* i-node table이란? 파일의 정보를 담고 있는 테이블
링크 파일이란?
- 데이터블록에 대한 접근 경로를 추가해주는 방식의 파일
- 파일에 대한 접근성 향상
- 디스크 공간 절약
- 하드 링크와 심볼릭 링크로 구분
구분
하드 링크
심볼릭 링크
명령어
ln [원본 파일] [링크 파일]
ln -s [원본 파일] [링크 파일]
정의
파일이 물리적으로 저장된 주소를 가리키는 링크
파일이 저장된 논리적인 경로를 가리키는 링크
접근 방식
원본과 같은 i-node 테이블(inode 값 공유)
원본과 다른 테이블(inode 값 공유 x)
디스크 공간
필요 없음
약간의 공간 필요
디렉토리
불가능
가능
파일 시스템
동일한 파일 시스템만 가능
다른 파일 시스템도 가능
가리키는 대상
파일
파일 혹은 디렉토리
원본 파일 제거
이상 없음
접근 불가능
- 파일은 하나의 하드 링크
- 디렉토리는 두 개의 하드 링크를 가짐 - i-node가 동일함 = 물리적으로 저장된 디스크의 위치가 동일함
심볼릭 링크는 경로를 가르키기 때문에 해당 경로에 원본 파일이 지워지면 접근 불가 (=바로가기)
하드 링크의 경우에는 원본 파일이 지워지더라도 하드 링크를 통해 접근 가능
파일 및 디렉토리 검색
명령어
설명
사용법
locate
- 기존 데이터베이스 내에서 검색 - 검색 속도가 빠름 - 파일 시스템 구조 변경 시 검색이 안될 수 있음 - 파일 이름으로만 검색
locate [PATTERN]
find
- 직접 접근해서 검색하는 방식 - 시간이 오래 걸릴 수 있음 - 여러 가지 조건으로 검색 가능 - 검색과 동시에 추가 작업 가능
find [PATH] [EXPRESSION] [ACTION]
EXPRESSION - 검색 조건 - name [FILENAME]: 파일 이름 지정 - type [FILETYPE]: 파일 종류 지정 - perm [PERM]: 퍼미션 지정 - user [USER]: 소유자 지정 - size [+|-][SIZE]: 파일 크기
ACTION - 검색 후 실행할 작업 - print: 검색한 파일 경로 및 이름 표시 - ls: 검색한 파일에 대해 자세한 정보를 표시(ls -l과 유사한 형태) - exec [COMMAND] {} \;: 검색한 파일에 대해 특정 명령어 실행 - ok [COMMAND] {} \;: 검색한 파일에 대해 특정 명령어 실행 전 사용자에게 물어본 후 작업 실행