Comandos de Linux relacionados con el sistema de archivos

Linux trata a todos los dispositivos como si fuesen archivos. Es decir, para él, la configuración de una impresora, una pantalla, un teclado o un disco duro es un archivo que tiene una entrada correspondiente de dispositivo en el sistema.

Cada distribución de Linux o de UNIX, en general, tiene sus propias características. Esto quiere decir que un expero en AIX no necesariamente tiene por qué saber de HP-UX o de RedHat.

No obstante, existe un estandar respecto al sistema de archivos que se cumple en todos los UNIX.

  • /dev: Contiene todos los ficheros de dispositivos, tal y como comentaba anteriormente.
  • /var: Es un filesystem que contiene información variable.
    • adm: Información de administración del sistema.
    • log: Guarda archivos con información del sistema y otras aplicaciones que van guardando ahí su actividad, errores, etc.
    • run: Encontraremos información sobre los procesos que están en ejecución.
[root@var]# ll
total 100
drwxr-xr-x. 2 root root 4096 Jun 24 2016 account
drwxr-xr-x. 15 root root 4096 Jun 24 2016 cache
drwxr-xr-x. 2 root root 4096 Oct 20 2016 crash
drwxr-xr-x. 2 root root 4096 Jun 24 2013 cvs
drwxr-xr-x. 4 root root 4096 Jun 24 2016 db
drwxr-xr-x. 3 root root 4096 Jun 24 2016 empty
drwx------. 3 hpeserviceaccount hpeserviceaccount 4096 Oct 18 2016 hpesm
drwx--x--x. 3 root root 4096 Oct 19 2016 install
drwxr-xr-x. 37 root root 4096 Oct 13 03:29 lib
drwxr-xr-x. 2 root root 4096 Jun 28 2011 local
drwxrwxr-x. 6 root lock 4096 Oct 13 03:29 lock
drwxr-xr-x. 21 root root 4096 Oct 13 11:51 log
drwx------. 2 root root 16384 Jun 24 2016 lost+found
lrwxrwxrwx. 1 root root 10 Jun 24 2016 mail -> spool/mail
drwxr-xr-x. 2 root root 4096 Jun 28 2011 nis
drwxr-xr-x. 10 root sys 4096 Oct 19 2016 opt
drwxr-xr-x. 2 root root 4096 Jun 28 2011 preserve
drwxr-xr-x. 28 root root 4096 Jul 19 22:28 run
drwxr-xr-x. 15 root root 4096 Jul 6 18:28 spool
drwxrwxrwt. 3 root root 4096 Oct 13 12:15 tmp
drwxrwxrwt. 2 root root 4096 Mar 22 2017 VRTSat_lhc
drwxr-xr-x. 8 root root 4096 Jul 12 2016 www
drwxr-xr-x. 2 root root 4096 Jun 28 2011 yp
[root@var]#
  • /usr: Directorios de trabajo de las aplicaciones.
  • /proc: Tenemos información sobre el sistema (tipo de CPU, uso de memoria, modelos de disco, etc.).

Ejemplo:

[root]# cat /proc/cpuinfo 
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-4650 v3 @ 2.10GHz
stepping : 2
microcode : 46
cpu MHz : 2097.570
cache size : 30720 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep cqm_llc cqm_occup_llc
bogomips : 4195.14
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
  • /opt: Directorio de instalación de las aplicaciones.
  • /etc: Ficheros de configuración del sistema operativo y aplicaciones.
  • /bin y /sbin: Ficheros binarios, es decir, son los ejecutables de las aplicaciones.

Hay más directorios pero, para empezar, con estos ya nos manejamos.

A continuación, voy a explicar algunas de las tareas más sencillas para aprender a manejarse por el sistema de archivos:

Consultar el contenido de un directorio en Linux

Utilizaremos el comando ls. En el siguiente ejemplo, además muestro los permisos y el propietario de cada archivo y directorio e incluyo los ficheros ocultos:

