반응형

* 내가 보려고 만든 명령어 예문 정리


<목록>

    시간 순으로 파일 목록 보기 $ ls -lt(r)

    특정 패턴의 파일 목록  $ ls -l | grep ".txt"    $ ls | grep "^d" 

    ls 목록의 파일명만 추출하여 다른 명령어에 전달하기  $ ls -1 | awk '{print "filename: " $1}'

    ls 결과 파일들을 하나씩 처리하기  $ ls *.jpg | xargs -I {} echo "Processing image: {}"  $ ls *.log | xargs -n 1 -I % cat % | grep "error"

    ls 결과 파일들을 삭제하기  $ find . -name "*.tmp" -print0 | xargs -0 rm -v

    ls 결과 파일들의 총 갯수  $ ls -l | grep "^-" | wc -l


시간 순으로 파일 목록 보기

명령어 정렬 기준 정렬 순서 활용
ls -lt  최종 수정 시간 최신 파일 순 최근 변경 파일 확인, 최근 로그 확인
ls -ltr 최종 수정 시간 오래된 파일 순 오래된 파일 확인, 로그 처음부터 순서대로 확인
$ ls -lt
total 0
drwxr-xr-x 1 root root   512 Jan  7 05:15 cache
drwxr-xr-x 1 root root   512 Jan  7 05:15 lib
drwxrwxrwt 1 root root   512 Jan  7 05:15 tmp
drwxrwsrwt 1 root root   512 Jan  7 05:15 crash
drwxr-xr-x 1 root syslog 512 Jan  7 05:15 log
drwxr-xr-x 1 root root   512 Jan  7 05:14 spool
lrwxrwxrwx 1 root root     9 Jan  7 05:13 lock -> /run/lock
lrwxrwxrwx 1 root root     4 Jan  7 05:13 run -> /run
drwxrwsr-x 1 root mail   512 Jan  7 05:13 mail
drwxr-xr-x 1 root root   512 Jan  7 05:13 opt
drwxr-xr-x 1 root root   512 Oct 11  2024 snap
drwxr-xr-x 1 root root   512 Apr 22  2024 backups
drwxrwsr-x 1 root staff  512 Apr 22  2024 local
$
$ ls -ltr
total 0
drwxrwsr-x 1 root staff  512 Apr 22  2024 local
drwxr-xr-x 1 root root   512 Apr 22  2024 backups
drwxr-xr-x 1 root root   512 Oct 11  2024 snap
drwxr-xr-x 1 root root   512 Jan  7 05:13 opt
drwxrwsr-x 1 root mail   512 Jan  7 05:13 mail
lrwxrwxrwx 1 root root     4 Jan  7 05:13 run -> /run
lrwxrwxrwx 1 root root     9 Jan  7 05:13 lock -> /run/lock
drwxr-xr-x 1 root root   512 Jan  7 05:14 spool
drwxr-xr-x 1 root syslog 512 Jan  7 05:15 log
drwxrwsrwt 1 root root   512 Jan  7 05:15 crash
drwxrwxrwt 1 root root   512 Jan  7 05:15 tmp
drwxr-xr-x 1 root root   512 Jan  7 05:15 lib
drwxr-xr-x 1 root root   512 Jan  7 05:15 cache
$

 

특정 패턴의 파일 목록 

명령어 설명 예시
 $ ls -l | grep "mail"   mail 문자열이 있는 ls 목록 $ ls -l | grep "mail"
drwxrwsr-x 1 root mail   512 Jan  7 05:13 mail
 $ ls | grep "^s"  s 문자로 시작하는 파일/디렉토리 줄만 표시 $ ls | grep "^s"
snap
spool

 

ls 목록의 파일명만 추출하여 다른 명령어에 전달하기

명령어 설명 예시
$ ls -1 | awk '{print "filename: " $1}' awk는 텍스트 처리하는 도구
ls 출력결과를 받아서 필드를 조작하여 출력한다
$ ls -1 | awk '{print "filename: " $1}'
filename: backups
filename: cache
filename: crash
filename: lib
filename: local
filename: lock

 
ls 결과 파일들을 하나씩 처리하기

명령어 설명 예시
$ ls *.jpg | xargs -I {} echo "Processing image: {}" 1) xargs는 표준 입력으로 들어온 항목들을 다른 명령어의 인수로 전달한다 .
2) 파이프( |)는 앞 명령의 출력을 다음 명령의 입력으로 전달한다.
3) xargs는 표준 입력을 공백으로 구분하여 다른 명령어의 인수로 전달한다.
 -I {} 옵션은 각 항목을 {}로 치환하여 사용한다
$ ls *.jpg | xargs -I {} echo "Processing image: {}"
Processing image: a1.jpg
Processing image: ab1.jpg
Processing image: c2.jpg
Processing image: d2.jpg
Processing image: efg3.jpg
$ ls *.log | xargs -n 1 -I % cat % | grep "error" 1) 현재 디렉토리의 모든 ".log" 파일을 하나씩 읽어서 (cat %), 그 내용 중에서 "error"라는 단어가 포함된 줄을 찾는다.
 (grep "error").
2) -n 1 옵션은 xargs가 입력을 한 줄씩 명령어의 인수로 전달한다.
$ ls *.log | xargs -n 1 -I % cat % | grep "error"
2025-01-06 20:13:55 install libgpg-error0:amd64 <none> 1.47-3build2
2025-01-06 20:13:55 status half-installed libgpg-error0:amd64 1.47-3build2
2025-01-06 20:13:55 status unpacked libgpg-error0:amd64 1.47-3build2

 


ls 결과 파일들의 총 갯수 

명령어 설명 예시
 $ ls -l | grep "^-" | wc -l 하이픈(-)문자로 시작하는(^) 줄만 찾아서 표준출력하고, 이 결과를 파이프(|)를 통해 입력으로 받아서 wc -l 명령으로 줄 수를 센다  $ ls -l | grep ^- | wc -l
6

 

반응형

+ Recent posts