Tenho aprendido sozinho a linha de comando do Linux através de um livro em PDF, e depois que o autor explica como usar cat
e >
criar um arquivo de texto, ele diz:
Vemos que o resultado é o mesmo que passar um único argumento de nome de arquivo.
e eu realmente não sei o que ele quer dizer, apesar de não ter pulado nenhuma parte do livro. Ele está apenas falando sobre colocar argumentos no terminal? Se for esse o caso, ainda não sei o que ele quer dizer.
EDITAR
aqui está o parágrafo inteiro:
Usando o operador de redirecionamento “<”, alteramos a fonte da entrada padrão do teclado para o arquivo lazy_dog.txt. Vemos que o resultado é o mesmo que passar um único argumento de nome de arquivo. Isto não é particularmente útil comparado a passar um argumento de nome de arquivo, mas serve para demonstrar o uso de um arquivo como fonte de entrada padrão.
Responder1
Você deve passar (argumentos)
"Passando um argumento" significa adicionar um parâmetro após um comando específico. O programa iniciado por esse comando se comportará de acordo.
Por exemplo, o comando "CP"é usado para copiar um arquivo e requer dois argumentos. Em primeiro lugar, oARQUIVO FONTEe em segundo lugar oARQUIVO DE DESTINO (ou diretório de destino). Observe que a ordem da sintaxe é muito importante aqui.
cp <SOURCE FILE> <DESTINATION FILE>
Vamos supor que você queira copiar "arquivo.txt" para "copy_of_file.txt". Você deve executar o comando:
cp file.txt copy_of_file.txt
Ele criará um novo arquivo, no mesmo diretório (o diretório a partir do qual você executou o comando, onde está o arquivo fonte "arquivo.txt" deveria estar)
AmbosARQUIVO FONTEeARQUIVO DE DESTINOsão argumentos passados para o comando "cp".
Precisa de alguma ajuda ?
Se você quiser saber quais ou quantos argumentos um comando precisa, ou quais argumentos opcionais ele aceita, você pode fazer:
<command> --help
por exemplo:
cp --help
ou
cat --help
Ele exibirá "Como usar seu comando" em seu terminal.
A curiosidade não matará ogato
Vamos dar uma olhada nocomando gato. Se você corrergatocom um único argumento, digamos um arquivo de texto:
cat my_file.txt
Ele exibirá o conteúdo desse arquivo no terminal.
Se você executar cat com dois argumentos, ele exibirá o conteúdo de ambos os arquivos:
cat my_first_file.txt my_second_file.txt
O operador de redirecionamento ">"
Agora, o > (operador de redirecionamento) parece um pouco mais complexo, mas na verdade é muito simples.
É um redirecionamento. Você deve observar tudo o que seu terminal exibe como saída de um comando. A saída geralmente vai para o terminal. Se você executar:
cat my_file.txt
O comando é 'gato', o argumento é "meu_arquivo" e a saída é ocontentedesse arquivo. A saída vai para o terminal. Bem, quando você usa o operador de redirecionamento ">", que requer um argumento, o que você realmente faz é redirecionar a saída para outro destino. Então, o que acontece quando você corre
cat my_file.txt > new_file.txt
é que em vez de exibir o conteúdo do arquivo em seu terminal, ele será gravado em um arquivo, "new_file.txt".
Láéduas maneiras sobre isso.
Então, basicamente, o resultado de
cat my_file.txt > copy.txt
e
cp my_file.txt > copy.txt
são iguais: você cria um novo arquivo de texto, com o conteúdo de outro. Mas o processo é muito diferente.
Uma última coisa :
> file.txt
enquanto cria um arquivo vazio (você redireciona... nada para file.txt, então está vazio. Bastante óbvio, não é?)
Sem mais contexto, não tenho certeza do que os autores querem dizer, mas espero que isso ajude. Boa sorte em aprender Unix, é um pouco difícil no começo, mas termina muito divertido.
EDITAR 1:
Quase esqueci de responder:
"passar um argumento de nome de arquivo" significa passar um argumento, e esse argumento deve ser um nome de arquivo, portanto, o nome de um arquivo, digamos "arquivo.txt". Também poderia ser o caminho completo para o arquivo, algo como:
/home/user/Documents/file.txt