[root@prt53ws1 ~]# ls -l
total 148
drwxr-xr-x 5 root root     66 Sep 11 17:18 amzn-drivers
-rw-r--r-- 1 root root   3840 Jan 16  2018 binance_all_asks_venta_BNB_sort.html
-rw-r--r-- 1 root root   4025 Jan 16  2018 binance_all_bids_compra_BNB_sort.html
-rwxr--r-- 1 root root   5271 Dec 10 09:41 drop_tables.sh
-rw-r--r-- 1 root root   2822 Dec 10 13:01 drop_tables.sql
-rw-r--r-- 1 root root 112019 Dec 17 10:02 index.html
-rw-r--r-- 1 root root   5816 Dec 10 08:37 rename_tables_puerto53.sql
-rwxr--r-- 1 root root   4510 Dec 10 08:34 rename_tables.sh
[root@prt53ws1 ~]#

Mostrar los archivos ocultos

Con el comando anterior hemos sacado un listado de los archivos de un directorio, pero no muestra los archivos ocultos. Para ello, tenemos que añadir el parámetro «a» al comando «ls». Veamos un ejemplo:

[root@prt53ws1 ~]# ls -la
total 220
dr-xr-x---.  8 root root   4096 Jan 26 06:47 .
dr-xr-xr-x. 22 root root   4096 Oct 15 10:47 ..
drwxr-xr-x   5 root root     66 Sep 11 17:18 amzn-drivers
drwxr-xr-x   2 root root     39 Oct  2 21:31 .aws
-rw-------.  1 root root  18987 Jan 25 21:32 .bash_history
-rw-r--r--.  1 root root     18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root    176 Dec 29  2013 .bash_profile
-rw-r--r--   1 root root    179 Jan 14  2018 .bashrc
-rw-r--r--   1 root root   3840 Jan 16  2018 binance_all_asks_venta_BNB_sort.html
-rw-r--r--   1 root root   4025 Jan 16  2018 binance_all_bids_compra_BNB_sort.html
drwx------   3 root root     17 Sep 22  2017 .cache
-rw-r--r--.  1 root root    100 Dec 29  2013 .cshrc
-rwxr--r--   1 root root   5271 Dec 10 09:41 drop_tables.sh
-rw-r--r--   1 root root   2822 Dec 10 13:01 drop_tables.sql
drwx------   2 root root     99 Oct  7 08:05 .gnupg
-rw-r--r--   1 root root 112019 Dec 17 10:02 index.html
-rw-------   1 root root    272 Oct 25 15:56 .lesshst
-rw-------   1 root root  13940 Jan 21 08:37 .mysql_history
drwxr-----.  3 root root     19 Sep 19  2017 .pki
-rw-r--r--   1 root root   5816 Dec 10 08:37 rename_tables_puerto53.sql
-rwxr--r--   1 root root   4510 Dec 10 08:34 rename_tables.sh
-rw-------   1 root root   1024 Jan  9 06:53 .rnd
drwx------.  2 root root     48 Oct 11  2017 .ssh
-rw-r--r--.  1 root root    129 Dec 29  2013 .tcshrc
[root@prt53ws1 ~]#

Como podemos ver, todos los archivos que empiezan por punto son archivos ocultos.

Crear un directorio en Linux

Un directorio sirve para agrupar ficheros y otros subdirectorios en un lugar del sistema operativo. Si lo comparamos con Windows, sería una carpeta.

[usuario1@noname00 ~]$ mkdir contactos 
[usuario1@noname00 ~]$ ls -l total 0
 drwxrwxr-x 2 usuario1 usuario1 6 oct 27 19:40 contactos
[usuario1@noname00 ~]$

Para eliminar un directorio de manera recursiva, ejecutaremos el comando rm -r directorio.

Entrar y salir de un directorio

  • Entrar
[usuario1@noname00 ~]$ cd contactos
[usuario1@noname00 contactos]$ ls vocales.txt
[usuario1@noname00 contactos]$
  • Salir
[usuario1@noname00 contactos]$ cd ..
[usuario1@noname00 ~]$

Mostrar el directorio en el que estamos

[usuario1@noname00 contactos]$ pwd
/home/usuario1/contactos
[usuario1@noname00 contactos]$

Crear un fichero en Linux

El comando touch fichero creará un fichero vacío en Linux.

Con el comando vi crearemos o editaremos un fichero de texto.

