파일 작업
중요 명령어: hash, cksum, find, grep, diff
hash 명령
- 최근에 실행한 프로그램 목록, 해당 위치, 실행 횟수를 표시합니다.
- 정보는 해시 테이블에 있는 명령으로 유지됩니다.
- 해시 테이블을 재설정하거나 수정하는 데 사용될 수 있습니다.
- 위치 정보에는 프로그램의 전체 경로 이름이 포함됩니다.
- 구문: hash [options] [-p pathName] [options] [commandName …]
해쉬는 무결성을 체크합니다. sh, md5
cksum 명령
- 이 명령은 파일 또는 데이터 스트림에 대한 체크섬 값을 생성합니다.
- 전송 중에 파일이 손상되었는지 여부를 확인하는 데 사용됩니다.
- cksum 명령은 CRC(순환 중복 검사) 값과 파일의 바이트 수를 표시합니다.
- 파일의 CRC 값이 전송 전후에 달라지지 않았으면 파일이 손상되지 않은 것입니다.
- 구문: cksum [FileName]
find 명령
-
find 명령은 지정된 디렉터리를 검색하여 특정 기준과 일치하는 파일을 찾습니다.
-
검색 기준:
- 소유자
- 파일 이름
- 파일 크기
- 파일 수정 날짜
-
검색할 디렉터리를 지정하여 범위를 좁힐 수 있습니다.
-
파일을 찾았을 때 수행할 액션을 지정할 수 있습니다.
-
구문: find [directory to start from][options][what to find]
Ex) find /home/student01 -name fileA.txt
find /etc/ -name”*.conf”: /etc 디렉터리 하위에서 확장명이 *.conf인 파일을 찾습니다.
find 옵션
find 명령에 대한 몇 가지 일반적인 옵션은 다음과 같습니다.
옵션 | 설명 |
---|---|
-name |
파일 이름으로 검색 |
-iname |
파일 이름으로 검색하되 대소문자 무시 |
-user |
파일 소유자별 검색 |
-type |
파일 유형별 검색 |
find 명령과 함께 사용하는 액션
- 검색된 파일의 위치를 출력 파일에 쓰기
- 검색된 파일에서 명령 실행
- 검색한 파일 삭제
옵션 | 설명 |
---|---|
-fprint | 파일에 출력 쓰기 |
-exec | 명령 실행 |
-delete | 파일 삭제 |
find 명령의 예제
grep 명령
- 특정 텍스트 패턴 또는 문자열에 대한 파일 내용을 검색하고 각 항목을 표시합니다.
- 디렉터리에서 파일 검색도 가능합니다.
- 검색 작업과 출력을 제어하는 옵션을 제공합니다.
- 구문: grep
옵션 | 설명 |
---|---|
-i | 대소문자 무시 |
-r | 재귀 검색 |
-l | 파일 이름만 나열 |
-n | 줄 번호 표시 |
-c | 일치하는 줄 개수 |
–files-with-matches | 선택한 행을 포함하는 파일 이름이 스탠더드 출력에 기록됨 |
find와 grep의 비교
find | grep | |
---|---|---|
설명 | 지정된 기준에 따라 파일 검색 | 지정된 문자열 또는 텍스트 패턴에 맞춰 파일 내용 검색 |
용도 | 파일을 찾을 때 사용 | 파일에서 문자열을 찾을 때 사용 |
출력 | 파일 이름 표시 | 검색된 문자열의 항목 표시 |
diff 명령
- 파일을 한 줄씩 비교하고 차이점을 표시합니다.
- 두 파일을 비교할 때 유용합니다.
- 출력을 diff라고 합니다.
- 구문: diff [options] File1 File2
링크
링크 및 inode
- 다른 이름을 사용하여 같은 파일을 참조할 때 링크를 사용할 수 있습니다.
- 링크를 사용해 파일 시스템에 있는 둘 이상의 위치에서 같은 파일에 액세스할 수 있습니다.
- 모든 파일에는 inode 개체가 있으며, 이는 데이터 위치와 속성을 고유하게 식별합니다.
- 두 가지 링크 유형
- 하드 링크: 파일의 inode를 가리킴
- 심볼릭 링크: 원본 파일 이름 또는 하드 링크를 가리킴
하드 링크
-
원본 파일의 inode를 가리킴
-
디렉터리를 참조할 수 없음
-
원본 파일이 삭제되어도 하드 링크가 삭제될 때까지 해당 데이터는 계속 존재
-
하드 링크 생성 구문: ln [options] [originalFileName] [linkName]
Ex) ln /home/userA/dev-project.txt /devprojects/dev-data.txt
심볼릭 링크
- 원본 파일 이름 또는 하드 링크를 가리킴
- 디렉터리를 가리킬 수 있음
- 원본 파일이 삭제되면 원본 이름으로 새 파일을 생성할 때까지 소프트 링크가 끊어짐
- 심볼릭 링크 생성을 위한 구문: ln –s [options] [originalFileName] [linkName]
Linux 압축 유틸리티
tar 명령
- 파일 모음을 단일 아카이브 파일로 번들링하여 더 쉽게 복사하거나 다운로드할 수 있습니다.
- 생성된 번들은 tarball이라고 합니다.
- 아카이브 파일 내용을 선택적으로 압축할 수 있습니다.
- 이 명령은 아카이브 파일을 번들 해제하는 데에도 사용됩니다.
- 예를 들면 다음과 같습니다.
- file1, file2, file3을 tarball.tar라는 파일로 번들링하고 압축하는 방법: tar -cvf tarball.tar file1 file2 file3
- tarball에서 파일을 번들 해제 또는 추출하는 방법: tar -xf tarball.tar
일반적인 tar 옵션
옵션 | 설명 |
---|---|
-x | tarball 내용 추출 |
-z | gzip 유틸리티로 tarball 내용 압축 |
-f | tarball 이름 지정 |
-v | tarball을 처리하는 동안 파일 이름을 표시하여 자세한 출력 생성 |
gzip 명령
- Tarball 등의 파일을 압축하거나 파일의 압축을 풉니다.
- 예를 들면 다음과 같습니다.
- tarball 압축 방법: gzip salesdata.tar
- tarball 압축 해제 방법: gzip -d salesdata.tar.gz
zip 및 unzip 명령
- zip 명령은 압축 도구로 사용됩니다.
- 구문: zip –r [FolderName]
- unzip 명령은 압축 풀기 도구로 사용됩니다.
- 구문: unzip [FolderName].zip
확인 질문
- find 명령을 사용하여 특정 사용자가 소유한 파일을 찾을 수 있습니까?
네, -user 옵션을 사용하여 파일 소유자별 검색이 가능합니다. - 여러 파일을 하나의 파일로 번들링하는 명령은 무엇입니까?
tar 명령 - 파일이 전송 중에 손상되거나 변경되지 않았음을 절대적으로 보장하면서 해당 파일이 다른 사용자에게 전송되었는지 확인하라는 요청을 받았습니다. 이 강의의 정보를 사용하여 해당 태스크를 수행하려면 어떻게 해야 합니까?
심볼릭 링크를 사용합니다. 심볼릭 링크는 원본 파일 또는 하드 링크를 가르키기 때문에 원본 파일이 삭제되면 원본 이름으로 새 파일을 생성할 때 가지 소프트 링크가 끊어 집니다.
핵심 요점
여러 가지 명령을 사용하면 Linux에서 파일 작업을 더 쉽게 할 수 있습니다. 다음 명령을 배웠습니다.
- hash: 명령줄에서 실행되는 프로그램과 명령 기록을 확인하는 데 사용
- cksum: 파일이 변경되지 않았는지 확인
- find: 파일 이름, 크기, 소유자 등을 기준으로 파일 검색
- grep: 텍스트 패턴에 대한 파일 내용 검색
- diff: 두 파일의 차이점을 빠르게 확인하는 데 사용
- ln: 지정된 파일에 대한 포인터 생성 tar: 여러 파일을 하나의 파일로 번들링
- gzip: 파일 크기 압축
- zip: 파일 내용 압축
- unzip: 파일 내용의 압축 풀기
댓글남기기