php教程 PHP开发 Linux 찾기 사용 예

Linux 찾기 사용 예

Dec 14, 2016 pm 04:36 PM

Linux에서 find의 일반적인 사용 예

·find path -option [ -print ] [ -exec -ok command ] {} ;

find 명령 매개변수

pathname: find 명령어로 검색한 디렉터리 경로입니다. 예를 들어, 현재 디렉터리를 나타내려면 .을 사용하고 시스템 루트 디렉터리를 나타내려면 .
-print: find 명령은 일치하는 파일을 표준 출력으로 출력합니다.
-exec: find 명령은 일치하는 파일에서 이 매개변수에 의해 제공된 쉘 명령을 실행합니다. 해당 명령은 'command' { } ; 형식입니다. { }와 ; 사이의 공백에 유의하세요.
-ok: 각 명령을 실행하기 전에 사용자에게 실행 여부를 확인하는 프롬프트가 표시됩니다. .

#-print 찾은 파일을 표준 출력으로 출력
#-exec command {} ---찾은 파일에 대해 명령 작업을 실행합니다. {}와 #-ok는 실행하기 전에

사용자에게 물어봐야 한다는 점을 제외하면 -exec와 동일합니다. 예: find . -name .svn | xargs rm -rf

== ====== ==========================================

- name filename #파일명으로 검색

-perm #실행권한으로 검색
-user username #파일 소유자로 검색
-group groupname #그룹으로 검색
- mtime -n +n                                                                                                            >                                                    
-ctime -n +n #파일 생성 시간을 기준으로 파일 검색, -n은 n일 이내, +n은 n일 전을 의미

-Nogram #유효한 그룹이 없는 파일 찾기, 즉 해당 파일의 파일이/etc/groups에 존재하지 않음
-NOUSER # 비밀번호가 존재하지 않음
-newer f1 ! f2 파일 찾기, -n은 n일 이내, +n은 n일 전을 의미합니다. 일 이내, +n은 n일 전을 의미합니다. 즉, 파일 소유자가 /etc/passwd에 존재하지 않습니다.
-newer f1 !f2 #블록디바이스, 디렉터리, 캐릭터디바이스, 파이프, 심볼릭링크, 일반파일 확인 하위디렉토리에 들어가기 전 먼저 이 디렉터리를 찾는다
-FSTYPE #새롭지만 오래된 파일을 변경하려면 변경시간을 확인
-B/D/C/P/L/F # 유형, 문자 장치, 파이프, 심볼릭 링크, 일반 파일
-크기                    n[c]                                  ~   ​이 디렉터리
-fstype                                                             # 다음 위치에 있는 파일을 검색합니다. 특정 유형의 파일 시스템에서 이러한 파일 시스템 유형은 일반적으로 /etc/fstab에서 찾을 수 있습니다.               -follow                   #심볼릭 링크 파일이 발견되면
-cpio 링크가 가리키는 파일을 따라갑니다.           T> -Mount # 파일을 확인할 때 파일 시스템 마운트 지점을 넘지 마십시오.
- #따라가기 기호 링크 파일이 발견되면 파일
-CPIO #을 따라 일치하는 파일을 테이프 장치에 백업하세요-prune                          #디렉터리 무시

============================================= === ======
$find ~ -name "*.txt" -print # $HOME에서 .txt 파일을 확인하고 표시합니다.
$find -name "*.txt" - print
$find . -name "[A-Z]*" -print # 대문자로 시작하는 파일 확인
$find /etc -name "host*" -print # 호스트로 시작하는 파일 확인
$find . - name "[a-z][a-z][0–9][0–9].txt" -print # 소문자 2개와 숫자 2개로 시작하는 txt 파일 확인
$find 755 -print
$find . -perm -007 -exec ls -l {} ; #모든 사용자가 읽고, 쓰고, 실행할 수 있는 파일을 확인합니다. -perm 777
$find
$find ! -type d -print
$find . -type l -print

$find . -size +1000000c -print # 길이가 100c인 파일 확인
$find . -size +10 -print etc home apps -length -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} #cnscn 확인 사용자가 존재합니다