Ver el contenido de un fichero

Utilizaremos los comandos cat, morevi:

[usuario1@noname00 contactos]$ cat vocales.txt
a, e, i, o, u 
[usuario1@noname00 contactos]$

Copiar archivos de un directorio a otro en Linux

Con el comando cp copiamos archivos de un origen a un destino. El destino puede ser otro directorio o el mismo pero con un nombre de archivo diferente.

Si añadimos el parámetro «-p», clonaremos los permisos del fichero.

[usuario1@noname00 contactos]$ cp -p vocales.txt /home/usuario1/letras
[usuario1@noname00 contactos]$ ls /home/usuario1/letras/ 
vocales.txt 
[usuario1@noname00 contactos]$

Borrar archivos y directorios en Linux

Usaremos el comando «rm archivo» a «rm -r directorio» para eliminar directorios de manera recursiva.

Si queremos borrar un directorio que está vacío, ejecuteremos el comando rmdir directorio.

Mover y renombrar ficheros en Linux

El comando mv mueve un fichero de un directorio a otro o renombra el archivo.

  • Mover
[usuario1@noname00 contactos]$ mv vocales.txt /home/usuario1/letras/ 
[usuario1@noname00 contactos]$ ls /home/usuario1/letras/ vocales.txt 
[usuario1@noname00 contactos]$
  • Renombrar
[usuario1@noname00 contactos]$ cd ../letras/ 
[usuario1@noname00 letras]$ mv vocales.txt vocales1.txt 
[usuario1@noname00 letras]$ ls -la total 4 drwxrwxr-x 2 usuario1 usuario1 25 oct 27 20:01 . drwx------ 6 usuario1 usuario1 132 oct 27 19:57 .. 
-rw-rw-r-- 1 usuario1 usuario1 14 oct 27 19:50 vocales1.txt 
[usuario1@noname00 letras]$

Creación de enlaces a archivos en Linux

Podemos crear dos tipos de enlaces a archivos:

  • Blandos (soft link): Crean un enlace simbólico a un fichero para que podamos acceder a él desde una ubicación diferente sin que tengamos que copiarlo a ese sitio.
[usuario1@noname00 letras]$ ln -s vocales1.txt vocales.txt
[usuario1@noname00 letras]$ 
total 4
drwxrwxr-x 2 usuario1 usuario1 43 oct 27 20:34 . 
drwx------ 6 usuario1 usuario1 132 oct 27 19:57 .. 
-rw-rw-r-- 1 usuario1 usuario1 14 oct 27 19:50 vocales1.txt 
lrwxrwxrwx 1 usuario1 usuario1 12 oct 27 20:34 vocales.txt -> vocales1.txt 
[usuario1@noname00 letras]$ cat vocales.txt
a, e, i, o, u 
[usuario1@noname00 letras]$
  • Duros (hard link): Crean un nuevo fichero en el sistema con el nombre que indiquemos pero compartiendo el mismo inodo, lo que significa que cada enlace duro que creemos es una copia exacta de el resto de enlaces duros asociados al mismo fichero. Por lo tanto, si realizamos algún cambio en alguno de los enlaces como, por ejemplo, un cambio de permisos, éstos también se verán reflejados en el resto de enlaces duros.
$ ln test hard-link
$ ls -li
13592 -rw-r--r-- 2 david martinez 5 2011-04-27 19:09 hard-link
13592 -rw-r--r-- 2 david martinez 5 2011-04-27 19:09 test

No podemos crear enlaces duros sobre directorios.

Sincronizar filesystems con rsync

Con rsync sincronizaremos el contenido de un sistema de archivos origen a un destino sin tener que copiar todo el contenido de nuevo, ya que solamente copiaremos los cambios, ganando mucho tiempo cuando el volumen de datos es muy grande.

Ejemplo de uso:

rsync –delete –recursive –times -og –links –perms –hard-links\ /tmp/rsync/ root@servidor_remoto:/tmp/rsync

