Linux File Commands

리눅스에서 파일 관련 명령어는 파일 생성, 삭제, 복사, 이동, 압축, 검색, 권한 변경 등 다양한 작업을 수행하는 데 사용됩니다. 여기 몇 가지 주요 파일 관련 명령어와 그 사용법을 자세히 설명합니다.

1. touch – 파일 생성 및 수정 시간 업데이트

# 새로운 빈 파일 생성
touch newfile.txt

# 기존 파일의 수정 시간 업데이트
touch existingfile.txt

touch 명령어는 새로운 빈 파일을 생성하거나, 기존 파일의 마지막 수정 시간을 현재 시간으로 업데이트합니다.

2. cat – 파일 내용 출력

# 파일의 전체 내용 출력
cat file.txt

# 여러 파일의 내용을 한 번에 출력
cat file1.txt file2.txt

cat 명령어는 파일의 내용을 표준 출력(터미널)에 출력합니다. 여러 파일을 인수로 주면 연속적으로 출력합니다.

3. more – 파일 내용을 페이지 단위로 출력

# 파일의 내용을 페이지 단위로 출력
more file.txt

more 명령어는 파일의 내용을 페이지 단위로 출력하며, 화면에 맞지 않는 경우 스크롤할 수 있습니다. 스페이스바를 눌러 다음 페이지로 이동합니다.

4. less – 파일 내용을 페이지 단위로 출력 (more의 확장 버전)

# 파일의 내용을 페이지 단위로 출력
less file.txt

less 명령어는 more와 비슷하지만, 더 많은 기능을 제공합니다. 상하 방향 키를 사용하여 스크롤할 수 있고, 검색 기능도 지원합니다.

5. head – 파일의 처음 몇 줄 출력

# 파일의 처음 10줄 출력 (기본)
head file.txt

# 파일의 처음 20줄 출력
head -n 20 file.txt

head 명령어는 파일의 처음 몇 줄을 출력합니다. 기본값은 10줄이며, -n 옵션을 사용하여 출력할 줄 수를 지정할 수 있습니다.

6. tail – 파일의 마지막 몇 줄 출력

# 파일의 마지막 10줄 출력 (기본)
tail file.txt

# 파일의 마지막 20줄 출력
tail -n 20 file.txt

# 파일의 마지막 줄을 실시간으로 모니터링
tail -f logfile.txt

tail 명령어는 파일의 마지막 몇 줄을 출력합니다. -f 옵션을 사용하면 파일이 업데이트될 때 실시간으로 출력 내용을 볼 수 있습니다. 로그 파일을 모니터링할 때 유용합니다.

7. cp – 파일 또는 디렉토리 복사

# 파일 복사
cp source.txt destination.txt

# 디렉토리 복사 (하위 디렉토리 포함)
cp -r sourcedir/ destinationdir/

cp 명령어는 파일이나 디렉토리를 복사합니다. -r 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 복사합니다.

8. mv – 파일 또는 디렉토리 이동 또는 이름 변경

# 파일 이름 변경
mv oldname.txt newname.txt

# 파일 이동
mv file.txt /path/to/new/location/

mv 명령어는 파일이나 디렉토리의 이름을 변경하거나 다른 위치로 이동합니다.

9. rm – 파일 또는 디렉토리 삭제

# 파일 삭제
rm file.txt

# 빈 디렉토리 삭제
rmdir emptydir

# 디렉토리와 그 하위 내용을 모두 삭제
rm -r directory/

rm 명령어는 파일이나 디렉토리를 삭제합니다. -r 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 삭제할 수 있습니다.

10. find – 파일 및 디렉토리 검색

# 특정 이름을 가진 파일 검색
find /path/to/search -name "filename.txt"

# 특정 확장자를 가진 파일 검색
find /path/to/search -name "*.txt"

# 특정 크기 이상의 파일 검색
find /path/to/search -size +100M

find 명령어는 파일 시스템에서 파일이나 디렉토리를 검색합니다. 다양한 조건을 사용하여 검색할 수 있습니다.

11. ln – 파일 링크 생성

# 하드 링크 생성
ln source.txt hardlink.txt

# 심볼릭 링크 생성
ln -s source.txt symlink.txt

ln 명령어는 파일의 링크를 생성합니다. 하드 링크는 원본 파일과 동일한 inode를 공유하며, 심볼릭 링크는 원본 파일의 경로를 참조합니다.

12. chmod – 파일 또는 디렉토리 권한 변경

# 파일 권한을 rwxr-xr-x로 설정
chmod 755 script.sh

# 디렉토리와 그 하위 내용의 권한을 rwxr-xr-x로 설정
chmod -R 755 /path/to/directory/

chmod 명령어는 파일이나 디렉토리의 권한을 변경합니다. -R 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 변경할 수 있습니다.

13. chown – 파일 또는 디렉토리 소유자 변경

# 파일 소유자를 user로 변경
chown user file.txt

# 파일 소유자와 그룹을 user:group으로 변경
chown user:group file.txt

# 디렉토리와 그 하위 내용의 소유자와 그룹을 변경
chown -R user:group /path/to/directory/

chown 명령어는 파일이나 디렉토리의 소유자와 그룹을 변경합니다. -R 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 변경할 수 있습니다.

14. file – 파일 유형 확인

# 파일의 유형 확인
file file.txt

file 명령어는 파일의 유형을 확인합니다. 예를 들어, 텍스트 파일인지, 바이너리 파일인지 등을 알려줍니다.

15. stat – 파일 또는 파일 시스템의 상태 출력

# 파일의 상세 정보 출력
stat file.txt

stat 명령어는 파일의 상세 정보를 출력합니다. 여기에는 마지막 접근 시간, 수정 시간, 권한, 소유자 등이 포함됩니다.

16. df – 파일 시스템의 디스크 공간 사용량 확인

# 디스크 공간 사용량 확인
df -h

df 명령어는 파일 시스템의 디스크 공간 사용량을 확인합니다. -h 옵션을 사용하면 사람이 읽기 쉬운 형식으로 출력됩니다.

17. du – 디스크 사용량 확인

# 현재 디렉토리의 디스크 사용량 확인
du -sh

# 특정 디렉토리의 디스크 사용량 확인
du -sh /path/to/directory

du 명령어는 디스크 사용량을 확인합니다. -h 옵션을 사용하면 사람이 읽기 쉬운 형식으로 출력되며, -s 옵션을 사용하면 요약 정보만 출력됩니다.

18. tar – 파일 압축 및 압축 해제

# 디렉토리 압축
tar -czvf archive.tar.gz /path/to/directory/

# 압축 해제
tar -xzvf archive.tar.gz

tar 명령어는 파일이나 디렉토리를 아카이브하고 압축합니다. -c 옵션은 아카이브 생성, -x 옵션은 압축 해제, -z 옵션은 gzip 압축 사용, -v 옵션은 과정 출력, -f 옵션은 파일 이름 지정을 의미합니다.

19. zip – 파일 압축

# 파일 압축
zip archive.zip file1 file2

# 디렉토리 압축
zip -r archive.zip /path/to/directory/

zip 명령어는 파일이나 디렉토리를 압축합니다. -r 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 압축할 수 있습니다.

20. unzip – 파일 압축 해제

# 파일 압축 해제
unzip archive.zip

unzip 명령어는 zip 파일을 압축 해제합니다.

이 외에도 많은 파일 관련 명령어가 있지만, 위의 명령어들은 가장 기본적이고 자주 사용되는 명령어들입니다. 각 명령어의 옵션과 사용법을 잘 익히면 리눅스에서 파일 작업을 효율적으로 수행할 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *