Ketika melakukan suatu ls
dalam direktori saya mendapatkan output berikut:
drwxr-xr-x@ 12 xonic staff 408 22 Jun 19:00 .
drwxr-xr-x 9 xonic staff 306 22 Jun 19:42 ..
-rwxrwxrwx@ 1 xonic staff 6148 25 Mai 23:04 .DS_Store
-rw-r--r--@ 1 xonic staff 17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@ 1 xonic staff 3843 21 Jun 21:20 filmStrip.h
Saya bertanya-tanya apa @
artinya.
macos
permissions
ls
xon1c
sumber
sumber
xattr -r -d com.apple.TextEncoding *
mungkin akan menghapusnya jika file teksnya, seperti header C ++ atau file sumber, dibuat secara lokal. Jika Anda mengunduhnya, makaxattr -r -d com.apple.quarantine *
kemungkinan akan menghapusnya, sehingga Anda dapat melakukan hal-hal seperti mengedit Makefile. Untuk beberapa alasan, Apple tidak memungkinkan Anda untuk mengedit Makefile, tetapi tidak memungkinkan Anda untuk menjalankan Makefile, dengancom.apple.quarantine
. Go figure ...Jawaban:
Ini menunjukkan bahwa file tersebut memiliki atribut yang diperluas. Gunakan
ls -l@
untuk melihatnya.Anda dapat menggunakan
xattr
untuk mengedit atribut ini.xattr -h
akan memberi Anda bantuan sebaris untuk itu.sumber
Dari atas kepala saya, saya pikir ada hubungannya dengan file yang memiliki atribut tambahan yang tersedia. Berikut tautan ke diskusi serupa:
http://discussions.apple.com/thread.jspa?messageID=5791060
Jadi jika Anda melihat file dengan "@" ketika Anda melakukan ls, coba lakukan ini:
Itu akan menunjukkan kepada Anda atribut yang diperluas.
Anda dapat memeriksa bantuan xattr untuk lebih jelasnya:
Sepertinya jika Anda melihat atribut tambahan dengan "-l" dan kemudian menghapusnya dengan "-d" itu mungkin akan melakukan apa yang Anda inginkan. Praktekkan ini dalam direktori sementara di suatu tempat terlebih dahulu dan pastikan itu berfungsi;)
sumber
Dari halaman manual ls (1) di Mac OS 10.6.1:
Jika file atau direktori memiliki atribut yang diperluas, bidang izin yang dicetak oleh opsi -l diikuti oleh karakter '@'. Jika tidak, jika file atau direktori telah memperluas informasi keamanan (seperti daftar kontrol akses), bidang izin yang dicetak oleh opsi -l diikuti oleh karakter '+'.
Dari daftar opsi yang tersedia:
Ini akan memungkinkan Anda melihat nilai dari opsi yang diperluas itu. FWIW, info ACL dapat diatur menggunakan utilitas chmod (1) yang sama yang mungkin sudah Anda sadari. :-)
Tampaknya tidak ada cara mudah dari baris perintah untuk melakukan apa pun dengan atribut yang diperluas.
sumber
xattr -h
akan mencetak bantuan internalnya.xattr
sekarang memiliki halaman manual, dan Anda dapat menggunakanxattr -l file
untuk membuat daftar semua atribut atauxattr -p attribute_name file
untuk mencetak atribut tertentu.Dari halaman manual untuk ls :
Menggunakan:
untuk informasi lebih lanjut tentang file atau direktori dengan atribut / informasi tersebut.
sumber
Ini terkait dengan atribut yang diperluas dan kontrol akses.
Dari halaman manual matahari ls :
sumber
"@" Berarti bahwa file tersebut memiliki "atribut diperluas" yang terkait dengannya.
Jika Anda melakukan "
ls -@ -l
", Anda dapat melihat atribut apa yang ada untuk setiap file. Anda juga dapat melakukan sesuatu seperti "xattr -l pgsql.so
" untuk membuang atribut untuk file tertentu.Biasanya itu hal-hal seperti FinderIn sekolah lama, info penyandian teks, atau info "karantina" yang memberi Anda "File ini diunduh dari web, Anda yakin ingin membukanya?" peringatan.
sumber
Dari halaman manual dari
ls
:sumber