–delete: Elimina ficheros que existen en el destino pero no en el origen.
–recursive: Copia directorios de manera recursiva
–times: Envía la información de las fechas y horas de modificación de los ficheros.
-og: No modifica ni el usuario ni el grupo de los ficheros.
–links: Copia los enlaces simbólicos.
–perms: Copia los permisos.
–hard-links: Copia los enlaces duros, siempre que estén dentro del diretorio que se está copiando.

También podemos utilizarlo para sincronizar dos filesystems locales:

nohup rsync -avzhr --delete /filesystem_origen/ /filesystem_destino/ &

Es recomendable utilizar nohup cuando tenemos que sincronizar una cantidad grande de datos.

Advertencia: El filesystem origen se copiará dentro del FS destino, es decir, has de tener en cuenta el path absoluto en el destino para que no haga una copia en el destino del tipo /FS_DESTINO/FS_DESTINO.

Programación por cron de rsync:

00 00 26 * * /usr/bin/rsync -avzhr --progress --hard-links --numeric-ids --delete --exclude /FS_ORIGEN/config.php /FS_ORIGEN  root@servidor_destino:/FS_DESTINO > /tmp/log.out 2>&1

Prueba FreeFileSync para la sincronización de datos en Windows al estilo de rsync


Búsqueda de archivos en Linux con el comando find

Con el comando find buscaremos archivos por nombre, fechas, propietarios, tamaño, etc.

Ejemplos:

  • Búsqueda por nombre:
[usuario1@noname00 ~]$ find . -name voc*.txt -exec ls -la {} \; 
-rw-rw-r-- 1 usuario1 usuario1 14 oct 27 19:50 ./letras/vocales1.txt 
[usuario1@noname00 ~]
  • Búsqueda por fechas:

-mtime 0: Busca archivos modificados entre ahora mismo y las últimas 24 horas.
-mtime -1: Busca archivos modificados hace menos de 24 horas.
-mtime 1: Busca archivos modificados entre las últimas 24 y 48 horas.
-mtime +1: Busca archivos modificados desde hace más de dos días.
-mmin +5 -mmin -10: Busca archivos modificados entre los 6 y los 9 últimos minutos.
find . -type f -ls |grep ‘2022’: Encuentra los archivos del año 2022

[usuario1@noname00 ~]$ find . -mtime +15 
./.bash_profile 
./.gnome2 
./.bashrc 
./.mozilla 
./.mozilla/extensions 
./.mozilla/plugins 
./.bash_logout 
[usuario1@noname00 ~]$

Con la ayuda del comando (man find), veremos todos los parámetros disponibles de este comando para optimizar nuestra búsqueda.

También podemos encontrar archivos rápidamente con el comando locate.

Comprimir y Descomprimir Archivos en Linux

Empaquetar archivos con tar

Hay muchas aplicaciones capaces de empaquetar múltipes archivos y directorios en un solo fichero en formato tar. Sin embargo, tar es un estándar muy utilizado en todos los sitemas UNIX. Particularmente, es muy útil porque conserva los permisos y propietarios de los archivos originales, por lo que viene muy bien a la hora de hacer restauraciones.

El funcionamiento de este comando es muy simple.

  • Empaquetar: tar cvf mifichero.tar midirectorio
  • Desempaquetar: tar xvf mifichero.tar

Comprimir y descomprimir un archivo con tar y gzip (tgz)

En Linux es muy frecuente utilizar gzip para comprimir un archivo, es decir, para tener una copia de seguridad del mismo que ocupe menos en el sistema.

Ejemplo:

[usuario1@noname00 letras]$ gzip vocales1.tar 
[usuario1@noname00 letras]$ ll total 4 
-rw-rw-r-- 1 usuario1 usuario1 153 oct 27 20:13 vocales1.tar.gz 
[usuario1@noname00 letras]$

Para descomprimir, simplemente, utilizaremos gunzip vocales.tar.gz.

También podemos comprimir un fichero o un directorio directamente en tar y gz al mismo tiempo, es decir en tgz:

tar cvzf fichero.tgz fichero_o_directorio

Para descomprimir un tgz, lo haríamos de la siguiente manera:

tar xvzf fichero.tgz

Comprimir y descomprimir archivos con star

Si lo que nos interesa es conservar los permisos de SELINUX, utilizaremos el comando star.

