Eu sigo a Dica da ferramenta Unix no Twitter e é interessante que muitas das dicas publicadas não estejam disponíveis no OS X.
Por exemplo:
O cp - u copiará apenas os arquivos que não existem ou são mais recentes que os correspondentes existentes no diretório de destino.
Tentar isso na minha máquina resulta em:
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
Por que essas opções não estão disponíveis e é possível obter acesso a elas no OS X?
macos
terminal
command-line
DQdlM
fonte
fonte
brew install coreutils findutils gnu-sed gawk
. Consulte apple.stackexchange.com/questions/69223/… .gcp
para evitar confusão) não sabe como copiar os metadados complexos que os arquivos do OS X podem ter (atributos estendidos, etc); portanto, se você usargcp
um arquivo de alias, a cópia terá informações críticas ausentes e não funcionará.gcp -R
o copiará junto com todo o resto). Se você quer dizer._somefilename
, que é um arquivo AppleDouble usado para armazenar metadados (a informação que eu estou falando) em alguns tipos de volumes estrangeiros, o que é ... complicado ...Respostas:
Obtenha o homebrew e instale os principais utilitários. Você pode ver se a versão GNU do cp suporta os sinalizadores que você deseja. Aqui está uma boa resposta em um site parceiro e trechos das etapas exatas necessárias para que o cp seja substituído pela versão GNU, se você desejar:
Aqui está o homebrew - http://mxcl.github.com/homebrew/
Aqui está a longa história - /superuser/476575/replace-os-xs-shell-commands-with-the-linux-versions/ 476594 # 476594
Um exemplo desse ambiente é o [Homebrew] ( http://mxcl.github.com/homebrew/ ) que, por exemplo, possui o GNU
sed
entre outras coisas. Depois de instalar o Homebrew, você pode digitare instale o GNU Coreutils . Estes irão fornecer-lhe
sed
,date
,printf
,wc
e muitas outras ferramentas que vêm com o GNU / Linux, mas não OS X. No entanto, de modo a não "substituição" binários OS padrão X, eles serão prefixados comg
por padrão. Então, depois de instalar o Coreutils, se você quiser usar o GNU sed, digiteSe isso é muito complicado de digitar toda vez, você pode adicionar um diretório "gnubin" ao seu PATH e apenas chamar o GNU sed com
sed
. Você precisará adicionar o seguinte ao seu~/.bash_profile
:fonte
port
?A razão é que o OSX usa as ferramentas de linha de comando BSD e os usuários das dicas de ferramentas do Unix provavelmente estão usando o Linux, que usa as ferramentas de linha de comando GNU.
Você pode instalar ferramentas GNU no OSX (e BSD no Linux).
A maneira mais fácil é usar um gerenciador de pacotes como Macports, Homebrew ou Fink
fonte