Como criar um arquivo no Linux a partir da janela do terminal? [fechadas]

449

Qual é a maneira mais fácil de criar um arquivo no terminal Linux?

rafiano
fonte
1
$>newfiletambém pode criar arquivo.
EsmaeelE

Respostas:

577

Dependendo do que você deseja que o arquivo contenha:

  • touch /path/to/file para um arquivo vazio
  • somecommand > /path/to/file para um arquivo que contém a saída de algum comando.

      eg: grep --help > randomtext.txt
          echo "This is some text" > randomtext.txt
    
  • nano /path/to/fileou vi /path/to/file(ou any other editor emacs,gedit etc)
    Abre o arquivo existente para edição ou cria e abre o arquivo vazio para inserir, se ele não existir

Eugen Rieck
fonte
51
também, printf "some long message\nwith newlines\n" > file. Boa sorte a todos.
shellter
1
O UNIX não é um ambiente de linha de comando, mas uma família de sistemas operacionais (muito diferentes). Que dizia: Sim, isso deve funcionar na maioria dos Unices
Eugen Rieck
4
touchfuncionará no UNIX, porque é uma ferramenta padrão. O somecommandexemplo funcionará porque ele usa sintaxe padrão. A nanoamostra pode não funcionar porque um editor chamado nanopode não estar instalado (o nano não é padronizado). O editor padrão é ede pode ser usado no lugar de nano, ou você pode usar $EDITORpara usar o editor de texto padrão configurado pelo usuário ou pelo sistema, se houver um.
21412 Sorpigal
14
Além disso, você pode simplesmente dizer >/path/to/filepara criar um arquivo vazio, mesmo se não tiver touch.
21412 Sorpigal
2
@EugenRieck O que se diz permissão negada
123
122

Use o toque

touch filename
Mariusz Jamro
fonte
92

Crie o arquivo usando cat

$ cat > myfile.txt

Agora, digite o que você quiser no arquivo:

Hello World!

CTRL-D para salvar e sair

rafiano
fonte
Eu prefiro usar o gato, pois oferece uma maneira fácil e conveniente de editar o arquivo imediatamente.
Delali 26/09
Você também não pode digitar nada.
Bing Zhao
Quando tentei cat /etc/systemd/system/sample.service, dizia "não existe esse arquivo ou diretório" em vez de criar um novo arquivo sample.service.
precisa saber é o seguinte
O @TylerH cat /etc/systemd/system/sample.serviceimprime o arquivo no console cat > /etc/systemd/system/sample.serviceredireciona a entrada padrão para o arquivo (é por isso que você precisa fechar a entrada padrão pressionando control-d.
Jerry Jeremiah
40

Existem várias soluções possíveis:

Crie um arquivo vazio

touch file

>file

echo -n > file

printf '' > file

A echoversão funcionará apenas se a sua versão do echosuportar a -nopção de suprimir novas linhas. Esta é uma adição não padrão. Os outros exemplos funcionarão em um shell POSIX.

Crie um arquivo que contenha uma nova linha e nada mais

echo '' > file

printf '\n' > file

Este é um "arquivo de texto" válido porque termina em uma nova linha.

Escreva texto em um arquivo

"$EDITOR" file

echo 'text' > file

cat > file <<END \
text
END

printf 'text\n' > file

Estes são equivalentes. O $EDITORcomando supõe que você tenha um editor de texto interativo definido na variável de ambiente EDITOR e que você insere interativamente texto equivalente. A catversão pressupõe uma nova linha literal após a linha \e após a outra. Fora isso, todos eles funcionarão em um shell POSIX.

Obviamente, existem muitos outros métodos para escrever e criar arquivos também.

sorpigal
fonte
25

Além disso, crie um arquivo vazio:

touch myfile.txt
andreapier
fonte
17

Como criar um arquivo de texto no Linux:

  • Usando touchpara criar um arquivo de texto:$ touch NewFile.txt
  • Usando catpara criar um novo arquivo: $ cat NewFile.txt
    O arquivo é criado, mas está vazio e ainda aguarda a entrada do usuário. Você pode digitar qualquer texto no terminal e, uma vez concluído, o CTRL-D o fechará ou o CTRL-C o escapará.
  • Basta usar >para criar um arquivo de texto:$ > NewFile.txt
  • Por fim, podemos usar qualquer nome de editor de texto e criar o arquivo, como:
    nano MyNewFile vi MyNewFile NameOfTheEditor NewFileName
CIÊNCIA DOS DADOS
fonte
16

haha! é fácil! tente isto:

$ touch filename
Roman Newaza
fonte
1
Como funcionou com o sudo, pude criar um novo arquivo na pasta do sistema.
Patricia
15

Você pode usar o touchcomando, como os outros disseram:

touch filename

Para escrever no arquivo na linha de comando, você pode usar echoou printf:

echo "Foo" > filename
printf "Foo" > filename

Talvez você possa ter problemas com permissões. Se você estiver recebendo o seguinte erro:, bash: filename: Permission deniedé necessário usar sudo bash -c 'echo "Foo" > filename', conforme descrito aqui: /ubuntu/103643/cannot-echo-hello-x-txt-even-with-sudo

user3753202
fonte
14

1º método

echo -n > filename.txt

Segundo método

> filename.txt

Terceiro método

touch filename.txt

Para visualizar o conteúdo do arquivo

vi filename.txt
shashwat gupta
fonte
O método 2 é do tipo-> "> filename.txt"
shashwat gupta
A pergunta não está relacionada ao tópico Estouro de pilha, conforme definido na Central de Ajuda . Por favor, não responda a essas perguntas; em vez disso, você deve sinalizá-los para atenção e eles serão fechados ou migrados adequadamente.
Toby Speight
12

Isso criará um arquivo vazio com o carimbo de data / hora atual

touch filename
Christy George
fonte
10

Simples assim :

> filename

IvanM
fonte
10
touch filename

para permission deniederro, use o sudocomando como:

sudo touch filename
Pradeep Kumar Prabaharan
fonte
6

Eu gosto do editor de linha de comando nano (texto):

nano filename
Sam Perry
fonte
4

Caso vocês estejam tentando criar um novo arquivo, mas ele diz 'File does not exist':, é simplesmente porque você também está acessando um diretório, que ainda não existe. Você deve criar todos os diretórios inexistentes primeiro, usando o mkdir /path/to/dircomando

Sebastian
fonte
0

Para criar um arquivo em branco com propriedade e permissões usando install.

sudo install -v -oUSER -gGROUP -m640 /dev/null newFile.txt
LinuxGuru
fonte
Isso sudoé útil em muitos cenários, mas não faz parte diretamente da resposta à pergunta do OP.
Tripleee
É necessário se você não for o nome de usuário do qual você precisa do arquivo pertencente ou não a um membro do grupo.
LinuxGuru 04/04/19
Sim, existem cenários como o que, no entanto, estritamente não é o que o OP pediu.
Tripleee
0

Uma das maneiras mais fáceis e rápidas

$ vim filename

fonte