본문 바로가기
Linux

[Linux] 4. 리눅스 파일 관련 명령

by 상도동개발자 2023. 2. 8.
SMALL

1. 파일 내용 출력

1-1 cat 명령어

파일 내용을 출력하는 명령어

- 형식 : cat [옵션] [파일]

- 옵션

옵션 설명
-n 행 번호를 붙여서 출력한다.

사용 예 : cat /etc/hosts, cat -n /etc/hosts

cat 명령어 예시

1-2. more 명령어

파일 내용을 화면 단위로 출력

- 형식 : more [옵션] [파일]

옵션 설명
+ 행번호 출력을 시작 할 행 번호를 지정

- 사용 예 : more /etc/services, more +5 /etc/services

more 명령어 예시

1-3. less 명령어

파일 내용을 화면 단위로 출력하는 기능으로 more 명령어를 개선한 명령어이다.  less 명령어는 한행씩 스크롤도 가능

- 형식 : less [파일]

- 동작 키

동작
j, 방향키(아래) 한 행씩 다음 행으로 스크롤한다.
k, 방향키(위) 한 행씩 이전 행으로 스크롤한다.
Space Bar, Ctrl + f 다음 화면으로 이동한다.
Ctrl + b 이전 화면으로 이동한다.

- 사용 예 : less /etc/services

less 명령어 예시

1-4. tail 명령어

파일 뒷부분의 몇 행을 출력한다

- 형식 : tail [옵션] [파일]

- 옵션

옵션 설명
+ 행 번호 지정한 행부터 끝까지 출력
-숫자 화면에 출력 할 행의 수를 지정한다(Default 10)
-f 파일 출력을 종료하지 않고 주기적으로 계속 출력

1-4-1. 파일 내용을 지정한 숫자만큼 출력

파일 내용을 지정한 숫자만큼 출력 : tail 명령어 예시

1-4-2. 파일 내용을 주기적으로 반복 출력

- 파일 내용 추가 시 그 내용이 자동출력되므로 파일 내용의 변화를 확인 시에 편리하다.

파일 내용을 주기적으로 반복 출력하기 : tail 명령어 예시

2. 파일 복사

2-1. cp 명령어

파일이나 디렉터리를 복사하는 명령어

- 형식 : [옵션] [파일1(디렉터리1)] [파일2(디렉터리2)]

옵션 설명
-i 파일(디렉터리)2가 이미 존재하면 덮어 쓸 것인지 물어본다.
-r 디렉터리를 복사 할 때 지정한다.

2-1-1. 두 인자가 모두 파일인 경우

- 파일을 다른 파일에 복사

- 두번째 인자 파일명이 이미 존재 할 경우 첫번째 파일 내용으로 덮어쓴다.

두 인자가 모두 파일인 경우 : cp 명령어 예시

2-1-2. 두 번째 인자가 디렉터리인 경우

- 첫 번째 인자는 파일이고 두번째 인자는 디렉터리인 경우, 파일을 해당 디렉터리에 복사

두 번째 인자가 디렉터리인 경우 : cp 명령어 예시

2-1-3. 인자를 여러 개 지정 할 경우

- 첫번째 인자 자리에 파일을 여러개 지정 할 수 있는데 이때 마지막 인자는 반드시 디렉터리여야 한다.

- 마지막 디렉터리에 파일들이 모두 복사된다.

인자를 여러개 지정 할 경우 : cp 명령어 예시

2-1-4. -i 옵션 사용

- 두 번째 인자 파일이 이미 있는 경우 덮어서 복사 할것인지 물어보는 옵션

-i 옵션 사용 : cp 명령어 예시

2-1-5. 디렉터리 복사

- 첫 번째 인자와 두 번째 인자에 모두 디렉터리를 지정하고 -r 옵션을 사용해야 한다.

디렉토리 복사 실패 및 성공 : cp 명령어 예시

3. 파일 이동과 파일명 변경

3-1. mv 명령어

- 형식 : mv [옵션] [파일1(디렉터리1)] [파일2(디렉터리2)]

- 옵션

옵션 설명
-i 파일2(디렉터리)2가 이미 존재하면 덮어 쓸 것인지 물어본다.

3-1-1. 파일을 파일로 이동(파일명 바꾸기)

- 파일명 바꾸기 명령

- 두 번째 인자로 지정한 파일이 이미 존재하면 덮어쓰기

- 두 번째 인자로 지정한 파일이 존재 하지 않는 파일이라면 새파일이 생성

파일명 바꾸기 : mv 명령어 예시

3-1-2. 파일을 다른 디렉터리로 이동

- 두 번째 인자로 디렉터리를 지정하는 경우 지정한 디렉터리로 이동

파일을 다른 디렉터리로 이동 : mv 명령어 예시

3-1-3. 여러 파일을 디렉터리로 이동

- 첫 번째 인자에 여러 개의 파일을 지정

- 두 번째 인자는 반드시 디렉터리여야 한다.

여러개의 파일을 디렉터리로 이동 : mv 명령어 예시

3-1-4. -i 옵션 사용

- 두 번째 인자에 지정한 파일이 있는 경우 덮어쓰기하여 이동 할 것인지 물어본다.

-i 옵션 사용 : mv 명령어 예시