$find . -name "yao*" | xargs 파일

$find . -name "yao*" | xargs echo "" > "야오*" | 오-오

=================================== ======== ===========

find -name april* 현재 디렉토리에서 april로 시작하는 파일 찾기
find -name april* fprint file 현재 디렉토리에서 april로 시작하는 파일을 찾아 그 결과를
find -name ap* 파일에 출력 -o -name may* ap로 시작하는 파일 찾기 또는
find /mnt -name tom.txt -ftype vfat /mnt에서 tom.txt라는 파일과 파일 시스템 유형 vfat 찾기
find /mnt -name t .txt ! -ftype vfat /mnt에서 tom.txt라는 파일을 찾고 파일 시스템 유형이 vfat가 아닙니다.
find /tmp -name wa* -type l /tmp에서 이름이 wa로 시작하고 해당 파일을 검색합니다. 유형은 심볼릭 링크입니다
find /home -mtime -2 지난 이틀 동안 변경된 파일 검색 액세스된 파일
find /home -mmin +60 /home에서 변경된 파일 검색 60분 전
find /home -amin +30 30분 전에 액세스한 파일 검색
find /home -newer tmp.txt /home에서 업데이트 시간이 tmp.txt보다 최근인 파일이나 디렉터리를 확인하세요.
find /home -anewer tmp.txt
find /home -used -2 ​​​​파일 또는 디렉토리가 수정된 후 2일 이내에 액세스한 파일 또는 디렉토리 나열
find /home - user cnscn /home 디렉토리의 파일 또는 디렉토리 나열 사용자 cnscn에 속한 파일 또는 디렉토리
find /home -uid +501 /home 디렉토리에서 사용자 식별 코드가 501보다 큰 파일 또는 디렉토리 나열
find /home -group cnscn /home에 있는 그룹을 cnscn으로 나열
find /home -gid 501 /home에서 그룹 ID가 501인 파일 또는 디렉터리 나열
find /home -nouser /home에서 해당 작업을 수행하는 파일 또는 디렉터리 나열 로컬 사용자에 속하지 않음
find /home -nogroup 로컬 그룹에 속하지 않는 /home의 파일 또는 디렉터리 나열
find /home -name tmp.txt -maxlength 4 /에 tmp.txt 나열 home 최대 검색 깊이는 3레벨입니다
find /home -name tmp.txt -minlength 3 레벨 2부터 검색 시작
find /home -empty 크기가 0인 파일 또는 빈 디렉터리 찾기 k's 파일
find /home -size -512k 512k보다 작은 파일 찾기
find /home -links +2 하드 링크 번호가 2보다 큰 파일 또는 디렉터리 찾기 권한이 700인 파일 검색 또는 디렉터리
find /tmp -name tmp .txt -exec cat {} ;
find /tmp -name tmp.txt -ok rm {} ;

find / -amin -10 # 시스템에서 지난 10분 동안 액세스한 파일 찾기
find / -atime -2 # 시스템에서 지난 48시간 동안 액세스한 파일 찾기
find / -empty # 시스템의 빈 파일 또는 폴더에서 찾기
find / -group cat >find / -mtime -1 #시스템에서 지난 24시간 동안 수정된 파일 찾기
find / -nouser #소속된 파일 찾기 시스템에서 잘못된 사용자에게
find / -user fred #시스템에서 파일 찾기 FRED 사용자에게 속한 파일

현재 디렉터리에서 모든 일반 파일 검색

# find - . f -exec ls -l {} ;

-rw-r–r– 1 루트 루트 34928 2003-02-25 ./conf/httpd.conf

-rw-r–r– 1 루트 루트 12959 2003-02-25 ./conf/magic
-rw-r–r– 루트 ============================= ===================
/logs 디렉토리에서 5일 이상 전에 변경된 파일을 찾아서 삭제하세요.
$ find 로그 -type f -mtime +5 -exec -ok rm {} ;

==== ============================ =================

당일문의 수정파일
[root@book class]# find ./ -mtime -1 -type f -exec ls - l {} ;

============ =========================== =========

파일을 쿼리해서 표시할지 물어보세요
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} ;
< ls … ./classDB.inc.php > ? y