Ejemplo de compresión:

star -xattr -H=exustar -c -f=home.star /home/

Para descomprimir con star, ejecutaremos el siguiente comando:

star -x -f=home.star

Comprimir y descomprimir con bzip2

BZip2es otro algoritmo de compresión más que podemos utilizar en Linux. Para comprimir utilizaremos el siguiente comando:

bzip fichero

Y para descomprimirlo:

bzip2 -d fichero.bz2

Comprimir y descomprimir ficheros con ZIP

No podía faltar en Linux un algoritmo tan popular como el ZIP. Para comprimir un fichero, ejecutaremos:

zip archivo.zip ficheros

Para descomprimir, utilizaremos el comando unzip:

unzip archivo.zip

Comprimir y descomprimir ficheros con RAR

RAR también es un compresor muy popular que también podemos utilizar en Linux. Para comprimir, ejecutaremos el siguiente comando:

rar -a archivo.rar ficheros

Y para descomprimir:

rar -x archivo.rar

Dividir un fichero en diferentes partes, en Linux

Si tenemos un archivo muy grande y lo queremos particionar, en Linux utilizaremos el comando split. Veamos un ejemplo:

[root@server1 temporal]# nohup split -b 100G 1148_ioc.tgz "1148_ioc.tgz.part" &
[1] 9688
[root@server1 temporal]# ls -lah
total 1.2T
drwxr-xr-x 2 sftp_WO0000002535992 sftp_WO0000002535992 4.0K Jun 15 15:00 .
drwxr-xr-x 4 root                 root                 4.0K Jun 15 08:18 ..
-rw-r--r-- 1 sftp_WO0000002535992 sftp_WO0000002535992 1.1T Jun 15 06:18 1148_ioc.tgz
-rw-r--r-- 1 root                 root                 100G Jun 15 15:00 1148_ioc.tgz.partaa
-rw-r--r-- 1 root                 root                  12G Jun 15 15:02 1148_ioc.tgz.partab
-rw------- 1 root                 root                    0 Jun 15 14:43 nohup.out
[root@server1 temporal]#

Como podemos observar, el comando split ya está creando el primer fichero con extensión «.partX» de 100GB y ha comenzado a crear el segundo..

En este caso, el fichero de 1TB, lo dividiremos en diferentes partes de 100G, tal y como podemos ver en los parámetros de split.

Conocer cuánto espacio disponible tenemos en los filesystems de Linux

El espacio de un filesystem se mide por dos parámetros:

  • El tamaño de los archivos.
  • La cantidad de inodos utilizados.

Si cualquiera de las dos métricas llega al 100% de ocupación, no podremos escribir más archivos en el filesystem.

Para revisarlo, utilizaremos el comando «df»:

[root]# df -hP /root
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-rootvol 6.0G 3.7G 2.0G 66% /
[root]# df -i /root
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg00-rootvol 393216 91386 301830 24% /
[root@la07wax1 ~]#

Diferencia entre el espacio ocupado y libre que dan los comandos du y df

A veces ocurre que los comandos «du» y «df» indican que el tamaño ocupado en un filesystem es diferente. Veamos lo que ocurre:

df – report file system disk space usage

Actúa a nivel de filesystem. Obtiene un informe del uso del filesystem (a nivel de bloques de 1K)

This manual page documents the GNU version of df. df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node. This version of df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures.

man del comando df de Linux

du – estimate file space usage

Actúa a nivel de archivo. Obtiene un informe de ocupación de cada archivo.

Summarize disk usage of each FILE, recursively for directories.

man del comando du de Linux

Por lo tanto:

La suma de los bloques usados en el filesystem puede ser diferente a la suma del tamaño de todos los archivos ubicados en el filesystem.

Otra cosa que debemos revisar es si hemos eliminado (rm) un archivo que estaba en uso. Hasta que la aplicación no lo libere, el archivo eliminado seguirá ocupando espacio en el filesystem. Podemos revisarlo con lsof:

Respecto a los archivos eliminados abiertos, no hay ninguno:

