나는 스트레스 테스트를 실행 AppleScript 스크립트가 있습니다. 테스트의 일부는 특정 파일을 열고 저장하고 닫는 것입니다. 어쨌든 파일은 파일이 저장되지 못하게하는 “확장 된 속성”을 선택했습니다. 이로 인해 스트레스 테스트가 실패합니다.
확장 된 속성을 제거하려면 어떻게합니까?
답변
xattr
명령을 사용하십시오 . 확장 된 속성을 검사 할 수 있습니다.
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
com.apple.quarantine
-d
옵션을 사용하여 하나의 확장 된 속성을 삭제하십시오.
$ xattr -d com.apple.quarantine s.7z
$ xattr s.7z
com.apple.metadata:kMDItemWhereFroms
-c
옵션을 사용하여 모든 확장 된 속성을 제거 할 수도 있습니다 .
$ xattr -c s.7z
$ xattr s.7z
xattr -h
명령 행 옵션이 표시되며 xattr에는 맨 페이지가 있습니다.
답변
단일 파일에서 단일 속성 제거
Bavarious의 답변을 참조하십시오.
단일 파일에서 모든 확장 된 속성을 제거하려면
플래그 xattr
와 함께 사용 -c
하여 속성을 “지우십시오”.
xattr -c yourfile.txt
많은 파일에서 모든 확장 된 속성을 제거하려면
디렉토리의 모든 파일에서 확장 된 속성을 재귀 적으로 제거하려면 -c
“clear”플래그를 -r
재귀 플래그 와 결합하십시오 .
xattr -rc /path/to/directory
Mac OS X 사용자를위한 팁
공백이나 특수 문자가 포함 된 긴 경로가 있습니까?
를 열고 Terminal.app
입력을 시작 xattr -rc
하고 후행 공백을 포함시킨 다음 파일 또는 폴더를 Terminal.app
창으로 드래그하면 적절한 이스케이프가 포함 된 전체 경로가 자동으로 추가됩니다.
답변
다음을 사용하십시오.
xattr -rd com.apple.quarantine directoryname
이것은 모든 곳에서 성가신 속성을 재귀 적으로 제거합니다.
답변
또 다른 재귀 접근법 :
# change directory to target folder:
cd /Volumes/path/to/folder
# find all things of type "f" (file),
# then pipe "|" each result as an argument (xargs -0)
# to the "xattr -c" command:
find . -type f -print0 | xargs -0 xattr -c
# Sometimes you may have to use a star * instead of the dot.
# The dot just means "here" (whereever your cd'd to
find * -type f -print0 | xargs -0 xattr -c
답변
답변 (개별 파일)
1. 선택에 사용할 쇼케이스 키.
xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.lastuseddate#PS
# com.apple.metadata:kMDItemIsScreenCapture
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
2. 삭제할 키를 선택하십시오.
xattr -d com.apple.lastuseddate#PS ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
xattr -d kMDItemIsScreenCapture ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
3. 키를 다시 보여 주어 키가 제거되었는지 확인하십시오.
xattr -l ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
4. 마지막으로 특정 파일의 모든 키를 제거하십시오.
xattr -c ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
응답 (디렉토리의 모든 파일)
1. 선택에 사용할 쇼케이스 키.
xattr -r ~/Desktop
2. 디렉토리에서 모든 파일에 대한 특정 키 제거
xattr -rd com.apple.FinderInfo ~/Desktop
3. 디렉토리의 모든 파일에서 모든 키를 제거하십시오.
xattr -rc ~/Desktop
경고 : 삭제 한 후에는 다시 가져 오지 마십시오!
오류 : 실행 취소가 없습니다.
오류
사람들이 겪고있는 오류를 해결하고 싶었습니다.
오류가 나에게 견과류를 몰 았기 때문에 …
맥에서 설치하면xattr
파이썬에서 에서 환경에 문제가있을 수 있습니다.
내 Mac에는 두 가지 경로가 있습니다.
xattr
type -a xattr
# xattr is /usr/local/bin/xattr # PYTHON Installed Version
# xattr is /usr/bin/xattr # Mac OSX Installed Version
따라서 -c
xargs에서 작동하지 않는 예제 중 하나 에서 bash에서는 기본적으로 비 Python 버전으로 설정되기 때문입니다.
와 일하다 -c
/usr/bin/xattr -c
작동하지 않습니다 -c
/usr/local/bin/xattr -c
# option -c not recognized
내 쉘 / 터미널의 기본값은 / usr / local / bin / xattr 이며 기본값 $PATH
/usr/local/bin:
은 이전의 것이기 때문 /usr/bin:
입니다.
파이썬을 제거하려고하면 다음을 볼 수 있기 때문에 이것을 증명할 수 있습니다 xattr
.
pip3 uninstall xattr
Uninstalling xattr-0.9.6:
Would remove:
/usr/local/bin/xattr
/usr/local/lib/python3.7/site-packages/xattr-0.9.6.dist-info/*
/usr/local/lib/python3.7/site-packages/xattr/*
Proceed (y/n)?
해결 방법
고치다 option -c not recognized
오류
- 파이썬 제거
xattr
을 .pip3 uninstall xattr
- 모두 닫기
Terminal
창을 닫고 종료Terminal
- 새로운 재개
Terminal
창을 . - 재실행
xattr
명령과 지금은 작동합니다.
또는
파이썬을 유지하려면
xattr
다음을 사용하십시오.
/usr/bin/xattr
의 모든 Shell
명령Terminal
예:
Python 버전은 xattr
이미지를 전혀 처리하지 않습니다.
Good-Mac:~ JayRizzo$ xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# Traceback (most recent call last):
# File "/usr/local/bin/xattr", line 8, in <module>
# sys.exit(main())
# File "/usr/local/lib/python3.7/site-packages/xattr/tool.py", line 196, in main
# attr_value = attr_value.decode('utf-8')
# UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 2: invalid start byte
Good-Mac:~ JayRizzo$ /usr/bin/xattr ~/Desktop/screenshot\ 2019-10-23\ at\ 010212.png
# com.apple.FinderInfo
# com.apple.lastuseddate#PS
# com.apple.metadata:kMDItemIsScreenCapture
# com.apple.metadata:kMDItemScreenCaptureGlobalRect
# com.apple.metadata:kMDItemScreenCaptureType
맨 페이지
참고 : 나는 할 수 없었다 현재 버전 0.9.6에 대한 Python 도움말 페이지를 찾을
읽어 주셔서 감사합니다!