-rw-r –r– 1 cnscn cnscn 13709 1월 12일 12:22 ./classDB.inc.php

[루트 @book class]# find ./ -mtime -1 -type f -ok ls -l {} ;
< ls … ./classDB.inc.php > #

========================================= ======
쿼리하고 처리를 위해 awk에 넘겨주세요
[root@book class] # who | awk '{print $1"t"$2}'
cnscn pts/0

============================================= ====

awk—grep—sed

[root@book class]# df -k | awk '{print $1}' | grep -v 'none' | ///g"
파일 시스템

sda2

sda1
[root@book class]# df -k | awk '{print $1}' | grep -v 'none'

파일 system

/dev/sda2
/dev/sda1



1 )/tmp에서 모든 *.h를 찾고, 이 파일에서 "SYSCALL_VECTOR"를 검색한 다음 마지막으로 "SYSCALL_VECTOR"가 포함된 모든 파일 이름을 인쇄합니다.

A) find /tmp -name "*.h " | exec grep "SYSCALL_VECTOR" {} ; -print

2)find / -name filename -exec rm -rf {} ;

find / -name filename -ok rm -rf {} ;

3) 예를 들어 디스크에서 3M보다 큰 파일을 찾으려는 경우:

find . -size +3000k -exec ls -ld {} ;

4) 찾은 내용을 다른 위치에 복사합니다.

find *.c -exec cp '{}' /tmp ';'


특수 파일이 있는 경우 cpio를 사용하거나 다음 구문을 사용할 수 있습니다.

find dir -name filename - print | cpio -pdv newdir

6) 2004-11-30 16:36:37에 변경된 파일 찾기
# A=`find ./ -name "*php"` | ls -l –full-time $A 2> /null | grep "2004-11-30 16:36:37"

Linux-all, Linux | 댓글 없음 »

인스턴스 찾기

2006년 4월 18일

