Comando | Descripción |
basename | Muestra el nombre del archivo Al comando basename se le indica una ruta a un archivo y devuelve su nombre sin la ruta. La sintaxis del comando se compone de: basename [OPCIONES] Ruta/al/archivo [SUFIJO] Si en el terminal escribes, por ejemplo, $ basename /home/user/imagen.jpg, obtienes la siguiente respuesta: imagen.jpg Si se añade el sufijo de nuevo, el terminal no lo devuelve, como vemos aquí: Entrada: $ basename /home/user/imagen.jpg .jpg Salida: imagen El comando puede ser ampliado a varios archivos con diferentes opciones. |
cat | Agrupa contenido de varios archivos El comando cat (de concatenate) nace como herramienta para enlazar archivos y puede emplearse como pager para mostrar el contenido de los archivos en el terminal. Escribe cat con la siguiente sintaxis para leer y mostrar un archivo en la salida estándar: cat OPCIONES ARCHIVOS Si incluyes varios archivos, sepáralos mediantes espacios: cat OPCIONES ARCHIVO1 ARCHIVO2 Para concatenar el contenido de varios archivos se utilizan los operadores de redirección >, < y |. Si utilizas el operador “mayor que“ (>), se aúna el contenido de dos archivos en un tercero: cat archivo_1.txt archivo_2.txt > archivo_3.txt |
cmp | Compara archivos a nivel de byte cmp forma parte del paquete diff y, como este, también se utiliza para comparar el contenido de varios archivos aunque, a diferencia de como sucede en diff, aquí el cotejo tiene lugar byte por byte, lo que lo hace especialmente idóneo para archivos binarios. Invoca a cmp según la siguiente sintaxis: cmp [OPCIONES] ARCHIVO1 ARCHIVO2 Si cmp encuentra diferencias, entrega el número de bytes y el de la línea del primer archivo que difiera. |
comm | Compara archivos clasificados por líneas Utiliza el comando comm para comparar por líneas archivos previamente ordenados (con sort, p. ej.). La invocación de este comando se fundamenta en la siguiente estructura sintáctica: comm [OPCIONES] ARCHIVO1 ARCHIVO2 Sin opciones adicionales, el programa genera una salida en tres columnas: la primera contiene todas las líneas que solo aparecen en ARCHIVO1; la segunda, todas las líneas que solo aparecen en ARCHIVO2, y la tercera, todas las líneas que aparecen en ambos archivos. El comando comm soporta tres opciones: -1 = ocultar líneas únicas del ARCHIVO1 -2 = ocultar líneas únicas del ARCHIVO2 -3 = ocultar todas las líneas que aparecen en ambos archivos |
cp | Copia archivos o directorios La orden cp (de copy) se utiliza para copiar archivos o ficheros y sigue la siguiente sintaxis: cp [OPCIONES] ORIGEN DESTINO El elemento ORIGEN es el que se ha de copiar y DESTINO se define a un archivo o un directorio donde se ha de alojar el elemento copiado. Si se define como destino a un archivo que ya existe, el archivo origen reescribe su contenido. También se puede crear un archivo de destino nuevo. Si se han de copiar varios archivos, entonces el destino ha de ser un directorio, del mismo modo que si se copia un directorio. Copiar un archivo de origen en un archivo de destino en el directorio actual: cp [OPCIONES] ORIGEN DESTINO Ejemplo: cp archivo.txt archivo_copia.txt Copiar un archivo del directorio actual en un directorio de destino: cp [OPCIONES] ARCHIVO_ORIGEN DIRECTORIO_DESTINO Ejemplo: cp archivo.txt home/user/documentos/2017 Copiar varios archivos en un directorio: cp [OPCIONES] ARCHIVO_ORIGEN1 ARCHIVO_ORIGEN2 DIRECTORIO_DESTINO Ejemplo: cp archivo.txt archivo.odt home/user/documentos/2017 Copiar un directorio desde el directorio actual en otro directorio diferente: cp DIRECTORIO_ORIGEN DIRECTORIO_DESTINO Ejemplo: cp directorio1 home/user/documentos/2017 Si se tienen que copiar todos los directorios con el contenido completo se deben incluir en el copiado todos los subdirectorios con la opción -R. |
cut | Extrae el contenido de los archivos La orden cut permite extraer el contenido de las líneas de texto de un archivo (log o CSV) por columnas. La sintaxis de este comando es: cut [OPCIONES] ARCHIVO Para indicar la posición exacta del fragmento que se tiene que extraer se utilizan las opciones -b (posición de byte), -c (posición del carácter), -d (carácter de separación) y -f (campo). |
diff | Compara archivos o directorios Con el programa diff se cotejan dos archivos. También permite averiguar si dos directorios contienen los mismos archivos. Se le invoca con esta estructura: diff [OPCIONES] ARCHIVO1 ARCHIVO2 |
dirname | Muestra la ruta al archivo dirname es lo contrario que basename: el comando permite extraer la parte de la ruta a un fichero sin mostrar su nombre. Su sintaxis es: dirname [OPCIONES] Introduce $ dirname /home/user/imagen.jpg en el terminalpara obtener la siguiente salida: /home/user |
file | Muestra el tipo de archivo Con file se puede obtener información sobre el tipo o formato de un archivo. Sigue el siguiente esquema: file [OPCIONES] ARCHIVO |
ln | Crea un enlace a un archivo o un directorio El programa ln (link) crea un vínculo (un archivo especial) que lleva a un archivo o un directorio. Con ello se genera otra entrada a este archivo que permite acceder a él a través de una ruta diferente. Para invocar ln el comando ha de incluir, como mínimo, la ruta al archivo de origen. ln [OPCIONES] ruta/al/archivo de origen En este caso, el enlace se crea en el directorio actual de trabajo sin cambiar de nombre. Otra alternativa consiste en indicar una ruta de destino y dar un nombre diferente al vínculo: ln [OPCIONES] ruta/al/archivo de origen ruta/al/enlace ln crea por defecto los llamados enlaces duros o hardlinks, que no son adecuados para crear vínculos a los directorios y tampoco se pueden utilizar más allá de las fronteras de partición. Es por esto que el comando suele usarse en combinación con la opción -s (--symbolic), con la cual se pueden generar enlaces simbólicos, incluso más allá de los límites del sistema de archivos. Los enlaces simbólicos se refieren siempre a la ruta “real” a un archivo y dependen de esta. |
lsof | Muestra los archivos abiertos en el terminal lsof equivale a list open files (muestra los archivos abiertos), un programa de apoyo que muestra en el terminal información sobre los archivos abiertos ordenados en función del PID (ID de proceso). Para invocarlo se sigue el siguiente esquema: lsof [OPCIONES] Dado que todos los sistemas tipo UNIX como Linux lo gestionan todo en archivos («Everything is a file»), la lista que devuelve lsof es muy larga. Por eso suelen usarse opciones que concretan el resultado. |
md5sum | Calcula sumas de control Con ayuda del comando md5sum se pueden calcular y comprobar sumas de control MD5. |
mv | Mueve archivos o directorios El programa mv (move) copia un archivo o un directorio y borra el original. Si esto tiene lugar dentro del mismo directorio, mv puede utilizarse también para cambiar el nombre de los archivos. Para ello se sigue el siguiente esquema: mv [OPCIÓN] ORIGEN DESTINO Ejemplos de su aplicación: Trasladar un archivo a otro directorio: mv [OPCIONES] ARCHIVO_ORIGEN DIRECTORIO_DESTINO Ejemplo: mv archivo1.txt home/user/documentos/2017 Trasladar varios archivos de origen a un directorio de destino: mv [OPCIONES] ARCHIVO_ORIGEN1 ARCHIVO_ORIGEN2 DIRECTORIO_DESTINO Ejemplo: mv archivo1.txt archivo2.txt home/user/documentos/2017 Trasladar un subdirectorio del fichero actual a un directorio de destino: mv [OPCIONES] DIRECTORIO_ANTIGUO DIRECTORIO_NUEVO Ejemplo: mv directorio1 home/user/documentos/2017 Cambiar el nombre de un archivo en el directorio de trabajo: mv [OPCIONES] ARCHIVO_ANTIGUO ARCHIVO_NUEVO Ejemplo: mv archivo1.txt archivo2.txt Cambiar el nombre de un subdirectorio en el directorio actual: mv [OPCIONES] DIRECTORIO_ANTIGUO DIRECTORIO_NUEVO Ejemplo: mv directorio1 directorio2 |
paste | Agrupa el contenido de archivos en columnas De forma parecida a cat, el programa paste también muestra el contenido de los archivos en la salida estándar, pero mientras que cat los muestra de forma encadenada, paste los agrupa en columnas. El esquema básico de esta función es: paste [OPCIONES] ARCHIVO1 ARCHIVO2 En el modo estándar, los archivos indicados se agrupan de tal forma que todas las líneas cuyo número coincide se emiten en una misma línea en la salida. Así, cada línea de la salida contiene el contenido de todos los archivos de entrada. Con la opción -d se puede configurar individualmente el tipo de separador que se usa. Por defecto suele utilizarse la tabulación. Con la opción -s (de serial) se activa otro modo diferente en el cual todas las líneas del primer archivo de entrada se pegan en la primera línea de la salida. Los datos del resto de archivos de entrada se pegan a continuación en líneas de salida separadas. De esta forma, cada línea de la salida contiene únicamente el contenido de un archivo de entrada. |
rename | Cambia el nombre de archivos rename permite cambiar el nombre de archivos y carpetas con ayuda de expresiones regulares compatibles con perl (Regex). Al contrario de mv, rename se presta así para modificar los nombres de varios archivos parcial o totalmente. La invocación de rename se realiza siguiendo el siguiente esquema: rename [OPCIONES] 'EXPRESIÓN_REGULAR' ARCHIVOS En el caso de las sustituciones, las expresiones regulares siguen la siguiente sintaxis: s/PATRONDEBUSQUEDA/SUSTITUCIÓN/MODIFICADOR En el siguiente ejemplo todas las terminaciones .html se sustituyen por .xhtml: rename 's/\.html$/.xhtml/' *.html |
rm | Borra archivo o directorio El programa rm (remove) borra archivos o directorios de forma irreversible. Para ello se sigue la siguiente estructura: rm [OPCIONES] ARCHIVO o rm [OPCIONES] DIRECTORIO Para eliminar un directorio junto a todos sus subdirectorios se utiliza rm con la opción -R (--recursive): rm -R DIRECTORIO Cuando se ordena eliminar varios archivos o ficheros, estos se separan por espacios: rm [OPCIONES] ARCHIVO1 ARCHIVO2 |
shred | “Tritura” archivos shred es un comando que permite borrar archivos de forma permanente porque los reescribe de modo que, incluso contando con los mejores medios forenses, no se pueden restablecer. Este comando se invoca siguiendo este esquema básico: shred [OPCIONES] ARCHIVO Utilizándolo con las siguientes opciones se eliminan archivos concretos: shred -fuz ARCHIVO La opción -f impulsa el proceso de eliminación, -z reescribe el contenido del archivo con ceros (la configuración estándar son datos aleatorios) y -u elimina el archivo triturado del sistema de forma similar al comando rm. |
sort | Ordena listas de archivos y salidas de programa Con el comando sort se ordenan las listas de archivos y las salidas de programa en líneas numérica y alfabéticamente. Se invoca a sort siguiendo este esquema: sort [OPCIONES] ARCHIVO Este método se puede complementar con opciones como -n (ordenar numéricamente), -R (ordenar de forma aleatoria) o -r (ordenar en orden inverso). |
split | Divide archivos El comando split se utiliza para subdividir archivos. Sigue el siguiente esquema sintáctico: split [OPCIONES] [INPUT [PREFIJO]] INPUT equivale al archivo que se ha de subdividir y PREFIJO hace las veces de prefijo del nombre del nuevo subarchivo. A la hora de cambiar su nombre se sigue el siguiente esquema: PREFIJOaa, PREFIJOab, PREFIJOac … Si no se define ningún prefijo, split recurre al estándar x. Con la opción -b (bytes) se puede definir el tamaño de las partes en que se divide el archivo. Esto puede hacerse en bytes (b), kilobytes (k) o megabytes (m). Ejemplo: split -b 95m archivo.tgz split-archivo.tgz. Aquí split divide el archivo archivo.tgz en archivos de 95 megabytes y los nombra como sigue: split-archivo.tar.aa split-archivo.tar.ab split-archivo.tar.ac Los archivos que se han subdividido utilizando split pueden reunirse de nuevo con el comando cat. cat split-archivo.tar.* > archivo.tar |
stat | Muestra fecha y hora Con ayuda del comando stat (status) se puede obtener la fecha y la hora de los accesos y los cambios relativos a determinados archivos o directorios. Este comando sigue esta sintaxis: stat [OPCIONES] ARCHIVO El formato de salida se puede configurar con opciones. |
touch | Cambia fecha y hora Para modificar la fecha y la hora de los accesos o los cambios que han tenido lugar en un archivo se utiliza el comando touch. Si se utiliza en un archivo que no existe, este se crea automáticamente, lo que hace que este comando también se utilice para generar archivos vacíos. Para invocar a touch se tiene que seguir este esquema: touch [OPCIONES] ARCHIVO Si de lo que se trata es de cambiar la fecha y la hora de un archivo por una fecha determinada se utiliza la opción -t incluyendo la fecha en el formato [AA]MMDDhhmm[.ss]. Ejemplo: touch -t 1703231037 archivo.txt La fecha y la hora del acceso y los cambios respecto a este archivo se han fijado en el 23 de marzo de 2017 a las 10:37 horas. Si se prefiere, el cambio se puede limitar a la fecha de acceso o de modificación con las opciones -a y -m. Si se utiliza sin la opción -t se sella automáticamente con la fecha y la hora actual. |
uniq | Elimina duplicados en listas de archivos y salidas de programa El comandouniq suele usarse junto con sort para limpiar líneas dobles en los archivos ordenados. En el siguiente ejemplo se enlaza el comando sort con el comando uniq con la barra vertical para seleccionar en primer lugar un archivo y a continuación para emitirlo sin líneas duplicadas: sort archivo.txt | uniq |