Bash ls
ls
es un comando en sistemas operativos similares a Unix para listar el contenido de un directorio, por ejemplo, nombres de carpetas y archivos.
Uso
cat [options] [file_names]
Opciones más utilizadas:
-a
, todos los archivos y carpetas, incluidos los que están ocultos y comienzan con un.
-l
, lista todos los archivos en formato largo-G
, habilitar salida coloreada
Ejemplo:
Listar archivos en freeCodeCamp/guide/
Después de clonar el repositorio principal de freeCodeCamp, aquí está el resultado después de ejecutarlo ls
en el freeCodeCamp
directorio:
api-server docker-compose.yml public change_volumes_owner.sh Dockerfile.tests README.md client docs sample.env CODE_OF_CONDUCT.md HoF.md search-indexing config lerna.json SECURITY.md CONTRIBUTING.md LICENSE.md server curriculum node_modules tools docker-compose-shared.yml package.json utils docker-compose.tests.yml package-lock.json
Más comandos de bash
Cabeza de golpe
head
se utiliza para imprimir las primeras diez líneas (por defecto) o cualquier otra cantidad especificada de un archivo o archivos. cat
, por otro lado, se utiliza para leer un archivo secuencialmente e imprimirlo en la salida estándar (es decir, imprime todo el contenido del archivo).
Sin embargo, eso no siempre es necesario; quizás solo desee verificar el contenido de un archivo para ver si es el correcto, o verificar que no esté vacío. El head
comando le permite ver las primeras N líneas de un archivo.
Si se llama a más de un archivo, se muestran las primeras diez líneas de cada archivo, a menos que se especifique un número específico de líneas. La elección de mostrar el encabezado del archivo es opcional mediante la opción siguiente.
Uso
head [options] [file_name(s)]
Opciones más utilizadas:
-n N
, imprime las primeras N líneas del archivo (s)-q
, no imprime los encabezados del archivo-v
, siempre imprime los encabezados de los archivos
Ejemplo
head file.txt
Imprime las primeras diez líneas de file.txt (predeterminado)
head -n 7 file.txt
Imprime las primeras siete líneas de file.txt
head -q -n 5 file1.txt file2.txt
Imprime las primeras 5 líneas de file1.txt, seguidas de las primeras 5 líneas de file2.txt
Bash mv
Este comando bash mueve archivos y carpetas.
mv source target mv source ... directory
El primer argumento es el archivo que desea mover y el segundo es la ubicación a la que moverlo.
Opciones de uso común:
-f
para forzar a moverlos y sobrescribir archivos sin consultar con el usuario.-i
para solicitar confirmación antes de sobrescribir archivos.
Bash Cat
cat
es uno de los comandos más utilizados en los sistemas operativos Unix.
cat
se utiliza para leer un archivo secuencialmente e imprimirlo en la salida estándar. El nombre proviene de la forma en que se puede estafar gato archivos enates.
Uso
cat [options] [file_names]
Opciones más utilizadas:
-b
, número de líneas de salida que no están en blanco-n
, numere todas las líneas de salida-s
, aprieta varias líneas en blanco adyacentes-v
, muestra caracteres no imprimibles, excepto las pestañas y el carácter de final de línea
Ejemplo
Imprima el contenido de file.txt:
cat file.txt
Concatenar el contenido de los dos archivos y mostrar el resultado en la terminal:
cat file1.txt file2.txt
Más información sobre Bash:
¿Qué es Bash?
Bash (abreviatura de Bourne Again SHell) es un shell de Unix y un intérprete de lenguaje de comandos. Un shell es simplemente un macroprocesador que ejecuta comandos. Es el shell más utilizado empaquetado por defecto para la mayoría de las distribuciones de Linux y un sucesor del shell Korn (ksh) y el shell C (csh).
Muchas cosas que se pueden hacer en la GUI de un sistema operativo Linux se pueden hacer a través de la línea de comandos. Algunos ejemplos son:
- Editando archivos
- Ajustar el volumen del sistema operativo
- Obtener páginas web de Internet
- Automatizando el trabajo que haces todos los días
Puede leer más sobre bash aquí, a través de la documentación GNU y a través de la guía tldp.
Usando bash en la línea de comando (Linux, OS X)
Puede comenzar a usar bash en la mayoría de los sistemas operativos Linux y OS X abriendo una terminal. Consideremos un ejemplo simple de hola mundo. Abra su terminal y escriba la siguiente línea (todo después del signo $):
zach@marigold:~$ echo "Hello world!" Hello world!
Como puede ver, usamos el comando echo para imprimir la cadena "¡Hola mundo!" a la terminal.
Escribir un script de bash
También puede poner todos sus comandos bash en un archivo .sh y ejecutarlos desde la línea de comandos. Supongamos que tiene un script bash con el siguiente contenido:
#!/bin/bash echo "Hello world!"
Este script solo tiene dos líneas. El primero indica qué intérprete utilizar para ejecutar el archivo (en este caso, bash). La segunda línea es el comando que queremos usar, echo
seguido de lo que queremos imprimir, aquí, "¡Hola mundo!"
It’s worth noting that first line of the script starts with #!
. It is a special directive which Unix treats differently.
Why did we use #!/bin/bash at the beginning of the script file?
That is because it is a convention to let the interactive shell know what kind of interpreter to run for the program that follows.
The first line tells the operating system that the file should be executed by the program at /bin/bash
, the standard location of the Bourne shell on almost every Unix or Unix-like system. By adding #!/bin/bash
at the beginning of the script, it tells the OS to use the shell at that specific path to execute all the following commands in the script.
#!
goes by many names such as "hash-bang", "she-bang", "sha-bang", or "crunch-bang". Note that this first line is only considered if the script is an executable.
For example, if myBashScript.sh
is executable, the command ./myBashScript.sh
will cause the OS will look at the first line figure out which interpreter to use. In this case it would be #!/bin/bash
.
On the other hand, if you run bash myBashScript.sh
, then the first line is ignored since the OS already knows to use bash.
To make myBashScript.sh
executable, simply run sudo chmod +x myBashScript.sh
. Then run the following command to execute the script:
zach@marigold:~$ ./myBashScript.sh Hello world!
Sometimes the script won’t be executed, and the above command will return an error. It is due to the permissions set on the file. To avoid that, use:
zach@marigold:~$ chmod u+x myBashScript.sh
And then execute the script.