Redefina seu caminho agora com:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Ele não restaurou o PATH completo, mas os utilitários básicos estarão disponíveis novamente.
Veja o que provavelmente aconteceu:
Você tinha uma variável PATH (referida como $ PATH ao ler a partir dela)
Algo como:
$ echo $PATH
/home/durrantm/.rvm/gems/ruby-2.0.0-p247/bin:/home/durrantm/.rvm/gems/ruby-2.0.0-p247@global/bin:/home/durrantm/.rvm/rubies/ruby-2.0.0-p247/bin:/home/durrantm/.rvm/bin:/h
ome/durrantm/.autojump/bin:/usr/local/heroku/bin:/home/durrantm/bin:/home/durrantm/.autojump/bin:/usr/local/heroku/bin:/home/durrantm/.autojump/bin:/usr/local/heroku/bin:
/home/durrantm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/durrantm/.rvm/bin:/home/durrantm/.rvm/bin:/home/durrantm
/.rvm/bin
Você tentou adicionar, mas acidentalmente usou
PATH=PATH:other_dir
em vez de
PATH=$PATH:other_dir
e o resultado foi que seu caminho se tornou
PATH:other_dir
e, em seguida, todos os utilitários como ls e sed não funcionam
Você pode corrigir o conjunto mínimo fazendo
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
que é particularmente útil se um arquivo de ponto de login estiver bagunçando seu PATH
Verifique seus arquivos .bashrc e / ou .bash_profile para quaisquer alterações no PATH.
Como o Greg diz, você também pode simplesmente sair (ou opção mais segura, abrir uma nova janela caso a abertura de uma nova janela seja interrompida!) e então ecoar o $ PATH de uma nova janela.
Por que, quando você tem esses problemas, o cd funciona e o ls não funciona:
- cd é um comando "embutido" que não precisa do seu PATH para encontrar o programa
- O ls é um programa e precisa usar o PATH para descobrir onde ele está.
Você pode ver isso com:
$ builtin ls
-bash: builtin: ls: not a shell builtin
14:47:29 mdurrant C02MH2DQFD58 /Users/mdurrant
$ builtin cd
14:47:31 mdurrant C02MH2DQFD58 /Users/mdurrant
$
Nenhum erro significa que o comando é embutido