[root@server1 ~]# lsof |grep deleted > /tmp/deleted.txt
[root@server1 ~]# head /tmp/deleted.txt
java       16657            1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
java       16657  20909     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
GC         16657  20915     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
G1         16657  20916     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
G1         16657  20917     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
G1         16657  20967     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
G1         16657  20968     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
VM         16657  20969     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
Reference  16657  20975     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
Finalizer  16657  20976     1000    0r      REG              0,120          1     519802 /tmp/sh-thd-1646263967 (deleted)
[root@server1 ~]#

Averiguar cuáles son los archivos que más ocupan en Linux

Esta información es vital para saber qué archivos son los que nos están llenando un filesystem. Cuando se llene, es posible que deje de funcionar alguna aplicación porque ya no podrá escribir datos en él.

En el siguiente ejemplo, averiguamos en KB, cuáles son los 30 archivos o directorios que más espacio están ocupando:

[root var]# du -xk |sort -rnk1 |head -30
4769572 .
3053292 ./opt
2123036 ./opt/OV
2008900 ./opt/OV/installation
2006376 ./opt/OV/installation/temp
652932 ./spool
652840 ./spool/mail
507116 ./opt/osit
500732 ./opt/osit/ESAR
495048 ./opt/osit/ESAR/portmon
461860 ./log
369320 ./tmp
367884 ./tmp/patchtool.oC5AtV
211024 ./opt/opsware
210060 ./opt/opsware/yum
210056 ./opt/opsware/yum/plugins
209808 ./opt/opsware/yum/plugins/cache
209804 ./opt/opsware/yum/plugins/cache/opsware
172368 ./lib
113368 ./opt/erm
112772 ./opt/erm/save
93152 ./opt/perf
92556 ./opt/perf/datafiles
92240 ./lib/rpm
83240 ./opt/OV/log
82552 ./opt/OV/log/OpC
61616 ./lib/rear
59596 ./lib/rear/output
46476 ./cache
44900 ./cache/yum
[root var]#

Saber qué procesos están utilizando un sistema de archivos

A veces nos interesa saber si un filesystem está siendo utilizado por alguna aplicación porque queramos hacer alguna acción sobre él. Si quisiéramos modificar algún aspecto de la estructura del FS que requisiese desmontarlo, no podríamos mientras esté en uso, así que necesitaremos saber qué proceso lo está utilizando. Lo podremos hacer con los comandos fuserlsof:

[usuario1@noname00 ~]$ /sbin/fuser /home/usuario1
/home/usuario1: 5694c 10469c 10612c
[usuario1@noname00 ~]$ ps -ef |grep 10612
usuario1 10612 5694 0 21:13 pts/0 00:00:00 vi prueba.txt

[root]# lsof /var |head
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vmtoolsd 1526 root 4w REG 253,9 5 131437 /var/run/vmtoolsd.pid
rsyslogd 1735 root 1w REG 253,9 1431 134767 /var/log/messages
rsyslogd 1735 root 2w REG 253,9 391269442 134768 /var/log/secure
rsyslogd 1735 root 4w REG 253,9 0 134766 /var/log/maillog
rsyslogd 1735 root 5w REG 253,9 22458 131165 /var/log/cron
rpcbind 1765 rpc 3r REG 253,9 0 131798 /var/run/rpcbind.lock
python 1808 root cwd DIR 253,9 4096 133424 /var/opt/opsware/agent
python 1808 root 1w FIFO 253,9 0t0 131808 /var/opt/opsware/agent/daemonbot.fifo
python 1808 root 2w FIFO 253,9 0t0 131808 /var/opt/opsware/agent/daemonbot.fifo
[root]#

Averiguar el tipo de archivo

El comando file nos dirá si un archivo es de tipo texto o binario.

[usuario1@noname00 ficheros]$ file fichero.txt 
fichero.txt: ASCII text 
[usuario1@noname00 ficheros]$

Ahora que ya has aprendido los comandos más básicos de Linux relacionado con el sistema de archivos, te interesará saber cómo funciona Logical Volume Manager o LVM, ya que la mayoría de los sistemas Linux lo utilizan. También deberás saber cómo asignar, modificar o eliminar los permisos de cada archivo y directorio.

Te puede interesar

COMPÁRTEME

Deja un comentario