Solo estoy tratando de revisar los comandos básicos del terminal. Habiendo dicho eso, ¿cómo creo un archivo de texto usando solo la terminal?
Solo estoy tratando de revisar los comandos básicos del terminal. Habiendo dicho eso, ¿cómo creo un archivo de texto usando solo la terminal?
Respuestas:
No puede usar una terminal para crear un archivo. Puede usar una aplicación que se ejecuta en una terminal. Simplemente invocar cualquier editor no GUI ( emacs -nw
, joe
, nano
, vi
, vim
, ...).
Si quisiste usar la línea de comando, entonces estás preguntando cómo crear un archivo usando el shell. Consulte ¿Cuál es la diferencia exacta entre un 'terminal', un 'shell', un 'tty' y una 'consola'?
La forma básica de crear un archivo con el shell es con la redirección de salida . Por ejemplo, el siguiente comando crea un archivo llamado que foo.txt
contiene la líneaHello, world.
echo 'Hello, world.' >foo.txt
Si desea escribir varias líneas, aquí hay algunas posibilidades. Puedes usar printf
.
printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt
Puede usar un literal de cadena que contenga nuevas líneas.
echo 'First line.
Second line.
Third line.' >foo.txt
o
echo $'First line.\nSecond line.\nThird line.' >foo.txt
Otra posibilidad es agrupar comandos.
{
echo 'First line.'
echo 'Second line.'
echo 'Third line.'
} >foo.txt
En la línea de comando, puede hacer esto más directamente con cat
. Redireccione su salida al archivo y escriba la entrada línea por línea en cat
la entrada estándar. Presione Ctrl+ Dal comienzo de la línea para indicar el final de la entrada.
$ cat> foo.txt Primera línea. Segunda linea. Tercera linea. Ctrl+D
En un script, usaría un documento here para lograr el mismo efecto:
cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF
Si solo desea crear un archivo vacío, puede usar el touch
comando: crea el archivo si no existe, y solo actualiza su fecha de última modificación si existe.
touch foo.txt
Equivalentemente:
>>foo.txt
es decir, abierto foo.txt
para agregar, pero escribir 0 bytes en él; esto crea el archivo pero no lo modifica. A diferencia touch
, esto no actualiza la fecha de última modificación del archivo si ya existía.
Para crear un archivo vacío y eliminar el contenido del archivo si el archivo ya existía, puede usar
>foo.txt
touch ~/Desktop/something.txt
Esto creará un txt
archivo vacío .
O
echo "Hello" > ~/Desktop/somethingelse.txt
Esto creará un txt
archivo que dice "Hola".
nano ~/Desktop/anotherfile.txt
Esto abrirá ~/Desktop/anotherfile.txt
en nano
, o si no existe, se creará y abrirlo en nano
.
Lo mismo se puede hacer simplemente reemplazando nano
con emacs
o vim
y usará emacs
o en vim
lugar denano
cat
con <<
y mencionar >>
.
<<
y >>
se discuten en ¿Cuáles son los operadores de control y redirección de shell?
Todo lo que se necesita para crear un archivo vacío es:
> my.txt
:> my.txt
se necesita. :
Es un comando vacío.
Puede usar el programa de edición nano, vi o emacs para crear archivos a nivel de terminal. Si está utilizando el sistema x windows, deberá decirle a su sistema que no use el programa en la GUI; pero de todos modos, usaré emacs como ejemplo.
De la fiesta; 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.
tenga en cuenta que todo el sistema VI de UNIX viene con él; emacs no, tendrás que instalar emacs. Nano por otro lado es más popular; en caso de que si eso no responde, significa que cuando "nano filename.ext" y no pasa nada, deberá instalarlo.
una vez que emita vi filename.txt, lo más probable es que termine creando un nuevo archivo. Debería buscar vi, emacs o nano cómo usar en google antes de comenzar. Cómo escribir un archivo, editarlo, usar sus herramientas para buscar y reemplazar texto es diferente en esos programas de edición. Me gustan los emacs de todas las opciones, pero encontrarás desarrolladores que están obsesionados con vi y nano.
Algo útil cuando está atascado y debe crear un archivo de texto multilínea en la línea de comando es algo como esto:
# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile
This "should"
prove useful, 'maybe'.
Puede sustituir cat
por otro comando, por ejemplo, grep
y un patrón , y hacer que grep haga su trabajo en su entrada y esto generará un archivo de la misma manera.