3-1-5. 디렉터리를 디렉터리로 이동(디렉터리명 바꾸기)

- 첫 번째, 두 번째 인자를 모두 디렉터리로 지정하면 디렉터리가 이동

- 두 번째 인자가 기존에 없는 디렉터리 일 경우 디렉터리명이 변경

디렉터리를 디렉터리로 이동 : mv 명령어 예시

4. 파일 삭제

4-1. rm 명령어

파일을 삭제하는 명령어

- 형식 : rm [옵션] [파일 또는 디렉터리]

옵션 설명
-i 파일을 정말 삭제 할 것인지 확인
-r 디렉터리를 삭제할 때 지정

4-1-1. -i 옵션 사용

-i 옵션 사용 : rm 명령어 예시

4-1-2. 디렉터리 삭제

디렉터리 삭제( -r 옵션) : rm 명령어 예시

5. 파일 링크

- 파일 링크는 기존의 파일에 새로운 이름을 붙이는 것이다.

- 파일명이 복잡 할 경우 짧아 줄인 다른 이름을 붙여서 사용 할 때 유용하다.

- 하드 링크 : 기존 파일에 새로운 파일명을 추가로 생성

- 심볼릭 링크 : 원본 파일을 가리키는 새로운 파일 생성

- 리눅스 파일 구성

리눅스 파일의 구성 요소

리눅스에서 파일은 '파일명+inode+데이터 블록' 으로 구성된다. 파일명은 사용자가 파일에 접근할 때 사용하는 파일의 이름이다. inode는 파일 정보가 담긴 특별한 구조체로서 외부적으로는 번호로 표시, 내부적으로는 파일 종류와 크기, 소유자, 파일 변경 시간, 파일명 등 파일 상세 정보와 데이터 블록 주소가 저장되어 있다. ls -l 명령으로 출력되는 정보는 inode에 대한 상세정보이다.

ls -i 옵션으로 inode에 대한 정보 확인

5-1. ln 명령어

하드 링크, 심볼릭 링크를 만드는 명령어

- 형식 : ln [옵션] [원본 파일] [링크 파일]

옵션 설명
-s 심볼릭 링크 파일을 생성

5-1-1. 하드 링크 생성

-rw-rw-r-- 옵션 다음에 나오는 숫자가 2로 바뀌었는데 해당 숫자는 하드 링크의 개수를 의미한다.

하드 링크 생성 : ln 명령어 예시

아래를 확인하면 data1과 data1.ln은 같은 파일이기 때문에 inode값이 같은것을 알 수 있다.

inode 값 확인

5-1-2. 심볼릭 링크 생성

윈도우의 바로가기 처럼 원본 파일을 가리키는 파일

심볼릭 링크 : ln 명령어 예시

6. 파일 관련 기타 명령

6-1. touch 명령어

빈 파일을 생성

- 형식 : touch [-acm] [-r ref_file | -t time] [파일]

- 옵션

옵션 설명
-a 접근 시간만 변경
-m 수정 시간만 변경
-t [[CC]YY]MMDDhhmm[.ss]  시간을 직접 입력 한다.

- 시간 표시

시간 표시 상세 설명

- 사용 예

touch 명령어 예시

6-2. grep 명령어 - 파일 내용 검색

지정한 패턴이 포함된 행을 찾는다.

- 형식 : grep [옵션] [패턴] [파일]

옵션 설명
-i 대문자,소문자를 모두 검색
-l 지정한 패턴이 포함된 파일명을 출력
-n 행 번호를 출력

- 사용 예

grep 명령어 사용 예시

6-3. find 명령어 - 파일 찾기

리눅스의 디렉터리 계층 구조에서 특정 파일이 어느 디렉터리에 있는지 찾아준다. grep은 파일 내용을 검색 하는데 반해 find는 파일의 생성 일자와 이름, 소유자 등 다양한 조건에 맞는 파일을 찾는다.

- 형식 : find [경로] [검색 조건] [동작]

- 검색 조건

옵션 설명
-name filename 파일명으로 검색
-type 파일 종류 파일 종류로 검색
user loginID 지정한 사용자가 소유한 모든 파일을 검색
perm 접근 권한 지정한 사용 권한과 일치하는 파일을 검색

- 동작

옵션 설명
-exec 명령 {} \; 검색된 파일에 명령을 실행
-ok 명령 {}\; 사용자의 확인을 받아서 명령을 실행
-print 검색된 파일의 절대 경로명을 화면에 출력(기본 동작)
-ls 검색 결과를 긴 목록 형식으로 출력

- 기본적인 find 명령어 사용

검색조건 name : find 명령어 사용 예시
검색 조건 user : find 명령어 예시

6-4. whereis 명령어

지정된 경로에서 명령을 바이너리 파일이나 메뉴얼 파일의 위치를 찾는다.

- 형식 : whereis [옵션] [파일]

- 옵션

옵션 설명
-b 바이너리 파일만 검색
-m 매뉴얼 파일만 검색
-s 소스 파일만 검색

- 사용 예

whereis 명령어 사용 예시

6-5. which

명령 파일의 위치를 찾아서 그 경로나 앨리어스를 출력하는 명령어

- 형식 : which [명령]

- 사용 예

which 명령어 사용 예시

728x90
반응형
LIST

댓글