/usr/linux에서 모든 *.h를 찾으려면 이 파일에서 "SYSCALL_VECTOR"를 검색하고 마지막으로 "SYSCALL_VECTOR"가 포함된 모든 파일 이름을 인쇄하십시오.
find /usr/linux -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
grep SYSCALL_VECTOR /usr/linux/*.h | cut -d':' -f1 | >find /usr/linux -name "*.h" -exec grep "SYSCALL_VECTOR" {} ; -print

find / -name filename| rm -rf를 사용했지만 실패했습니다. 왜 성공하지 못했는지 물어보세요.

find / -name filename -exec rm -rf {} ;
find . -name filename |rm -rf {}를 시도하여 찾은 결과를 나타냅니다.
;은 "헌법"과 동일하며 말할 것도 없고 단지 이렇게 규정했을 뿐이며 -exec 뒤에는 명령의 끝을 나타내는 기호가 필요합니다. 그 답은 man find에서 찾을 수 있다.
rm이 find 결과를 인식하도록 하려면 다음과 같이 합니다.
find / -name filename | 표준 입력에서 전달된 명령
특정 문자열이 포함된 파일을 찾습니다.
예를 들어 다음을 포함하는 파일을 찾습니다. 현재 디렉터리에서 "찾고 싶은 문자열...":
$find . -type f -exec grep "찾고 싶은 문자열..." {} -print

루트 디렉터리에서 tmpfile 검사를 시작하고 발견되면 즉시 삭제하세요.

find / -name "tmpfile" -exec rm {} ;


find의 Perm 문제

다음 명령은 무엇을 의미하나요? 핵심은 숫자 앞의 -입니다. 다른 사람들은 모두

find -name ".*" -perm -007
알고 있습니다.
find -name ".*" -perm 755
이것이 사용됩니다. 권한 비트가 755인 숨겨진 파일을 찾으려면
아, 그런데 위 명령에서 find의 경로 이름 매개 변수를 생략했습니다. find는 기본적으로 현재 작업 디렉터리를 검색합니까?
-exec 대신 -ok를 사용하는 경우에도 {}를 추가해야 하나요?
이미 명확하지만 여전히 필요합니다. 왜냐하면 -ok는 단지 작업을 확인하기 위해 한 단계를 더 추가하기 때문입니다. 해당 전자 텍스트의 의미를 이해하지 못했습니다. 죄송합니다
-007은 모든 사용자가 읽고 쓰고 실행할 수 있는 파일을 찾는다는 의미입니다~~
설명하시죠?
find -name ".*" -perm -007과 find -name ".*" -perm 777 사이에 차이점이 있나요?
-007은 어떻게 얻었나요?
하지만 문제가 있습니다
find . -perm -100을 사용하여 현재 디렉토리를 나열합니다. 이유는 무엇입니까?

다음은 2002/10/01 오전 06시 15분에 익스플로러에서 공개한 내용을 인용한 것입니다.

-007은 모든 사용자가 읽고, 쓰고, 실행할 수 있는 파일을 찾는 것을 의미하므로, 조심하세요~~

-007은 다른 사용자(소유자가 아닌 다른 그룹)가 읽고 쓰고 실행할 수 있는 파일을 찾는다는 의미입니다. 꼭 같은 그룹이 읽고 쓸 수 있어야 하는 것은 아닙니다. 최소 권한은 007입니다.
다음 인용문은 Xiaobaicai가 2002/10/01 10:16am에 게시한 내용에서 가져온 것입니다.
좋아요, 하하 ​​
하지만 문제가 있습니다
find 를 사용합니다. -perm -100 현재 디렉토리를 나열합니다. 이유는 무엇입니까?
이 방법은 디렉터리를 정확하게 찾을 수 없습니다. -100은 최소한 소유자가 권한을 실행할 수 있음을 의미합니다.
Unix 시스템에서는 디렉터리 파일에 대한 실행 권한이 있는 경우에만 디렉터리를 입력할 수 있습니다. 이것이 디렉토리 파일이 나열되는 이유입니다.
find . -perm -001 -print는 종종 디렉토리 파일을 찾습니다.
물론 디렉토리를 찾는 데 이 방법을 사용하려는 것은 아니지만 이해가 되지 않습니다. . -100의 의미
그럼 비유하자면 -010은 적어도 소유자와 동일한 그룹이 권한을 실행할 수 있다는 뜻인가요? 즉, 010과 -여기서는 실제로 별개입니다. -는 최소한을 의미하며 010은 실제로 권한 비트를 설명하는 데 사용됩니까?
확실히 알겠습니다. 감사합니다

찾은 내용을 다른 곳에 복사하시겠습니까?

find *.c -exec cp '{}' /tmp ';'

특수한 내용이 있는 경우 파일의 경우 cpio를 사용하거나 다음 구문을 사용할 수 있습니다.
find dir -name filename -print | cpio -pdv newdir

디스크에서 특정 크기 범위 내의 파일을 찾습니다

예를 들어 , 디스크에서 3M보다 큰 파일을 찾으려면:

find . -size +3000k -exec ls -ld {} ;

find를 사용하여 특정 날짜에 변경된 파일을 찾는 방법은 무엇입니까?

다음 명령줄을 사용하여 다음을 수행할 수 있습니다.

A=`find ~ -print` | ls -l –full-time $A 2>/dev/null | grep "Jun 27" | 🎜>

find 명령을 사용하여 특정 기간의 쉘을 찾는 방법. 예를 들어 11시부터 12시까지. 감사합니다
다음 내용으로 심사 시간 스크립트를 만드세요.
ls -l $*|awk '{split($8,hour,":");if((hour[1]>23 || hour[ 1 ] < 1)&&hour[1]<24)print}'
찾고 싶은 디렉토리로 이동하여
find ./ -name "*" -exec Judgetime {} ;
을 실행하세요. 시간 형식에 주의하세요. 24시간제입니다.
고마워요. 분 단위로 정확하고 싶으면 어떻게 하나요
touch -t 04241112 starttemp #정확도 12분
touch -t 04241220 endtemp #12:20 기준
find [dir] - 최신 starttemp -a ! -newer endtemp -exec ls -l {} ;
nowスr
어제 12시 10분 파일은요?
매일 실행할 때는 해당 날짜의 날짜와 타임스탬프로 대체하면 충분하지 않을까요?
11시부터 12시까지 다 찾았는지는 모르겠지만 한 번만 실행한 건가요, 아니면 매일 실행한 건가요?
이런 경우에는 물건을 어디에 두었는지 잊어버린 것 같아요. 밤이 깊었다는 것만 기억나거든요.
그렇군요!
역시 대나무의!
문제 해결 방법을 아시는 것뿐만 아니라 어떤 상황에서 그런 문제가 발생하는지 아시는 분 정말 존경스럽습니다!
문제가 또 발생합니다. 이 파일을 만들 때. 시간이 될 줄 알았는데 이제 12시가 아닌 2002년으로 되어 있네요.
12시가 지날 때까지 기다리세요!

지정된 날짜의 파일 삭제
find ./ -name file name-exec rm -f {};
예: 현재 30일 이내에 사용되지 않은 파일을 삭제하려면 다음을 사용합니다. 다음 명령:
find / -atime +30 -exec rm -f {} ;
SHELL의 짧은 섹션을 직접 작성해 보고 ll, grep, rm 명령도 사용했지만 그렇지 않았습니다. 만족스럽다.
필터링된 파일명 목록에 FOR 문을 사용한 후 rm을 실행합니다. 이제 이 SHELL을 확장하여 n일 전에 파일을 삭제하기 위해 매일 정기적으로 실행하고 싶습니다. 감사합니다.
또 다른 질문이 있습니다. 앞서 친구가 언급한 "find / -atime +30 -exec rm -f {} ;
" 방법을 시도해 보았으나 작동하지 않는 것 같습니다. -atime n 매개변수는 n일 전에 액세스한 파일을 검색하는 것입니다. 내가 이해하지 못하는 것은 여기서 시간 기준점이 무엇인지, 그리고 n일을 어떻게 계산하는지입니다.
질문 2: 잘못된 명령 "ll |cut -f 1"을 사용했나요? ll에 나열된 파일 이름을 제거하고 싶었지만 cut -f 명령으로는 제거할 수 없었습니다. 대신 사용하려면 ll |cut -c 59- 이렇게 하면 내가 원하는 파일 이름을 얻을 수 있지만 이것이 풀 아이디어입니다! awk도 사용해 보았지만 맞지 않는 것 같습니다. 누군가 나에게 몇 가지 팁을 줄 수 있는지 살펴보겠습니다. TKS SO MUCH
질문 3. I 노드의 날짜 형식을 변경하는 방법. 현재 시스템에 표시되는 내용은 다음과 같습니다.
-rw-r—– 1 msahz01 사용자 2253 2002년 2월 2일 poheader.i
이를
-rw-rw-rw- 1 주택 사용자 2193으로 변경하고 싶습니다. 2001년 4월 19일 hkdisp.p
이를 어떻게 달성할 수 있나요?
awk가 작동해야 합니다
awk '{print $9}'
일보다 오래된 파일을 삭제합니다.
find /yourpath -mtime +31 -exec rm {} ;
find /yourpath - mtime +366 -exec rm {} ;

find에서 -ctime, -mtime 및 -atime의 차이점은 무엇입니까

-ctime과 -mtime의 관계는 무엇입니까?
상위 디렉터리의 ctime이 변경되면 그 아래 파일의 ctime도 자동으로 변경되나요?
-ctime, -mtime, -atime 이 정보는 어디에 저장되나요?

-mtime을 사용합니다. - 1 새로 생성되거나 수정된 ​​파일을 찾았습니다.
그런데 하루 안에 mv된 파일을 어떻게 찾을 수 있습니까(해당 시간은 원래 시간, 하루 이전)?

-newer를 사용하세요. 옵션.
먼저 다음과 같이 원하는 시간에 파일을 터치할 수 있습니다.
$ touch -t 08190800 test
$ ls -l test
-rw-r–r– 1 dba other 0 Aug 19 08:00 테스트
그런 다음
$ find . -newer test -print
.
./.sh_history
$ ls -l .sh_history
-rw——- 1 dba 기타 154 Aug 20 17:39 .sh_history

언제든지 터치를 사용하여 파일을 작성한 다음 -newer, -newer 옵션을 사용하여 성공하세요.

1. ctime에는 inode 정보의 수정 시간이 포함됩니다. mtime은 파일 내용이 생성되거나 수정되는 시간만 나타냅니다.
2번
3. 파일 시스템의 슈퍼 블록.

책을 확인해 보니 -ctime은 inode의 변경(또는 파일 상태의 변경)을 의미합니다.
inode에는 어떤 정보가 저장되어 있나요?
몇 가지를 해봤습니다. 작은 테스트, -mtime 변경, - ctime도 변경해야 합니다.
파일 이름을 변경하면 -ctime도 변경됩니다.
i-node에 저장된 내용은 누가 대답할 수 있습니까?

vi / usr/include/sys/inode.h

마스터님, /usr/include/sys/inode.h에 액세스할 수 없습니다.
발췌 내용은 다음과 같습니다.
디렉토리에는 디렉토리 항목이 포함되어 있습니다. 각 항목에는 파일 또는 하위 디렉토리 이름과 인덱스 노드 참조 번호가 포함되어 있습니다. (i-노드 번호) 속도를 높이고 디스크 공간 사용을 향상시키기 위해 파일의 데이터는 컴퓨터 메모리의 다양한 위치에 저장됩니다. i-node는 수정 및 액세스 시간, 액세스 모드, 링크 수, 파일 소유자 및 파일 유형을 포함하여 파일에 대한 기타 정보도 기록합니다.
그런데 -atime이 변경된 것을 확인했지만 - ctime이 변경되지 않은 이유는 무엇입니까?
(먼저 ASCII 파일을 cat한 다음 -atime -1을 사용하고 -ctime -1을 사용하지만 존재하지 않습니다.)
inode 정보 변경과 ctime 변경?

제가 올린 글에 동의하지 않습니다. 말씀드린 것처럼 atime, ctime, mtime은 sco unix 아래에 있는 구조입니다. stat.(stat_32), 시스템 파일 시스템에 따라
sco의 inode 구조는 다음과 같습니다:

typedef struct inode
{
struct inode *i_forw; inode 해시 체인 */
struct inode *i_back; /* '' */
struct inode *av_forw; /* freelist chain */
struct inode *av_back; int *i_fsptr; /* fs 종속에 대한 "유형 없는" 포인터 */
ino32_t i_number; /* i 번호, 개발자 주소와 1대 1 */
ushort i_ftype; /* 파일 유형 = IFDIR, IFREG 등. */
short i_fstyp; /* 파일 시스템 유형 */
off_t i_size; /* 파일 크기 */
ushort i_uid; /* 소유자 */
ushort i_gid; 소유자 그룹 */
ushort i_flag;
ushort i_want; /* MP 경쟁을 피하기 위한 i_flag 확장 */
ushort i_count; /* 참조 횟수 */
short i_nlink; /
dev_t i_rdev; /* 원시 장치 번호 */
#define i_namtype i_rdev /* i_ftype==IFNAM 하위 유형 */
dev_t i_dev; /* inode가 있는 장치 */
struct mount * i_mton;/* 이 디렉토리가 마운트된 테이블 항목을 마운트하는 ptr */
struct 영역 *i_rp; /* 공유 영역이 있는 경우 ptr */
struct stdata *i_sp; /* 관련 스트림에 대한 ptr */
struct iisem *isem; /* XENIX 세마포에 대한 ptr */
struct iisd *isd /* XENIX 공유 데이터에 대한 ptr */
} i_un;
#define i_mnton i_un.i_mton /* i_ftype ==IFDIR IMOUNT */
#define i_rptr i_un.i_rp /* i_ftype==IFREG || i_ftype==IFBLK */
#define i_sptr i_un.i_sp /* i_ftype ==IFCHR || IFIFO */
#define i_sem i_un.isem /* i_ftype==IFNAM && i_namtype==IFSEM */
#define i_sd i_un.isd /* i_ftype==IFNAM && i_namtype ==IFSHD */

