- Java
- codingTest
- Android
- 2023_1st_Semester
- Kubernetes
- C
- programmers
- Algorithm
- Python
- datastructure
- Linux
- cloud_computing
- Image_classification
- Personal_Study
- Operating_System
- app
- Unix_System
- c++
- SingleProject
- tensorflow
- 티스토리챌린지
- 리눅스마스터2급
- 자격증
- 오블완
- study
- pytorch
- Database_Design
- Univ._Study
- Artificial_Intelligence
- Baekjoon
코딩 기록 저장소
[23-01/유닉스 시스템] 파일 다루기 본문
1. 파일 내용 보기 : cat / more / tail
cat
cat [ 옵션 ] nl 파일명
- 간단한 파일보기 명령으로 짧은 파일에 적합
■ 옵션
- -n : 행 번호 출력
- nl : 행번호 포함한 파일 내용
■ 사용법
more
more [ 옵션 ] 파일명
- 파일의 내용을 한 화면씩 출력
■ 옵션
- + 행 번호 : 지정한 행부터 출력
■ 명령
- 다음 페이지 : space
- 이전 페이지 : b
- 종료 : q
- 문자열 찾기 : /문자열
■ 사용법
tail
tail [ 옵션 ] 파일명
- 파일의 마지막 부분 출력
■ 옵션
- + 행 번호 : 지정한 행부터 끝까지 출력
- - 숫자 : 화면에 출력할 행 수
- - f : 파일 출력이 종료되지 않고 주기적으로 반복 출력
■ 사용법
2. 파일 복사 : cp
cp [ 옵션 ] 원본 파일명 복사 파일명
- 특정 파일이나 디렉토리를 다른 이름으로 복사
■ 옵션
- -i : 파일을 덮어쓸 때 경고 메시지 출력
- -r : 디렉토리 복사
■ 사용 형태
사용 형식 | 동작 |
cp 파일1 파일2 | 파일1을 파일2로 복사 |
cp 파일들 디렉토리 | 파일들을 디렉토리 밑에 같은 이름으로 복사 |
cp -r 디렉토리1 디렉토리2 | 디렉토리1을 디렉토리2로 복사 디렉토리1의 파일도 모두 복사됨. |
3. 파일 삭제 : rm
rm [ 옵션 ] 파일명/디렉토리명
- 지정한 파일이나 디렉토리를 삭제
- 주의 : 한번 삭제한 파일은 되살릴 수 없음!!
■ 옵션
- -i : 확인 후 삭제
- -f : 무조건 삭제
- -r : 디렉토리 삭제
4. 파일 이동 : mv
mv [ 옵션 ] 원래이름 새이름
- 파일의 이름을 바꾸거나 이동
■ 옵션
- -i : 확인 후 이동
- -f : 무조건 이동
■ 사용 형태
사용 형식 | 동작 |
mv 파일1 파일2 | 파일1의 이름을 파일2로 바꿈 |
mv 파일명... 디렉토리 | 지정한 파일들을 디렉토리로 옮김 |
mv 디렉토리1 디렉토리2 | 디렉토리1의 이름을 디렉토리2로 바꿈 |
5. 파일 링크 : ln
ln [ 옵션 ] 원래이름 새이름
- 하나의 파일에 새로운 이름을 붙임
- 경로를 다르게 지정할 수 있음
■ 옵션
- -s : 심볼릭 링크 파일 생성 (윈도우의 바로가기 아이콘)
■ 사용 형태
복사(cp)와 링크(ln)의 차이는?
cp | ln |
완전 별도 파일 생성 | 이름만 다르고 내용은 동일 |
둘 중 하나를 수정해도 다른 파일에 영향 없음 | 둘 중 하나를 수정하면 두 파일이 같이 수정 |
같은 파일을 별도로 수정하여 작업할 때 사용 | 파일을 공동으로 관리해야 할 때 사용 |
- 심볼릭(Symbolic) 링크는 소프트 링크 라고도 하는데, 윈도우의 바로 가기 기능과 유사
- 하드 링크 (Hard Link) : 소프트 링크가 단순히 원본 파일에 대한 정보만을 가지고 있는데 비해 하드 링크는 원본 파일을 복사한 다음 이의 사본을 생성한다는 차이가 있음. 심볼릭 링크와 마찬가지로 링크로 접근하거나 원본으로 접근하여 파일의 내용을 수정했다면 원본과 하드 링크된 파일이 모두 수정되어 항상 같은 내용이 유지됨.
* 심볼릭 링크는 원본이 삭제될 경우 링크 사용 못함 / 하드 링크는 원본과 동일한 내용 가지고 있음
-> 자원을 공유하면서도 데이터를 안전하게 관리하고자 할 때 주로 사용
6. 파일 생성 및 수정 시간 변경 : touch
touch [ 옵션 ] 파일
- 지정한 파일이 존재하지 않으면 생성, 존재하면 현재 시간 또는 지정한 시간으로 변경
■ 옵션
- -a : 접근 시간만 변경
- -c : 지정한 파일이 없는 경우 새로 생성하지 않음
- -m : 수정 시간만 변경
- -r ref_file : 시간을 파일에서 읽음
- -t [[CC]YY]MMDDhhmm[.ss] : 시간을 직접 입력
■ 사용법
7. 유닉스 파일 시스템 (UFS)
유닉스시스템 디스크 논리적 구조
- 부트 블록 : 운영체제를 주기억장치에 올리는 역할을 하는 프로그램이 들어있는 영역
- 수퍼 블록 : 디스크에 대한 다양한 정보를 저장
전체 블록의 수, 블록의 크기, 사용 중인 블록의 수, 사용할 수 있는 블록의 번호, inode 리스트의 크기, 사용할 수 있는 inode의 번호 등의 정보 저장
- 데이터 블록 : 일반적인 파일과 디렉토리 그리고 간접 블록을 저장하는 영역
'학교 공부 > 유닉스 시스템' 카테고리의 다른 글
[23-01/유닉스 시스템] 파일 접근 권한 관리하기 (1) | 2023.04.27 |
---|---|
[23-01/유닉스 시스템] 배시 셸 활용하기 (2) | 2023.04.27 |
[23-01/유닉스 시스템] vi 사용법 (0) | 2023.04.25 |
[23-01/유닉스 시스템] 디렉토리 다루기 (0) | 2023.04.22 |
[23-01/유닉스 시스템] 유닉스 개요 및 기본 사용법 (0) | 2023.04.22 |