Saya mengikuti Tip Alat Unix di Twitter dan menarik bahwa banyak tips yang diposting tidak tersedia di OS X.
Sebagai contoh:
cp - u hanya akan menyalin file yang tidak ada, atau lebih baru dari rekan yang ada, di direktori tujuan.
Mencoba ini di komputer saya menghasilkan:
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Mengapa opsi ini tidak tersedia dan apakah mungkin untuk mengaksesnya di OS X?
macos
terminal
command-line
DQdlM
sumber
sumber
brew install coreutils findutils gnu-sed gawk
. Lihat apple.stackexchange.com/questions/69223/… .gcp
untuk menghindari kebingungan) tidak tahu cara menyalin metadata kompleks yang dapat dimiliki file OS X (attrs yang diperluas, dll); jadi jika Anda menggunakangcp
file alias, salinannya akan hilang info penting dan tidak akan berfungsi.gcp -R
akan menyalinnya bersama dengan yang lain). Jika maksud Anda._somefilename
, itu file AppleDouble yang digunakan untuk menyimpan metadata (info yang saya bicarakan) pada beberapa jenis volume asing, yang ... rumit ...Jawaban:
Dapatkan homebrew dan minta instal utilitas inti. Anda kemudian dapat melihat apakah versi cp GNU mendukung flag yang Anda inginkan. Ini jawaban yang bagus di situs mitra dan saya akan mengutip langkah-langkah persisnya yang Anda perlukan agar cp digantikan oleh versi GNU jika Anda mau:
Inilah homebrew - http://mxcl.github.com/homebrew/
Inilah cerita panjangnya - /superuser/476575/replace-os-xs-shell-commands-with-the-linux-versions/ 476594 # 476594
Contoh dari lingkungan seperti itu adalah [Homebrew] ( http://mxcl.github.com/homebrew/ ) yang misalnya memiliki GNU
sed
. Setelah menginstal Homebrew, Anda dapat mengetikdan instal GNU Coreutils . Ini akan memberikan Anda dengan
sed
,date
,printf
,wc
dan banyak alat lainnya yang kapal dengan GNU / Linux, tapi tidak OS X. Namun, agar tidak "override" default OS X binari, mereka akan diawali dengang
secara default. Jadi, setelah menginstal Coreutils, jika Anda ingin menggunakan GNU, ketikkanJika ini terlalu merepotkan untuk diketik setiap waktu, Anda dapat menambahkan direktori "gnubin" ke PATH Anda dan cukup panggil GNU dengan
sed
. Anda perlu menambahkan yang berikut ini ke~/.bash_profile
:sumber
port
?Alasannya adalah bahwa OSX menggunakan alat baris perintah BSD dan pengguna ujung alat Unix mungkin menggunakan Linux yang menggunakan alat baris perintah GNU.
Anda dapat menginstal alat GNU di OSX (dan BSD di Linux).
Cara termudah adalah dengan menggunakan manajer paket seperti Macports, Homebrew atau Fink
sumber