find 와 ls 명령 합 체 구덩이 정리

5693 단어 Shell
고급 시스템 엔지니어 로 서 당연히 Liux 가 각종 명령 을 내 리 는 빠 른 맞 춤 법 을 익 혀 야 한다.O (∩ ∩) o 하하 ~ 그러나 find 와 ls 명령 의 단축 키 를 우 리 는 얼마나 알 고 있 습 니까?우 리 는 find / -name xxx -type f 을 사용 할 수 있 습 니 다. ls -lrt 을 사용 할 수 있 습 니 다. ls -k 대 표 는 kg 으로 표시 되 고 -s 대 표 는 블록 으로 표시 되 며 -h 파일 크기 가 더욱 조화 로 운 방식 으로 표 시 됩 니 다.그러나 업무 효율 을 높이 고 자신의 단 위 를 높 일 수 있 는 인 자 를 내장 한 것 을 발견 할 시간 은 거의 없다.우 리 는 좋 은 예 를 몇 개 들 어 벽돌 을 던 져 옥 을 끌 어 올 렸 다.
  • 우선 우 리 는 Liux 의 파일 시간 이 다음 과 같은 세 가지 가 있다 는 것 을 알 아야 한다.
    mtime:          。
    ctime:          ,    status。    -c  。
    atime:         ,    accessuse。   -u  。
    저 희 는 보통 ls - l 또는 ll 의 결과 시간 mtime, 즉 파일 내용 이 바 뀌 는 시간 을 사용 합 니 다.저 희 는 --time=atime 옵션 을 통 해 디 스 플레이 시간 을 파일 의 마지막 읽 기 시간 으로 바 꿀 수 있 습 니 다. 속성 변경 시간 을 보 는 것 도 마찬가지 입 니 다.더 빠 른 방법 은 -c 또는 -u 옵션 을 사용 하 는 것 이다.
  • 표 시 된 시간 이 더 보기 좋 도록 시간 형식 을 조정 해 야 합 니 다.
    ls -l --time-style='+%Y-%m-%d %H:%M:%S' -u
    --time-style 옵션 과 함께 사용 해 야 한 다 는 것 을 명심 하 세 요.형식 은 수정 할 수 있 습 니 다. 예 를 들 어 -l 날짜 만 표시 합 니 다.더 쉬 운 방법 은: '+%Y-%m-%d'
  • 시간 을 볼 때 우 리 는 보통 정렬 이 필요 합 니 다. – sort 옵션 을 통 해 이 루어 질 수 있 습 니 다.
    ls -l --time-style='+%Y-%m-%d %H:%M:%S' -u --sort=time
    ls -l --full-time 은 현재 지정 한 시간 (지정 되 지 않 으 면 기본 mtime) 을 사용 하여 거꾸로 배열 하 는 것 을 말한다.사용 --sort=time 도 정렬 의 목적 을 달성 할 수 있 지만 이것 은 ls -lt 에 따라 정렬 하 는 것 이자 거꾸로 배열 하 는 것 이다.정렬 이 필요 하면 mtime 을 사용 하여 실현 한다. 예 를 들 어 -r.ls -lrt 시간 순 으로 정렬 할 수 있 을 뿐만 아니 라 파일 크기 에 따라 거꾸로 정렬 --sort (대문자) 할 수 있다.만약 -S 이 부족 하 다 면, 우 리 는 sort 명령 을 선택 할 수 있 습 니 다. 예 를 들 어:
    [root@myos ~]# ls -lh --time-style='+%Y-%m-%d' | sort -k3
    total 4.9M
    -rw-rw-r--. 1 postgres postgres 1.5K 2017-11-08 data2.csv
    -rw-r--r--. 1 postgres postgres  398 2017-08-24 id_rsa.pub
    -rw-rw-r--. 1 postgres postgres 4.9M 2017-11-08 data1.csv
    drwxr-xr-x. 2 postgres postgres    6 2017-08-24 Desktop
    -rw-rw-r--. 1 postgres postgres   82 2017-11-23 test.sql
    --sort 일반적으로 tab 를 열 구분자 로 하고 당연히 sort 를 추가 하여 분할 자
  • 를 지정 할 수 있 습 니 다.
  • 이제 find 에 대해 이야기 해 야 겠 어 요. 드디어 본론 이에 요.우리 가 며칠 전이 나 그 후, 혹은 어느 날 의 것 을 찾 아야 한다 면 -t $'\t' 실현 할 수 없 기 때문에 find 명령 이 있 습 니 다.
    명령 하 다.
    해명 하 다.
    수학 해석
    find . -type f -mtime +5
    현재 디 렉 터 리 아래 5 일 이전 파일ls
    find . -type f -mtime 5
    현재 디 렉 터 리 아래 5 일 전 파일((n+1)*24h, -∞)
    find . -type f -mtime -5
    현재 디 렉 터 리 아래 5 일 이내 의 파일[n*24h,(n+1)*24h]
    여기 서 우 리 는 (0, n*24h) 를 주의해 야 한다. 그렇지 않 으 면 구 덩이 를 쉽게 밟 을 수 있다. 다음은 우리 가 설명 할 것 이다.
  • 그러나 찾 아 낸 파일 은 우리 가 파일 의 날 짜 를 볼 수 없 기 때문에 우 리 는 ls 를 통 해 이 루어 져 야 한다.
    find . -type f -mtime +5| xargs ls -l --time-style='+%Y-%m-%d'
    또는
    find . -type f -mtime +5 -exec ls -l --time-style='+%Y-%m-%d' {} \;
    점 수 를 빠 뜨리 지 않도록 주의 하 세 요.-type f{} \; 되 돌아 온 결 과 를 말 하 며 {} 명령 꼬리 표 시 를 말한다.find . -type f -mtime +5 명령 을 결합 하면 우리 가 위 에서 말 한 \; 옵션 을 모두 사용 할 수 있 습 니 다.
  • 그럼 왜 find 를 추가 하지 않 는 다 고 했 어 요?우리 가 5 일 이내 의 서 류 를 살 펴 보 았 을 때, 뜻밖에도 모든 것 을 찾 아 냈 기 때문이다!!!결과 실험 결과 ls 출력 결과 ls, 즉 현재 디 렉 터 리 가 있 습 니 다. 절대 경로 find 를 사용 하 더 라 도 현재 디 렉 터 리 로 돌아 갑 니 다.이 때 현재 디 렉 터 리 는 출력 -type f 의 반환 결과 일부분 으로 find . -mtime -5, 즉 . 전송 되 어 현재 디 렉 터 리 에 있 는 모든 파일 을 자 연 스 럽 게 인쇄 합 니 다.

  • find 명령 은 아직 많이 사용 할 수 있 습 니 다. man 매 뉴 얼 은 재 미 있 습 니 다.만약 정확 하지 않 은 곳 이 있다 면, 여러분 의 지적 을 환영 합 니 다!!

    좋은 웹페이지 즐겨찾기