* 내가 보려고 만든 명령어 예문 정리
<목록>
시간 순으로 파일 목록 보기 $ 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 |
'블라베 IT world > Linux Document' 카테고리의 다른 글
SSH 키 기반 인증 로그인 (0) | 2024.11.22 |
---|---|
[펌] create a user id and home directory in linux (0) | 2024.04.02 |
[펌] ec2 linux ssh login, without pem key file (0) | 2024.04.02 |
리눅스의 hostname 변경하는 다양한 방법 (CentOS 5, 6 7, and Ubuntu 14, 16, 18, 20) (0) | 2022.10.23 |
리눅스 OS (CentOS, Ubuntu) 버전별 커널버전 비교 (0) | 2022.10.23 |