Śledzę Unix Tool Tip na Twitterze i interesujące jest to, że wiele opublikowanych porad nie jest dostępnych w systemie OS X.
Na przykład:
cp - u skopiuje tylko pliki, które nie istnieją lub są nowsze niż ich odpowiedniki, w katalogu docelowym.
Wypróbowanie tego na moim komputerze powoduje:
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
Dlaczego te opcje nie są dostępne i czy można uzyskać do nich dostęp w systemie OS X?
macos
terminal
command-line
DQdlM
źródło
źródło
brew install coreutils findutils gnu-sed gawk
. Zobacz apple.stackexchange.com/questions/69223/… .gcp
celu uniknięcia pomyłek) nie wie, jak skopiować złożone metadane, które mogą mieć pliki OS X (rozszerzone attrs itp.); więc jeśli użyjeszgcp
pliku aliasu, kopia będzie pozbawiona kluczowych informacji i nie będzie działać.gcp -R
skopiuję to wraz ze wszystkim innym). Jeśli masz na myśli._somefilename
, to plik AppleDouble służący do przechowywania metadanych (informacji, o których mówię) w niektórych rodzajach obcych woluminów, co jest ... skomplikowane ...Odpowiedzi:
Pobierz homebrew i zainstaluj podstawowe narzędzia. Następnie możesz sprawdzić, czy wersja cp GNU obsługuje żądane flagi. Oto dobra odpowiedź na stronie partnerskiej, a jeśli chcesz, wypiszę dokładne kroki, które musisz zastąpić cp wersją GNU:
Oto homebrew - http://mxcl.github.com/homebrew/
Oto długa historia - /superuser/476575/replace-os-xs-shell-commands-with-the-linux-versions/ 476594 # 476594
Przykładem takiego środowiska jest [Homebrew] ( http://mxcl.github.com/homebrew/ ), który na przykład ma
sed
między innymi GNU . Po zainstalowaniu Homebrew możesz pisaći zainstaluj GNU Coreutils . Będą one zapewnić Państwu
sed
,date
,printf
,wc
oraz wiele innych narzędzi, które są dostarczane z systemu GNU / Linux, lecz nie OS X. Jednak, tak aby nie „Zastąp” default OS X binaria, będą one prefiksemg
domyślnie. Więc po zainstalowaniu Coreutils, jeśli chcesz używać GNU sed, wpiszJeśli jest to zbyt kłopotliwe do wpisywania za każdym razem, możesz dodać katalog „gnubin” do PATH i po prostu wywołać GNU sed
sed
. Musisz dodać do swojego~/.bash_profile
:źródło
port
?Powodem jest to, że OSX używa narzędzi wiersza poleceń BSD, a użytkownicy podpowiedzi Uniksa prawdopodobnie używają Linuksa, który używa narzędzi wiersza poleceń GNU.
Możesz zainstalować narzędzia GNU na OSX (i BSD na Linux).
Najprostszym sposobem jest użycie menedżera pakietów, takiego jak Macports, Homebrew lub Fink
źródło