이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 findposix 명령입니다.
프로그램:
이름
찾기 — 파일 찾기
개요
발견 [-H|-L] 통로... [피연산자 표현식...]
기술
The 발견 유틸리티는 각 파일에서 디렉터리 계층 구조를 재귀적으로 내려야 합니다.
에 의해 지정된 통로, 다음에 설명된 원색으로 구성된 부울 식 평가
발생한 각 파일에 대한 OPERANDS 섹션. 각 통로 피연산자는 평가되어야 한다
모든 후행을 포함하여 제공된 그대로 변경되지 않음 문자; 에 대한 모든 경로 이름
계층에서 만나는 다른 파일은 현재의 연결로 구성됩니다.
통로 피연산자, 만약 현재 통로 피연산자가 XNUMX로 끝나지 않았고 파일 이름이
에 상대적 통로 피연산자. 상대 부분은 점 또는 점-점을 포함하지 않아야 합니다.
구성 요소, 후행 없음 문자, 단 하나 사이의 문자
경로 이름 구성 요소.
The 발견 유틸리티는 파일 계층 구조에서 임의의 깊이로 내려갈 수 있어야 하며
경로 길이 제한으로 인해 실패하지 않아야 합니다( 통로 에 의해 지정된 피연산자
애플리케이션이 {PATH_MAX} 요구 사항을 초과함).
The 발견 유틸리티는 무한 루프를 감지합니다. 즉, 이전에 방문한
마지막으로 발견된 파일의 조상인 디렉토리. 무한을 감지할 때
루프 발견 표준 오류에 진단 메시지를 기록하고 해당 오류를 복구하거나
계층 구조에서 위치를 지정하거나 종료합니다.
검색 중인 디렉토리 계층 구조에서 파일이 제거되거나 추가되면
여부 불특정 발견 검색에 해당 파일을 포함합니다.
옵션
The 발견 유틸리티는 POSIX.1-2008의 기본 정의 볼륨을 준수해야 합니다. 섹션
12.2, 유틸리티 통사론 가이드 라인.
구현 시 지원되는 옵션은 다음과 같습니다.
-H 원인 각 심볼릭 링크에 대해 파일 정보 및 파일 유형 평가
로 마주쳤다 통로 파일의 피연산자가 되도록 명령줄의 피연산자
링크 자체가 아니라 링크에 의해 참조됩니다. 참조 파일이 없으면
존재하는 경우 파일 정보 및 유형은 링크 자체에 대한 것입니다. 파일
순회하는 동안 만난 심볼릭 링크에 대한 정보 및 유형
파일 계층 구조는 링크 자체의 계층 구조입니다.
-엘 원인 각 심볼릭 링크에 대해 파일 정보 및 파일 유형 평가
로 마주쳤다 통로 명령줄에서 피연산자이거나
링크에 의해 참조되는 파일의 계층 구조가 되는 파일 계층 구조의 순회,
링크 자체가 아닙니다. 참조된 파일이 존재하지 않는 경우 파일
정보 및 유형은 링크 자체에 대한 것입니다.
상호 배타적인 옵션을 둘 이상 지정 -H 그리고 -엘 안된다
오류로 간주됩니다. 지정된 마지막 옵션은
공익사업. 둘 다 -H 도 -엘 옵션이 지정된 다음 파일 정보 및
다음과 같이 발생하는 심볼릭 링크에 대한 유형 통로 명령줄의 피연산자 또는 발생
파일 계층 구조의 순회 중에는 링크 자체의 순회가 됩니다.
피연산자
다음 피연산자가 지원됩니다.
첫 번째 피연산자 및 다음 피연산자까지(포함되지 않은 첫 번째 피연산자까지) 후속 피연산자
로 시작 '-', 또는 '!' 또는 '(', 다음과 같이 해석됩니다. 통로 피연산자 만약
첫 번째 피연산자는 a로 시작합니다. '-', 또는 '!' 또는 '(', 동작이 지정되지 않았습니다. 각
통로 피연산자는 파일 계층에서 시작점의 경로 이름입니다.
a로 시작하는 첫 번째 피연산자 '-', 또는 '!' 또는 '(', 그리고 모든 후속
인수는 다음과 같이 해석됩니다. 표현 다음 기본 및
운영자. 설명에는 어디에나 n 기본 인수로 사용되는 경우 다음과 같아야 합니다.
선택적으로 앞에 더하기('+') 또는 빼기 기호('-')
다음과 같이 서명하십시오.
+n 현재 시장에는 n.
n 정확하게 n.
-n 미만 n.
다음 기본이 지원됩니다.
-이름 무늬
기본 경로는 현재 경로 이름의 기본 이름인 경우 참으로 평가됩니다.
성냥 무늬 에 설명된 패턴 일치 표기법 사용 섹션 2.13,
무늬 매칭 표기법. 의 추가 규칙 섹션 2.13.3, 패턴
사용 된 을 통한 파일 이름 확장 일치 작업이므로 적용하지 마십시오.
확장.
-경로 무늬
기본 경로는 현재 경로 이름이 일치하는 경우 true로 평가됩니다. 무늬 사용
에 설명된 패턴 일치 표기법 섹션 2.13, 무늬 매칭
표기법. 의 추가 규칙 섹션 2.13.3, 패턴 사용 된 을 통한 파일 이름
확장 이는 확장이 아니라 일치하는 작업이므로 적용하지 마십시오.
-나우저 파일이 다음과 같은 사용자 ID에 속하는 경우 기본은 참으로 평가됩니다.
전에, Getpwuid() POSIX.1-2008의 시스템 인터페이스 볼륨에 정의된 함수
(또는 이에 상응하는) NULL을 반환합니다.
-그룹 없음 파일이 그룹 ID에 속하는 경우 기본은 참으로 평가됩니다.
전에, getgrgid() POSIX.1-2008의 시스템 인터페이스 볼륨에 정의된 함수
(또는 이에 상응하는) NULL을 반환합니다.
-xdev 기본은 항상 참으로 평가됩니다. 그것은 야기할 것이다 발견 계속하지 않기 위해
다른 장치 ID를 가진 과거 디렉토리를 내림차순(st_dev,를 참조하십시오
스탯() POSIX.1-2008의 시스템 인터페이스 볼륨에 정의된 함수). 만약에 어떠한
-xdev 기본이 지정된 경우에도 전체 표현식에 적용됩니다.
-xdev 기본은 일반적으로 평가되지 않습니다.
자두 기본은 항상 참으로 평가됩니다. 그것은 야기할 것이다 발견 내려오지 않는다
디렉토리인 경우 현재 경로 이름. 만약 -깊이 기본이 지정되어 있습니다.
전에, 자두 기본은 영향을 미치지 않습니다.
-파마 [-]모드
The 모드 인수는 파일 모드 비트를 나타내는 데 사용됩니다. 에서 동일해야 합니다.
형식을 기호 모드 에 설명된 피연산자 chmod를, 그리고 해석될 것이다
다음과 같이. 시작하려면 템플릿이 모든 파일 모드 비트로 가정되어야 합니다.
클리어. 안 op 상징 '+' 에서 적절한 모드 비트를 설정해야 합니다.
주형; '-' 적절한 비트를 지웁니다. '=' 적절한 설정한다
파일 모드 생성 마스크의 내용에 관계없이 모드 비트
방법. 그만큼 op 상징 '-' 의 첫 번째 문자가 될 수 없습니다. 모드; 이것은 피한다
선택적 선행의 모호성 . 초기 모드가 전부이기 때문에
비트 오프, 사용해야 할 기호 모드가 없습니다. '-' 처음으로
문자.
만약 생략되면 기본은 파일이 다음과 같은 경우 참으로 평가됩니다.
권한 비트는 결과 템플릿의 값과 정확히 일치합니다.
그렇지 않으면 모드 접두사 , 기본은 참으로 평가됩니다
결과 템플릿의 모든 비트가 파일에 설정된 경우
권한 비트.
-파마 [-]내 앞
만약 생략되면 기본은 파일이 다음과 같은 경우 참으로 평가됩니다.
모드 비트는 정확히 XNUMX진수의 값과 일치합니다. 내 앞 (설명 참조
팔진수의 모드 in chmod를). 그렇지 않으면 내 앞 접두사 ,
primary는 적어도 모든 비트가 다음에 지정된 경우 참으로 평가합니다. 내 앞 are
세트. 두 경우 모두 다음과 같은 경우 동작이 지정되지 않습니다. 내 앞 07777을 초과합니다.
-타입 c 기본은 파일 유형이 다음과 같은 경우 참으로 평가됩니다. c어디로 c is 'NS',
'씨', 'NS', '엘', 'NS', 'NS'및 'NS' 블록특수파일, 캐릭터특수파일,
디렉토리, 심볼릭 링크, FIFO, 일반 파일 또는 소켓.
-링크 n 기본은 파일이 다음과 같은 경우 참으로 평가됩니다. n 모래밭.
-사용자 uname
파일이 사용자에게 속한 경우 기본은 참으로 평가됩니다. unname. If
uname 는 XNUMX진수 정수이고 getpwnam()(또는 이와 동등한) 함수는
유효한 사용자 이름을 반환하고 uname 사용자 ID로 해석됩니다.
-그룹 이름
파일이 그룹에 속하는 경우 기본은 참으로 평가됩니다. 이름. 면
이름 는 XNUMX진수 정수이고 getgrnam()(또는 이와 동등한) 함수는
유효한 그룹 이름을 반환하고 이름 그룹 ID로 해석됩니다.
-크기 n[씨]
512로 나눈 바이트 단위의 파일 크기와
다음 정수로 반올림됩니다. n. 면 n 문자가 따라옵니다 '씨',
크기는 바이트 단위입니다.
-시간 n 기본은 파일 액세스 시간을 기본에서 빼면 참으로 평가됩니다.
초기화 시간을 86400으로 나눈 값(나머지는 무시)은 n.
-c시간 n 기본 파일 상태가 마지막으로 변경된 시간이 참인 것으로 평가됩니다.
초기화 시간에서 뺀 정보를 86400으로 나눈 값(모든
나머지는 폐기), n.
-m시간 n 기본은 파일 수정 시간을 빼면 참으로 평가됩니다.
초기화 시간을 86400으로 나눈 값(나머지는 버립니다)은 다음과 같습니다. n.
-실행 유틸리티_이름 [논의 ...] ;
-실행 유틸리티_이름 [논의 ...] {} +
기본 표현의 끝은 또는
. 만 다음을 포함하는 인수 바로 뒤에
두 캐릭터만 "{}" 기본 표현의 끝을 구두점으로 합니다.
다른 용도 특별 취급하지 않습니다.
기본 표현에 마침표가 있는 경우 , 유틸리티
유틸리티_이름 각 경로 이름에 대해 한 번씩 호출되며 기본은
유틸리티가 종료 상태로 XNUMX 값을 반환하는 경우 true로 평가합니다. ㅏ
유틸리티_이름 or 논의 두 문자만 포함 "{}" 한다
현재 경로 이름으로 대체됩니다. 만약 유틸리티_이름 or 논의 문자열 포함
두 캐릭터 "{}", 그러나 두 문자뿐만 아니라 "{}", 그것은
구현 정의 여부 발견 이 두 문자를 바꾸거나
변경없이 문자열.
기본 표현에 마침표가 있는 경우 , 기본은
항상 true로 평가되고 기본이 평가되는 경로 이름
집합으로 집계됩니다. 유틸리티 유틸리티_이름 한 번 호출됩니다
집계된 경로 이름의 각 집합에 대해. 각 호출은 마지막 호출 이후에 시작됩니다.
집합의 경로 이름이 집계되고 다음 전에 완료되어야 합니다. 발견
유틸리티가 종료되고 다음 세트(있는 경우)의 첫 번째 경로 이름이
이 기본에 대해 집계되지만 그렇지 않으면 다음 여부가 지정되지 않습니다.
호출은 다른 기본 평가 전, 도중 또는 후에 발생합니다.
호출이 XNUMX이 아닌 값을 종료 상태로 반환하는 경우 발견 유틸리티
XNUMX이 아닌 종료 상태를 반환합니다. 두 개만 포함하는 인수
문자 "{}" 집계된 경로 이름 집합으로 대체되며 각
동일한 순서로 호출된 유틸리티에 별도의 인수로 전달된 경로 이름
집계되었다는 것입니다. 둘 이상의 경로 이름 집합의 크기는
유틸리티 실행으로 인해 시스템의 {ARG_MAX}가 발생하지 않도록 제한됨
초과하는 한도. 두 문자를 포함하는 인수가 두 개 이상인 경우
"{}" 이 있으면 동작이 지정되지 않습니다.
호출을 위한 현재 디렉토리 유틸리티_이름 와 같을 것이다
현재 디렉토리 발견 유틸리티가 시작되었습니다. 만약 유틸리티_이름
특수 내장 유틸리티의 이름을 지정합니다(참조 섹션 2.14, 이달의 스페셜 내장
유틸리티), 결과는 정의되지 않습니다.
-좋아 유틸리티_이름 [논의 ...] ;
The -좋아 기본은 다음과 같습니다. -실행, a의 사용을 제외하고
기호> 기본 표현의 끝을 구두점으로 지정할 필요가 없으며,
발견 발동 확인을 요청한다. 유틸리티_이름 를 사용하여
에 설명된 대로 표준 오류에 기록하여 현재 파일을 인수로 사용합니다.
STDERR 섹션. 표준 입력에 대한 응답이 긍정적인 경우 유틸리티는
호출됩니다. 그렇지 않으면 명령이 호출되지 않으며
전에, -좋아 피연산자는 거짓이어야 합니다.
-인쇄 기본은 항상 참으로 평가됩니다. 현재 경로 이름을 유발합니다
표준 출력에 기록됩니다.
-새로운 파일
기본 파일은 현재 파일의 수정 시간이
경로 이름으로 명명된 파일의 수정 시간보다 최신입니다.
파일.
-깊이 기본은 항상 참으로 평가됩니다. 그것은 의 하강을 일으킬 것입니다
디렉토리의 모든 항목이 작동하도록 수행되는 디렉토리 계층
디렉토리 자체 앞에. 만약 -깊이 기본이 지정되지 않았습니다. 모든 항목
디렉토리에서 디렉토리 자체 다음에 작동합니다. 만약에 어떠한 -깊이
기본이 지정된 경우에도 전체 표현식에 적용됩니다. -깊이
기본은 일반적으로 평가되지 않습니다.
기본은 다음 연산자를 사용하여 결합할 수 있습니다(내림차순으로).
상위):
( 표현 )
참이면 표현 사실이다.
! 표현
기본 부정; 단항 NOT 연산자.
표현 [-a] 표현
원색 조합; AND 연산자는
두 개의 기본 또는 선택적에 의해 명시 -a 운영자. 두번째
첫 번째 표현식이 거짓이면 표현식을 평가하지 않습니다.
표현 -오 표현
XNUMX차 교대; OR 연산자. 두 번째 표현은
첫 번째 표현식이 참이면 평가됩니다.
없는 경우 표현 존재합니다. -인쇄 표현으로 사용됩니다. 그렇지 않으면
주어진 식에 기본이 포함되어 있지 않습니다. -실행, -좋아및 -인쇄, 주어진
표현은 다음으로 효과적으로 대체됩니다.
( 주어진 표현식 ) -인쇄
The -사용자, -그룹및 -새로운 예비선거는 각각 각자의 주장을 평가해야 합니다.
한 번만.
현재 파일에 대해 평가된 파일 유형이 심볼릭 링크인 경우
평가 -파마 기본은 구현 정의입니다.
STDIN
경우 -좋아 기본이 사용되면 표준 입력에서 응답을 읽어야 합니다. 전체
라인은 응답으로 읽혀야 합니다. 그렇지 않으면 표준 입력을 사용하지 않습니다.
입력 파일
없음.
환경 변수
다음 환경 변수는 실행에 영향을 미칩니다. 발견:
랑 설정되지 않은 국제화 변수에 대한 기본값을 제공하거나
없는. (POSIX.1-2008의 기본 정의 볼륨을 참조하십시오. 섹션 8.2,
국제화 변수 국제화를 위해
로케일 범주의 값을 결정하는 데 사용되는 변수)
LC_ALL 비어 있지 않은 문자열 값으로 설정된 경우 다른 모든 값을 재정의합니다.
국제화 변수.
LC_COLLATE
범위, 등가 클래스 및 다중 동작의 로케일 결정
에 대한 패턴 일치 표기법에 사용되는 문자 조합 요소 -n
옵션에 대해 정의된 확장 정규식에서 예스프르 장소
키워드 LC_메시지 카테고리.
LC_CTYPE 이 변수는 바이트 시퀀스 해석을 위한 로케일을 결정합니다.
문자로 된 텍스트 데이터(예: 멀티바이트가 아닌 XNUMX바이트
인수의 문자), 패턴 내 문자 클래스의 동작
에 사용되는 일치 표기법 -n 옵션 및 캐릭터 클래스의 동작
에 대해 정의된 확장 정규식에 사용된 정규식 내에서
전에, 예스프르 locale 키워드 LC_메시지 카테고리.
LC_메시지
긍정 응답을 처리하는 데 사용되는 로케일과 사용되는 로케일을 결정합니다.
진단 메시지 및 프롬프트의 형식과 내용에 영향을 미치기 위해
표준 에러.
NLS경로 처리를 위한 메시지 카탈로그의 위치를 결정합니다. LC_메시지.
PATH 위치 결정 유틸리티_이름 위한 -실행 그리고 -좋아 예비 선거,
POSIX.1-2008의 기본 정의 볼륨에 설명되어 있습니다. 장 8, 환경
변수.
비동기 이벤트
기본.
표준 출력
The -인쇄 primary는 현재 경로 이름이 표준 출력에 기록되도록 합니다. 그만큼
형식은 다음과 같습니다.
"%s\n", <통로>
STDERR
The -좋아 기본은 최소한 다음을 포함하는 표준 오류에 대한 프롬프트를 기록합니다.
유틸리티_이름 호출할 현재 경로 이름입니다. POSIX 로케일에서 마지막
비- 프롬프트에서 '?'. 사용된 정확한 형식은 지정되지 않았습니다.
그렇지 않으면 표준 오류는 진단 메시지에만 사용됩니다.
출력 파일
없음.
확장 기술
없음.
EXIT 지위
다음 종료 값이 반환됩니다.
모든 0 통로 피연산자가 성공적으로 순회되었습니다.
>0 오류가 발생했습니다.
결과 OF 오류
기본.
The 수행원 섹션 are 유익합니다.
신청 사용법
피연산자에 사용되는 경우, 패턴 매칭 표기법, , , 그리고
문자는 쉘에 특별하며 따옴표로 묶어야 합니다(참조 섹션
2.2, 인용).
고정에 전통적으로 사용되는 비트(역사적으로 01000)는
-파마 XNUMX진수 인수 형식을 사용하는 기본. 이 비트는 이것에 의해 정의되지 않기 때문에
POSIX.1-2008의 볼륨에서 응용 프로그램은 실제로 POSIX.XNUMX-XNUMX을 참조한다고 가정해서는 안 됩니다.
전통적인 끈끈한 비트.
사용 예
1. 다음 명령은 동일합니다.
발견 .
발견 . -인쇄
둘 다 현재 디렉토리에서 전체 디렉토리 계층 구조를 작성합니다.
2. 다음 명령:
발견 / \( -이름 tmp를 -오 -이름 '*.더블 엑스' \) -시간 +7 -실행 rm {} \;
이름이 지정된 모든 파일을 제거합니다. tmp를 또는로 끝나는 .더블 엑스 XNUMX 또는
더 많은 24시간 기간.
3. 다음 명령:
발견 . -파마 -o+w,+s
인쇄 (-인쇄 가정됨) 현재 디렉토리에 있거나 그 아래에 있는 모든 파일의 이름,
모든 파일 권한 비트 S_ISUID, S_ISGID 및 S_IWOTH가 설정되어 있습니다.
4. 다음 명령:
발견 . -이름 SCCS 자두 -오 -인쇄
현재 디렉토리 이하에 있는 모든 파일의 경로 이름을 재귀적으로 출력하지만
SCCS라는 디렉토리와 그 안의 파일을 건너뜁니다.
5. 다음 명령:
발견 . -인쇄 -이름 SCCS 자두
이전 예제와 같이 작동하지만 SCCS 디렉토리의 이름을 인쇄합니다.
6. 다음 명령은 대략 다음과 같습니다. -nt 확장 test:
if [ -n "$(찾기 file1 자두 -새로운 파일2)" ]; 그때
printf %s\\n "파일1 is 더 새로운 보다 파일2"
fi
7. 설명 -시간, -c시간및 -m시간 용어를 사용 n ``86400초
기간(일)''. 예를 들어, 23:59에 액세스한 파일은 다음에 의해 선택됩니다.
발견 . -시간 - 1 -인쇄
다음날 00:01(24시간 이내, 하루 전); 그만큼
날짜 사이의 자정 경계는 24시간 계산에 영향을 주지 않습니다.
8. 다음 명령:
발견 . ! -이름 . 자두 -이름 '*.오래된' -실행
sh -c mv "$@" ../오래된/' sh {} +
다음과 같은 작업을 수행합니다.
mv ./*.오래된 ./.오래된 ./.*.낡은 ../오래된/
인수 목록이 너무 긴 경우 ``Argument list too long'' 오류를 피하면서
로 끝나는 파일 .old로 그리고 실행하지 않고 mv 그러한 파일이 없는 경우(그리고
``No such file or directory'' 오류가 발생하는 경우 ./.오래된 존재하지 않거나 일치하는 파일이 없습니다.
./*.오래된 or ./.*.낡은).
대안:
발견 . ! -이름 . 자두 -이름 '*.오래된' -실행 mv {} ../오래된/ \;
하나를 실행하기 때문에 이동할 파일이 많으면 효율성이 떨어집니다. mv 명령
파일 당.
9. 아래의 디렉토리에 이동식 매체를 마운트하도록 구성된 시스템에서 /미디어Walk Through California 프로그램,
다음 명령은 파일 계층 구조에서 100000KB보다 큰 파일을 검색합니다.
마운트된 이동식 미디어 검색:
발견 / -경로 /미디어 자두 -오 -크기 +200000 -인쇄
10. 루트 디렉토리를 제외하고, "//" 구현에 "//" 언급하지 않는다
루트 디렉토리에 패턴이 지정되지 않음 -이름 일치합니다 , 왜냐하면
후행 파일의 기본 이름을 계산할 때 문자는 무시됩니다.
평가. 이름이 지정된 두 개의 빈 디렉토리 푸 그리고 바, 다음 명령:
발견 푸 /// 술집/// -이름 푸 -오 -이름 '술집?*'
라인만 출력 "푸///".
이론적 해석
The -a 연산자는 이전 버전과의 호환성을 위해 선택적 연산자로 유지되었습니다.
식 연결과 중복되는 경우에도 셸 스크립트.
에 대한 설명 '-' 수정자 모드 그리고 내 앞 주장 -파마 일차
BSD 및 System V 구현에 대한 역사적 관행에 동의합니다. 시스템 V와 BSD
문서는 둘 다 추가 비트 확인 측면에서 설명합니다. 사실, 그것은
동일한 비트이지만 적어도 모든 일치하는 비트가 설정되어 있는지 확인합니다.
정확히 일치하는 비트 세트.
대화식 프롬프트의 정확한 형식은 지정되지 않았습니다. 다만 일반적인 성격은
프롬프트 내용은 다음과 같은 이유로 지정됩니다.
* 구현은 과거에 사용된 것보다 더 설명적인 프롬프트를 원할 수 있습니다.
구현.
* 과거 프롬프트 문자열이 다음으로 끝나지 않기 때문에 문자, 거기
다른 프로그램이 이 유틸리티의 프롬프트와 상호 작용할 수 있는 이식 가능한 방법이 아닙니다.
파이프를 통해.
따라서 이 프롬프팅 옵션을 사용하는 애플리케이션은 시스템에 의존하여
지정된 일반 지침에 따라 사용자와 직접 대화하는 것이 가장 적합합니다.
The -이름 파일 피연산자가 쉘 패턴 일치 표기법을 사용하도록 변경되었습니다. 발견
패턴 일치를 사용하는 다른 유틸리티와 일치합니다.
The -크기 피연산자는 파일의 크기가 아닌 블록 수를 나타냅니다.
파일 시스템에서 점유합니다. 의도는 st_size 시스템에 정의된 필드
POSIX.1-2008의 인터페이스 볼륨을 사용해야 합니다. st_blocks 역사적으로 발견
구현. 여기에는 적어도 두 가지 이유가 있습니다.
1. System V와 BSD 모두에서, 발견 만 사용 st_size 피연산자의 크기 계산
POSIX.1-2008의 이 볼륨에 지정되어 있습니다. (BSD는 st_blocks 처리할 때만
-ls 주요한.)
2. 사용자는 일반적으로 파일 크기를 바이트로 생각합니다.
ls 의 출력을 위한 유틸리티 -l 옵션. (System V와 BSD 모두에서 ls 사용
st_size 위한 -l 옵션 크기 필드 및 용도 st_blocks 위한 ls -s 계산.
이 POSIX.1-2008 볼륨은 다음을 지정하지 않습니다. ls -s.)
에 대한 설명 -시간, -c시간및 -m시간 의 SVID 설명에서 변경되었습니다. n
``일'' n 초 단위의 시차를 정수로 나눈 결과
86400까지. 정확한 기간에 대한 설명도 다릅니다. n 케이스
(대 전에, +n or -n), 그러나 알려진 모든 역사적 구현과 일치합니다. 그것은 다음을 가리킨다
과거의 86400초 기간, 해당 기간의 시작부터
현재 시간. 예를 들어, -시간 2는 파일에 액세스한 적이 있는 경우 참입니다.
72시간에서 48시간 전까지의 기간입니다.
이전 구현은 수정되지 않습니다. "{}" 의 하위 문자열로 나타날 때 -실행
or -좋아 유틸리티_이름 또는 인수 문자열. 이에 대한 사용자 요청이 많았습니다.
따라서 이 POSIX.1-2008 볼륨은 원하는 동작을 허용합니다. 적어도 하나의 최근
구현은 이 기능을 지원하지만 관리에 몇 가지 문제가 발생했습니다.
메모리 할당 및 다중 발생 처리 "{}" 문자열에 있는 동안
개발 중이므로 아직 필수 동작은 아닙니다.
의 존재를 가정 -인쇄 괴롭히는 역사적 함정을 수정하기 위해 추가되었습니다.
초보 사용자의 경우 기존 System V와 완전히 상위 호환 가능 발견 유용.
가장 간단한 형태(발견 예배 규칙서), 역사적인 BSD fast와 혼동될 수 있습니다.
발견. BSD 개발자들은 추가에 동의했습니다. -인쇄 기본 표현은
올바른 결정과 빠른 추가 발견 라는 새 유틸리티 내의 기능
위치.
역사적으로 -엘 옵션은 기본을 사용하여 구현되었습니다. - 팔로우. 그만큼 -H 그리고 -엘
두 가지 이유로 옵션이 추가되었습니다. 첫째, 더 세밀한 제어 기능을 제공하고
파일 계층 구조를 걷는 다른 프로그램과의 일관성. 둘째, - 팔로우 일차
항상 true로 평가됩니다. 그것들은 역사적으로 실제로 전역 변수였기 때문에
순회가 시작되기 전에 일부 유효한 표현식에 예기치 않은 결과가 발생했습니다. 안
예는 표현입니다 -인쇄 -오 - 팔로우. 때문에 -인쇄 항상 true로 평가되며,
평가의 표준 순서는 다음을 의미합니다. - 팔로우 결코 평가되지 않을 것입니다. 이것은 결코
경우. 대한 역사적 실천 - 팔로우 그러나 기본은 일관성이 없습니다. 일부
구현은 항상 명령줄의 심볼릭 링크를 따릅니다. - 팔로우 is
지정 여부. 다른 사람들은 다음과 같은 경우에만 명령줄에서 심볼릭 링크를 따릅니다. - 팔로우 is
지정된. 두 가지 동작 모두에 의해 제공됩니다. -H 그리고 -엘 옵션을 사용하는 스크립트
current - 팔로우 다음과 같은 경우 기본이 손상됩니다. - 팔로우 옵션이 작동하도록 지정되었습니다.
방법입니다.
이후 -엘 옵션은 모든 심볼릭 링크를 해결하고 -타입 l 기본은 참입니다
심볼릭 링크가 해결된 후에도 여전히 존재하는 심볼릭 링크는 다음 명령입니다.
발견 -엘 . -타입 l
확인되지 않는 현재 디렉토리에서 연결할 수 있는 심볼릭 링크 목록을 인쇄합니다.
접근 가능한 파일에.
SVR4의 특징 발견 유틸리티는 -실행 프라이머리 + 터미네이터. 이것은 허용
특수 문자를 포함하는 파일 이름(특히 문자) 그룹화
이러한 파일 이름이 파이프되는 경우 발생하는 문제 없이 함께 xargs. 다른
구현은 이 문제를 해결하기 위한 다른 방법을 추가했습니다. -print0
null 바이트 종결자로 파일 이름을 쓴 기본. 여기까지 고려했지만
채택되지 않았습니다. null 종결자를 사용한다는 것은 처리할 모든 유틸리티가
발견's -print0 출력은 이제 null 종결자를 구문 분석하기 위한 새 옵션을 추가해야 했습니다.
읽고있다.
The "-임원...{}+" 구문은 IEEE PASC 해석 1003.2 #210의 결과입니다.
이것은 IEEE Std 1003.2-1992와 호환되지 않는 변경 사항이라는 점에 유의해야 합니다. 예를 들어,
다음 명령은 모든 파일을 '-' 규칙적인 경우 이름 뒤에
파일 및 '+' 그렇지 않으면:
발견 / -타입 f -실행 에코 {} - ';' -오 -실행 에코 {} + ';'
변경은 이와 같은 사용을 무효화합니다. 비록 이전 표준에서는 이것이
실제로 많은 사람들이 그것을 지원하지 않았고 표준 개발자들은 그것을 느꼈습니다.
이제 이것이 허용되지 않는다고 말하는 것이 좋습니다.
미래 오시는 길
없음.
onworks.net 서비스를 사용하여 온라인에서 findposix 사용