Como acessar um arquivo de texto de qualquer lugar no terminal [duplicado]

4

Eu tenho dois arquivos. file1 é executável e file2 é apenas um arquivo de texto e eu os uso com frequência, mas tenho que fazer cd toda vez para acessar o diretório.

Como posso fazer com que file1 seja universalmente executável no terminal e como acessar o conteúdo de file2 independentemente da minha localização no terminal. É possível adicionar conteúdo de file2 em man page para que eu possa fazer apenas man file2 .

Acho que isso pode ser feito usando /etc/environment , mas quero conhecer o método adequado para fazer isso.

    
por Rahul 03.12.2016 / 08:23

3 respostas

2

Eu resolvi isso usando o link fornecido pelo @Zanna.

Para o arquivo1:

sudo ln -s /full/path/to/my/file1 /usr/local/bin/name_of_new_command

E para o arquivo2 eu escrevi uma função em ~/.bashrc file as,

file2 () {
 pwd=$PWD
 cd /full/path/to/my/file2_directory
 if [ "" == "more" ] || [ "" == "less" ]; then
     file2
    cd $pwd
 else
     file2 &
    cd $pwd
 fi 
}

Dessa forma, posso abrir o arquivo2 em less , more , gedit ou qualquer outro editor passando um argumento extra como:

file2 less
file2 more
file2 gedit
    
por Rahul 03.12.2016 / 08:55
2
A variável de ambiente

PATH é para esse propósito. Adicionar diretórios contêm file1 e file2 para PATH, então você pode acessar apenas pelo nome do arquivo.

Para adicionar a variável de ambiente /opt/myapp to PATH ao diretório use isto:

PATH=/opt/myapp:"$PATH"

Você pode adicionar o comando acima a ~/.bashrc para alteração permanente. Execute source .bashrc para recarregar .bashrc para o terminal atual.

Outra maneira é criar um link flexível de file1 e files para dentro do diretório /usr/bin .

    
por J.Franks 03.12.2016 / 08:40
2

Você tem a solução de como executar um executável sem digitar o caminho completo já. Então, vou sugerir uma solução para o segundo problema.

Eu acho que você tem um ou apenas alguns arquivos especiais, que você deseja acessar diretamente. Eu sugiro que você os veja com menos (que também é usado para páginas man). Eu também acho que seus arquivos têm nomes diferentes dos programas executáveis. Caso contrário, você deve renomeá-los para evitar confusão. (Por exemplo, é uma má idéia acessar um arquivo chamado sudo com este método.)

Você pode criar um alias e armazenar esse alias no seu arquivo ~ / .bashrc

alias file2='less /path/to/file2'

onde você substitui / path / to / pelo caminho real do diretório.

Executar

file2

e verifique se funciona. Quando funciona, você pode adicionar a linha de comando do alias em seu arquivo ~ / .bashrc próximo aos outros aliases. Executar

source ~/.bashrc

para ativá-lo em janelas de terminal já abertas. Na próxima vez que você fizer login, ele estará disponível para uso.

    
por sudodus 03.12.2016 / 08:56