하드 링크(Hard Link)
- 파일이 물리적으로 저장된 주소를 가리키는 링크
- 가리킬 수 있는 대상 : 파일 (같은 파일시스템 내에 있는 파일)
- 원본파일과 inode 값을 공유
- 하드링크는 원본과 하드링크를 구별할 수 없음
- 원본이 삭제 되어도 하드링크를 통해서 원본 데이터에 접근 가능함
- 원본, 하드링크의 권한 설정시 둘다 동일한 권한으로 설정됨
$ ln [SOURCE] [HARDLINK_FILE]
심볼릭 링크(Symbolic Link)
- 파일이 저장된 논리적인 경로를 가리키는 링크
- 가리킬 수 있는 대상 : 파일, 디렉터리
- 원본파일과 inode 값을 공유하지 않음
- 원본과 심볼릭 링크를 구별할 수 있음
- 원본이 삭제되는 경우 원본 데이터에 접근할 수 없음
- 링크 파일에서 권한 설정시 원본 파일의 권한이 수정됨
$ln -s [SOURCE] [SYMBOLIC_LINK]
$grep [OPTION]... [PATTERN] [FILE]
| 옵션 | 설명 |
|---|---|
| -i | 검색 패턴 대소문자 무시 |
| -l | 매칭 되는 패턴이 있는 파일 이름 출력 |
| -n | 매칭 되는 줄 번호 표시 |
| -v | 검색 패턴을 제외하고 검색 |
| -c | 검색 패턴과 매칭 되는 줄 개수 출력 |
| -w | 단어 단위로 검색 |
문자열의 패턴을 정의하는 표현식
규칙성을 가진 문자열이 있는 경우 그 형태를 정의
정규 표현식 메타 문자
^ : 행의 맨 처음

$ : 행의 맨 끝

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


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



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

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

-r : 여러 파일에서 내용을 찾고자 하는 경우 사용하는 옵션, 일반적으로 파일 부분에는 디렉터리를 지정
-B [NUM] : 찾고자 하는 행의 이전 NUM행을 같이 출력
-A [NUM] : 찾고자 하는 행과 이후 NUM행을 같이 출력
-C [NUM] : 찾고자 하는 행의 전후 NUM행을 같이 출력
egrep 명령어는 grep명령어와 사용법이동일하다.
egrep는 확장 정규 표현식을 지원한다.
| 메타 문자 | 용도 | 예제 | 결과 |
|---|---|---|---|
| + | 특정 문자 앞에 하나 이상의 문자 있음 | [a-z]+tion | tion 문자 앞에 소문자의 문자 있음 |
| x|y | x 또는 y | root|admin | root 또는 admin |
| (abc|def) | abc또는 def(문자열) | ha(ve|ving) | have 또는 having |
디렉터리에서 파일을 검색하는 명령어
$find [PATHNAME] [EXPRESSION] [ACTION]
| 조건 | 설명 |
|---|---|
| -name filename | 특정파일 이름 지정(메타문자 사용 가능) |
| -type | 검색할 파일 종류 지정 |
| -perm | 특정 권한을 가진 파일 검색 |
| -user LoginID | 특정 소유자가 소유한 파일 검색 |
| -size [+|-]n | 파일의 특정 크기 검색 |
| -atime[+|-] | 파일에 접근한 시간 검색 |
| -mtime[+|-] | 파일을 수정한 시간 검색 |
| 동작 | 설명 |
|---|---|
| 터미널에 검색한파일의 경로와 이름을 표시(기본값) | |
| -ls | 터미널에 검색한 파일의 경로와 이름뿐만 아닌 자세한 표시 |
| -exec command{} \; | 검색한 파일에 특정 명령 수행 "{}"는 찾은 파일을 나타냄 |
| -ok command {} \; | -exec 같은 형태. 도중에 실행할지 질문함. |







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