RECENT POSTS

최근에 작성한 글

01 / 03

전체 글

전체 보기

[Linux] 필수 커맨드라인 툴

1. grep

🍀 표준 입력이나 텍스트 파일에서 특정 패턴이나 문자열을 검색하는 강력한 커맨드라인 툴

🍀 텍스트 처리와 데이터 분석에서 중요한 역할

🍀 정규 표현식 사용 → 복잡한 ㄱ머색 패턴을 생성

🍀 파일 내부의 특정 문자열을 찾거나 다른 명령어의 출력에서 특정 줄을 필터링하는 데 사용

grep [options] 검색_패턴 [파일]

2. find

🍀 파일이나 디렉터리를 검색하는 커맨드라인 툴

🍀 grep : 파일 내용을 검사 find : 파일이나 디렉터리 자체를 검사

find [옵션] [경로] [표현식]

🚀 표현식

1️⃣ 특정 파일 찾을 때

find /path -name "파일명"

2️⃣ 파일 유형별 검색

 find /path -type [d/f/l]

# -type d : 디렉토리 검색
# -type f : 일반 파일 검색
# -type l : 심볼릭 링크 검

3️⃣ 크기별 파일 검색

find /path -size [+/-]크기단위

# +100M : 100MB 초과
# -1G : 1GB 미만
# 10K : 정확히 10KB

4️⃣ 시간 기준 검색

find /path -mtime [-/+]일

5️⃣ 특정 사용자 또는 그룹의 파일 검색

find /path -user 사용자명
find /path -group 그룹명

6️⃣ 권한 기준 검색

find /path -perm 모드

#-perm 644 → 정확한 권한을 가진 파일 찾기
#-perm -644 → 최소 644 이상의 권한을 가진 파일 찾기
#-perm /222 → 쓰기 권한을 가진 파일 찾기

7️⃣ 검색 결과에 추가적인 작업 수행

find /path -exec 명령 {} \\;

# {} → 찾은 파일을 가리킴
# \\; → exec 명령 종료

## -exec 대신 xargs를 활용하면 성능이 향상됨
find /var/log -type f -print | xargs rm

8️⃣ 검색 결과에서 특정 디렉토리 제외

find / -path "/proc" -prune -o -name "*.conf" -print

9️⃣ 검색할 디렉터리의 깊이 지정

#최대깊이
find /path -maxdepth N -name "파일명"

#최소 깊이
find /path -mindepth N -name "파일명"

🔟 검색된 파일의 정보를 형식 한정자에 맞게 화면에 출력

find /path -type f -printf "형식 한정자"

3. stat

🍀 파일이나 파일 시스템의 상세한 상태 정보를 표시하는 커맨드라인 툴

🍀 파일 크기, 디스크 사용량, 권한, 최근 접근 및 수정 날짜, 아이노드 번호 등을 포함한 다양한 메타 데이터 제공

stat [옵션] 파일명

🚀 기본 사용법

stat 파일명

✅ 파일 정보 출력

$ stat example.txt
  File: example.txt
  Size: 1024       Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d Inode: 131072      Links: 1
Access: 2024-03-18 12:30:10.123456789 +0900
Modify: 2024-03-17 18:45:00.987654321 +0900
Change: 2024-03-17 19:00:15.654321098 +0900
 Birth: -

4. wc

🍀 텍스트 파일의 줄 수, 단어 수, 바이트 수 등을 계산하는 커맨드 라인

🍀 텍스트 파일의 내용을 분석할 때나 파일 크기를 빠르게 파악할 때 유용

🍀 스크립트나 프로그래밍에서 데이터의 양을 측정하는 데도 자주 사용

wc [옵션] [파일]

5. df

🍀 파일 시스템의 디스크 사용량을 출력하는 커맨드라인 툴

🍀 파일 시스템의 총 공간, 사용 중인 공간, 사용 가능한 공간, 사용률을 표시

df [옵션] [파일시스템]

🚀 기본 사용법

$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       10240000  2048000  8192000  21% /
tmpfs            1024000     20000   1000000   2% /tmp
/dev/sdb1       20480000  1024000  18432000  6% /mnt

✅ Filesystem : 파일 시스템 이름 또는 장치

✅ 1K-blocks : 총 용량

✅ used : 사용된 용량

✅ Available : 남은 용량

✅ Use% : 사용된 용량의 백분율

✅ Mounted on : 마운트된 경로

6. du

🍀 파일이나 디렉터리가 차지하는 디스크 사용량을 추정해 화면에 출력

🍀 디렉토리 크기나 특정 파일들이 차지하는 용량을 파악하는데 사용

du [옵션] [파일 또는 디렉토리]

🚀 기본 사용법

$ du
8       ./dir1
4       ./dir2
12      .

✅ 각 디렉토리의 사용량을 블록 단위로 출력

7. tar

🍀 파일 및 디렉토리를 압축하거나 압축 해제하는데 사용됨

🍀 백업 작업이나 파일 전송을 위해 사용

🍀 파일을 압축하는 것이 아니라 아카이브 파일로 묶는데 사용

📌 아카이브 : 여러 파일과 디렉터리를 한 덩어리로 만드는 것 : 단순히 파일을 붙임

tar [옵션] [아카이브 파일 이름] [대상 파일/디렉토리]

💡 활용 팁 1️⃣ 백업 : 시스템 백업 작업에 주로 사용

2️⃣ 전송 : 원격 서버로 전송할 떄 유용

8. read

🍀 셸 스크립트나 터미널에서 사용자로부터 입력을 받는 명령어

🍀 사용자가 입력한 값을 변수에 저장 → 사용할 수 있게 해줌

read [옵션] 변수명

🚀 기본 사용법

read 변수명
#!/bin/bash
echo "이름을 입력하세요:"
read name
echo "안녕하세요, $name!"

🚀 여러 개의 변수에 값 할당

read var1 var2 var3
#!/bin/bash
echo "이름, 나이, 직업을 입력하세요:"
read name age job
echo "이름: $name, 나이: $age, 직업: $job"

9. tr

🍀 입력 받은 문자를 변환, 삭제, 압축하는 명령어

🍀 파일 또는 파이프라인에서 데이터를 변환할 때 유용

tr [옵션] '원본' '변환'

✅ 원본 : 변환하려는 문자

✅ 변환 : 변환된 문자

🚀 기본 사용법

echo "hello" | tr 'a-z' 'A-Z'

#hello -> HELLO

'개발 공부 > Linux' 카테고리의 다른 글

[Linux] 시스템 관리  (0) 2026.03.02
[Linux] Bash : 리디렉션과 파이프라인  (0) 2026.03.02
[Linux] Bash: 셸 옵션  (1) 2026.03.01
[Linux] Bash: 확장  (0) 2026.03.01
[Linux] Bash: 반복문, 함수, 변수, 배열, 쿼팅  (0) 2026.03.01