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 |