struct fstypsw *i_fstypp; /* 파일 시스템 스위치 FSPTR에 대한 ptr */

long *i_filocks; /* filock(구조) 목록에 대한 포인터 */

unsigned long i_mappages ; /* 현재 캐시된 페이지 수 * /
unsigned long i_vcode; /* 미리 읽기 블록 저장(NFS) */
short i_wcnt /* 쓰기 열기 횟수 또는 ITEXT 횟수 */
struct lockb i_cilock; /* i_flag 변경 사항을 동기화하는 tas */
ushort i_rdlocks; /* 비배타적 잠금 장치 수 */
} inode_t;

따라서 파일에 액세스해도 inode 정보가 변경되지 않습니다.

chown, chgrp, chmod 명령 사용 mtime과 ctime을 매우 잘 비교할 수 있습니다.

chown은 파일 소유자를 변경하지만 mtime에서는 찾을 수 없습니다.
한번 시도해 보세요.

고맙습니다, Mozhu! 저는 위에서 인터뷰를 했는데 -ctime을 이해하지 못했습니다.

테스트 결과는 다음과 같습니다.

파일을 수정합니다. 변경되면 -ctime도 변경됩니다.
파일에 액세스하면 -atime이 변경됩니다. -ctime 변경되지 않습니다.
chown, chgrp, chmod, mv는 모두 -ctime을 변경하지만 -atime에는 영향을 주지 않습니다. -mtime.
touch는 -mtime 및/또는 -atime을 변경할 수 있지만 touch -a는 액세스만 변경합니다. 시간이 변경되면 -ctime도 변경됩니다.
touch -m이 시간을 변경하면 - ctime도 변경됩니다.
-ctime을 변경할 수 있는 것이 많은 것 같은데, 이는 불분명합니다.
-mtime, atime, ctime을 표시할 수 있는 방법이 있나요?
-ctime을 사용할 수 있나요? 디렉터리의 증분 파일을 백업하거나 전송하려면?
감사합니다!

