Só estou tentando revisar comandos básicos do terminal. Dito isto, como faço para criar um arquivo de texto usando apenas o terminal?
Só estou tentando revisar comandos básicos do terminal. Dito isto, como faço para criar um arquivo de texto usando apenas o terminal?
Respostas:
Você não pode usar um terminal para criar um arquivo. Você pode usar um aplicativo em execução em um terminal. Apenas invocar qualquer editor não-GUI ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Se você quis dizer usar a linha de comando, está perguntando como criar um arquivo usando o shell. Consulte Qual é a diferença exata entre um 'terminal', um 'shell', um 'tty' e um 'console'?
A maneira básica de criar um arquivo com o shell é com o redirecionamento de saída . Por exemplo, o comando a seguir cria um arquivo chamado foo.txt
contendo a linhaHello, world.
echo 'Hello, world.' >foo.txt
Se você deseja escrever várias linhas, aqui estão algumas possibilidades. Você pode usar printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Você pode usar uma string literal contendo novas linhas.
echo 'First line.
Second line.
Third line.' >foo.txt
ou
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Outra possibilidade é agrupar comandos.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
Na linha de comando, você pode fazer isso mais diretamente com cat
. Redirecione sua saída para o arquivo e digite a linha de entrada por linha na cat
entrada padrão da. Pressione Ctrl+ Dno início da linha para indicar o final da entrada.
$ cat> foo.txt Primeira linha. Segunda linha. Terceira linha. Ctrl+D
Em um script, você usaria um documento aqui para obter o mesmo efeito:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Se você apenas deseja criar um arquivo vazio, pode usar o touch
comando: ele cria o arquivo se ele não existir e atualiza sua data da última modificação, se existir.
touch foo.txt
Equivalentemente:
>>foo.txt
ou seja, aberto foo.txt
para anexar, mas escreva 0 bytes para ele - isso cria o arquivo, mas não o modifica. Ao contrário touch
, isso não atualiza a data da última modificação do arquivo, se ele já existir.
Para criar um arquivo vazio e remover o conteúdo do arquivo, se o arquivo já existir, você pode usar
>foo.txt
touch ~/Desktop/something.txt
Isso criará um txt
arquivo vazio .
Ou
echo "Hello" > ~/Desktop/somethingelse.txt
Isso criará um txt
arquivo dizendo "Olá".
nano ~/Desktop/anotherfile.txt
Isto irá abrir ~/Desktop/anotherfile.txt
em nano
, ou se não existir, ele irá criá-lo e abri-lo no nano
.
O mesmo pode ser feito simplesmente substituindo nano
por emacs
ou vim
e ele usará emacs
ou em vim
vez denano
cat
com <<
, e mencionar >>
.
<<
e >>
são discutidos em Quais são os operadores de controle e redirecionamento do shell?
Tudo o que é necessário para criar um arquivo vazio é:
> my.txt
:> my.txt
é necessário. :
é um comando vazio.
Você pode usar o programa de edição nano, vi ou emacs para criar arquivos no nível do terminal. Se você estiver usando o sistema x windows, precisará informar ao seu sistema para não usar o programa na GUI; de qualquer forma, usarei o emacs como exemplo.
Da festança; tipo:
emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever
directory type in "emacs filename.txt" command.
tenha em mente que todo o sistema UNIX VI vem com ele; O emacs não, você precisará instalar o emacs. Nano, por outro lado, é mais popular; caso isso não responda, significa "nano filename.ext" e nada acontece, você precisará instalá-lo.
depois de emitir o vi filename.txt, você provavelmente criará um novo arquivo. Você deve procurar no vi, emacs ou nano como usar no google antes de começar. Como escrever um arquivo, editá-lo, usar suas ferramentas para pesquisar e substituir texto é diferente nesses programas de edição. Eu gosto do emacs de todas as opções, mas você encontrará desenvolvedores que são obcecados ou favorecem o vi e o nano
Algo útil quando você está parado e precisa criar um arquivo de texto com várias linhas na linha de comando é algo como isto:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Você pode substituir cat
por outro comando, por exemplo, grep
e um padrão , e fazer com que o grep faça seu trabalho em sua entrada, o que resultaria em arquivo da mesma maneira.