13일차

장민우·2024년 4월 12일

링크


하드 링크(Hard Link)
- 파일이 물리적으로 저장된 주소를 가리키는 링크
- 가리킬 수 있는 대상 : 파일 (같은 파일시스템 내에 있는 파일)
- 원본파일과 inode 값을 공유
- 하드링크는 원본과 하드링크를 구별할 수 없음
- 원본이 삭제 되어도 하드링크를 통해서 원본 데이터에 접근 가능함
- 원본, 하드링크의 권한 설정시 둘다 동일한 권한으로 설정됨

$ ln [SOURCE] [HARDLINK_FILE]

심볼릭 링크(Symbolic Link)
- 파일이 저장된 논리적인 경로를 가리키는 링크
- 가리킬 수 있는 대상 : 파일, 디렉터리
- 원본파일과 inode 값을 공유하지 않음
- 원본과 심볼릭 링크를 구별할 수 있음
- 원본이 삭제되는 경우 원본 데이터에 접근할 수 없음
- 링크 파일에서 권한 설정시 원본 파일의 권한이 수정됨

$ln -s [SOURCE] [SYMBOLIC_LINK]

파일 및 디렉토리 검색


grep 명령어

$grep [OPTION]... [PATTERN] [FILE]

  • 명령어 옵션
옵션설명
-i검색 패턴 대소문자 무시
-l매칭 되는 패턴이 있는 파일 이름 출력
-n매칭 되는 줄 번호 표시
-v검색 패턴을 제외하고 검색
-c검색 패턴과 매칭 되는 줄 개수 출력
-w단어 단위로 검색

정규표현식(Regular Expression)

문자열의 패턴을 정의하는 표현식
규칙성을 가진 문자열이 있는 경우 그 형태를 정의

  • 정규 표현식 메타 문자

    ^ : 행의 맨 처음

    $ : 행의 맨 끝

    . : 임의의 한 문자
    * : 앞의 문자가 한번도 매치되지 않거나 1번 ~ 무한대까지 매치됨.

[ ] : 대괄호 안에 정의한 문자 세트 중 하나의 문자가 매치됨.



[^ ] : 대괄호 안에 정의한 문자 세트를 제외한 하나의 문자가 매치됨.
\{NUM\} : 앞의 문자를 NUM회 반복

-e [PATTERN] : 여러 패턴을 한번에 찾고자 하는 경우 사용하는 옵션

-r : 여러 파일에서 내용을 찾고자 하는 경우 사용하는 옵션, 일반적으로 파일 부분에는 디렉터리를 지정

-B [NUM] : 찾고자 하는 행의 이전 NUM행을 같이 출력
-A [NUM] : 찾고자 하는 행과 이후 NUM행을 같이 출력
-C [NUM] : 찾고자 하는 행의 전후 NUM행을 같이 출력


egrep 명령어


egrep 명령어는 grep명령어와 사용법이동일하다.
egrep는 확장 정규 표현식을 지원한다.

  • 확장 정규 표현식
메타 문자용도예제결과
+특정 문자 앞에 하나 이상의 문자 있음[a-z]+tiontion 문자 앞에 소문자의 문자 있음
x|yx 또는 yroot|adminroot 또는 admin
(abc|def)abc또는 def(문자열)ha(ve|ving)have 또는 having

find 명령어


디렉터리에서 파일을 검색하는 명령어
$find [PATHNAME] [EXPRESSION] [ACTION]

  • EXPRESSION
조건설명
-name filename특정파일 이름 지정(메타문자 사용 가능)
-type검색할 파일 종류 지정
-perm특정 권한을 가진 파일 검색
-user LoginID특정 소유자가 소유한 파일 검색
-size [+|-]n파일의 특정 크기 검색
-atime[+|-]파일에 접근한 시간 검색
-mtime[+|-]파일을 수정한 시간 검색
  • ACTION
동작설명
-print터미널에 검색한파일의 경로와 이름을 표시(기본값)
-ls터미널에 검색한 파일의 경로와 이름뿐만 아닌 자세한 표시
-exec command{} \;검색한 파일에 특정 명령 수행
"{}"는 찾은 파일을 나타냄
-ok command {} \;-exec 같은 형태. 도중에 실행할지 질문함.
  • exec command{} \;

  • 숨긴 디렉터리 찾기

  • 숨긴 파일 찾기

  • 사이즈로 찾기

  • 권한찾기

  • exec command{} \; mv와 rm 예시

    touch 명령어로 /tmp 밑에 {}를 사용하여 여러 파일을 만든 후.

- exec command{} \; 를 사용하여 파일을 work/20240415로 옮긴 후 삭제까지 해봄.


  • or
    조건(Expression)을 두개 넣을 떄 and가 기본값이기 때문에 or은 명 -o를 넣어줘야 함.

0개의 댓글