도구가 표시되지 않습니다. (아마도 모르겠습니다.)

다음 프로그램의 st_mtime을 st_ctime 또는 st_atime으로 바꾸세요. 그러면 원하는 것을 얻을 수 있습니다.

#include
int
main (int argc, char * *argv)
{
struct stat buf;
char date[80];
char fname[80];
printf("mtime을 확인하려면 파일 이름(전체 경로 포함)을 입력하세요: " );
scanf("%s",fname);
stat(fname, &buf );
printf ("mtime (초) of %s = %ldn", fname, buf.st_mtime) ;
strcpy(date, ctime((time_t *)&(buf.st_mtime)));
printf ("mtime (in date) of %s = %sn", fname, date);
}

파일 백업에서 허용되지 않는 것은 무엇입니까?

mtime ls -l 파일 내용이 마지막으로 수정된 시간

atime ls -lu 파일이 마지막으로 액세스된 시간

ctime ls -li 파일 수정, 속성 소유자 변경 등 최근 파일 변경 상태를 나타냅니다. , 노드, 링크 변경 등 시간 전후의 변경으로 제한되어서는 안 됩니다

ls 도움말을 읽고 ctime 또는 atime으로 정렬하는 줄 알았는데 표시되는 시간이 여전히 mtime입니다. 🎜>

잘 비교해 보니 아이한님 말씀이 맞네요. 감사합니다.

팁을 주신 ahyan에게 감사드립니다. 저는 Solaris에서 다음을 시도했습니다.
mtime은 ls -l로 표시됩니다.
atime은 ls -lu로 표시됩니다.
ctime은 ls -lc로 표시됩니다. ls -li inode 번호만)
발췌 내용은 다음과 같습니다.
-c i-node의 마지막 수정 시간(파일
생성, 모드 변경 등)을 정렬에 사용합니다(-t )
또는 인쇄(-l 또는 -n).
-u 정렬(-t 옵션 사용) 또는 인쇄(
-l 사용)에 마지막 수정 대신 마지막 액세스 시간을 사용합니다
옵션).
-i 각 파일에 대해 보고서의 첫 번째
열에 i-node 번호를 인쇄합니다.


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)