Você pode montar um local no Linux como um símbolo (ou seja,.!)

1

Eu tenho uma maneira muito estranha que eu gosto de gerenciar meus arquivos de log de servidores. Eu gosto de usar um terminal com o comando "Cat" para assistir meu servidor, percorrendo despejos de log do servidor.

Minha pergunta Posso montar um símbolo como! como um diretório.

Eu sei que você pode fazer cd ~ para fazer o terminal funcionar em /home/USER/

existe uma maneira que eu posso fazer cd ! para acessar um diretório como /Home/USER/SERVER/#/Dump em vez de fazer cd /home/USER/SERVER/#/Dump ou fazer cd ~/SERVER/#/Dump

Obrigado pela leitura!

    
por 9291Sam 22.12.2016 / 00:56

3 respostas

3

Eu recomendo que você use um alias para essa tarefa. Os aliases são armazenados no arquivo .bashrc em seu diretório inicial. Com o comando

echo "alias cdump='cd /home/USER/SERVER/#/Dump'" >> ~/.bashrc

você pode adicionar um alias ao seu .bashrc. Você pode então alterar o diretório de trabalho para o desejado apenas digitando cdump no terminal. Mas você precisa reiniciar o terminal para tornar as alterações utilizáveis.

E tenha cuidado ao usar >> , pois um único > substituiria todo o .bashrc !!

    
por Julian Berger 22.12.2016 / 01:31
0

Sim, você pode montar um sistema de arquivos em qualquer nome de diretório legal, incluindo diretórios cujos nomes são um único símbolo. No entanto, a especificação de símbolos como nomes de arquivos pode ser desajeitada usando a maioria das shells, já que você precisa escapar com uma barra invertida. Para responder a pergunta específica pedida, monte para um!, Por exemplo:

$ cd /
$ sudo mkdir \!
$ sudo mount -t proc proc ./\!

O acima faz o diretório /! outro sistema de arquivos proc no seu computador. Você precisaria escapar do símbolo novamente quando se referir a ele fazendo

$ cd /\!

Você precisa escapar dos símbolos ! # & amp; da maneira acima. Você não precisa escapar dos símbolos ^, @ $% mas eu tomaria cuidado ao usar alguns deles.

Você não pode mudar diretórios para ele diretamente, embora, como você pode com o cd ~, fazer diretamente no seu diretório pessoal. O símbolo ~ é um atalho no shell, não algo especial no sistema operacional. Mesmo se você colocar o diretório fora do seu diretório raiz, você ainda precisa usar o / para chegar a ele de qualquer lugar, como em:

$ cd /^

Para fazer o que você realmente quer, existe uma maneira, mas você perde a capacidade de acessar rapidamente o seu diretório pessoal. Você pode usar o símbolo ~. Se eu fizer isso:

$ mkdir /some/path/to/mountpoint
$ mount something /some/path/to/mountpoint
$ export HOME=/some/path/to/mountpoint

então, se eu usar "cd ~", ele me levará ao ponto de montagem em vez do meu diretório pessoal. Você precisaria ter cuidado ao fazer isso, no entanto, como determinados scripts podem depender de ~ referindo-se ao seu diretório pessoal real.

    
por Kurt Fitzner 22.12.2016 / 01:57
0

A minha preferência (é tudo individual neste mundo) seria editar ~/.bashrc e adicionar manualmente estas linhas:

# change directory aliases, cdd for AU question
alias cdd='cd /home/'$USER'/SERVER/#/Dump'
alias cdh='cd /home/'$USER
alias cdm='cd /media/'$USER'/ST9_Win7/Users/Person/Music/iTunes/'"iTunes Media"'/Music'
  • O primeiro alias é para sua pergunta - cdd = change directory dump.
  • O segundo alias é útil para todos - cdh = alterar o diretório / home / user. Til ( ~ ) é tão difícil de digitar para mim.
  • O último apelido é para mim mesmo - cdm = alterar para o diretório de músicas. A música é armazenada em uma partição do Windows e aninhada tão profundamente que é doloroso navegar lá.

Mais tarde, adicionarei mais aliases de cd. Por exemplo, cd /var/log seria abreviado para o alias cdv .

Eu gosto de perguntas como a sua que levam a respostas que eu posso usar. Obrigado :)

    
por WinEunuuchs2Unix 22.12.2016 / 02:53