Linux

Mejores comandos para Linux: básicos, administración, permisos…

Siempre es bueno contar con un poco de ayuda cuando estamos aprendiendo algo nuevo. Pensando en esto, en Profesional Review hemos preparado una guía de referencia con los comandos básicos y más utilizados para ayudar a quien está descubriendo ahora el universo del pingüino. Aunque el sistema ha evolucionado mucho a lo largo de los años y se ha convertido en extremadamente simple y amigable para quien es novato, el terminal de comandos de Linux es una parte intrínseca del sistema operativo; y es una herramienta poderosa.

Siendo así, es bueno conocerla en caso de que un día necesites utilizarla. Además, esta guía pretende desmentir la idea de que los comandos son cosas sólo para expertos. Aquí se puede descubrir qué sencillos son de usar.

Comandos básicos de Linux

mejores-comandos-linux

Organizamos los principales comandos en categorías, tanto para facilitar la memorización, como para facilitar una consulta. Ahora sólo tienes que abrir el terminal y ponerte manos a la obra para disfrutar el poder de la terminal de Linux. Comenzamos con los principales comandos de archivos:

  • ls: lista los directorios
  • ls -al: lista los directorios mostrando también los archivos ocultos
  • cd dir: cambia el directorio actual al especificado (sustituir la variable dir por el nombre de la carpeta)
  • cd: envía al directorio /home (archivos personales)
  • pwd: muestra la ruta del directorio actual
  • mkdir dir*: crea un directorio especificado (sustituir la variable dir por el nombre de la carpeta)
  • rm archivo: borra el archivo especificado (sustituir la variable archivo por el nombre del archivo que se desea eliminar)
  • rm -r dir: borra el directorio especificado (sustituir la variable dir por el nombre de la carpeta)
  • rm -f archivo: borra el archivo especificado de manera forzada (-f de force) (sustituir la variable archivo por el nombre del archivo que se desea eliminar)
  • rm -rf dir: borra el directorio especificado de manera forzada (sustituir la variable dir por el nombre de la carpeta).
  • cp -r archivo1 archivo2: copia el «archivo1» al «archivo2» (reemplazar la variable archivo* por el nombre del archivo)
  • cp -r dir1 dir2: copia el directorio1 al directorio2; crea el directorio2 en caso de que no exista (sustituir la variable dir por el nombre del directorio)
  • mv archivo1 archivo2: puede ser utilizado para cambiar el nombre o mover el archivo1 al archivo2. Si archivo2 es un directorio existente, mueve el archivo1 dentro del directorio «archivo2» (sustituir la variable archivo por el nombre del archivo)
  • ln -s archivo link: crea un enlace simbólico (acceso directo) para un archivo (sustituir la variable archivo por nombre del archivo y el enlace con el nombre que tendrá el acceso directo)
  • touch archivo: crea o actualiza el archivo (sustituir la variable archivo por el nombre del archivo)
  • cat > archivo: redirige la entrada estándar a un archivo (sustituir la variable archivo por el nombre del archivo)
  • more archivo: muestra el contenido de un archivo
  • head archivo: muestra las 10 primeras líneas de un archivo
  • tail archivo: muestra las últimas 10 líneas de un archivo
  • tail -f archivo: muestra el contenido de un archivo mientras se actualiza (aumenta de tamaño), a partir de las últimas 10 líneas

Administración de procesos

  • ps: muestra los procesos de usuario activos en tiempo real
  • top: muestra todos los procesos que se ejecutan en tiempo real
  • kill pid: mata un proceso específico por el número ID (sustituir pid por el número de proceso)
  • killall proc: mata todos los procesos con el nombre especificado (sustituir proc por el nombre del proceso)
  • bg: lista de trabajos parados o en segundo plano
  • fg: trae el trabajo más reciente a primer plano
  • fg trab: trae el trabajo «trab» a primer plano (reemplazar trab por el nombre del proceso)

Administración de permisos de archivos

chmod octal archivo: cambia los permisos del archivo «archivo» a octal, que puede especificarse por separado para «usuario», «grupo» y «otros». Los valores en octal se representan a continuación:

  • 4 – lectura (r de read)
  • 2 – escritura (w, de write)
  • 1 – ejecución (x, ejecute)

Explicación: Para establecer permisos, se suman los valores de arriba. Por ejemplo, para asignar al propietario del archivo (usuario) el acceso total de lectura (r), escritura (w) y ejecución (x), basta con sumar el valor octal 4 + 2 + 1 = 7. Suponiendo que desees limitar el acceso para los miembros del «grupo», permitiendo sólo la lectura y escritura, basta con sumar 4 + 2 = 6. Reuniendo los dos ejemplos citados, quedaría: chmod 760 (r para el usuario, w para el grupo y 0 para otros o «rw-«)

Otros ejemplos:

  • chmod 777: lectura (r), escritura (w) y ejecución (x) para todos («usuario», «grupo» y «otros»)
  • chmod 755: «rwx» para el «dueño» (usuario), «rw» para el «grupo» y «otros»

Para más información, escribe en la terminal: man chmod

SSH: conexión remota

ssh usuario@host: se conecta al host como usuario (ejemplo: ssh andres@miservidor)

ssh -p puerto usuario@host: se conecta al host en el puerto especificado (sustituir «puerto» por el número de puerto configurado)

ssh-copy-id usuario@host: agrega la clave para el host y usuario de ese host; sirve para activar el inicio de sesión sin contraseña con el uso de claves

Comandos para búsquedas

grep secuencia archivos: búsqueda de la secuencia de los archivos (sustituir la secuencia y archivos por los valores correspondientes a la investigación)

grep-r secuencia dir: búsqueda de forma recursiva por la secuencia en el directorio dir

comando | grep secuencia: busca por la secuencia en la salida del comando (sustituir comando y secuencia de acuerdo con los valores a ser buscados)

locate archivo: encuentra todas las instancias de un archivo (sustituir la variable archivo por el nombre del archivo)

Información del sistema

  • date: muestra la fecha y la hora actual
  • cal: muestra un calendario del mes actual
  • uptime: muestra el tiempo de actividad del sistema
  • w: muestra quién está en línea
  • whoami: muestra quién está conectado
  • finger usuario: muestra la información del usuario
  • uname -a: muestra la información de núcleos
  • cat /porc/cpuinfo: muestra la información de la CPU
  • cat /proc/meminfo: muestra la información de la memoria
  • man comando: abre el manual del comando especificado (sustituir la variable comando por el nombre del comando que se quiere conocer)
  • df: muestra el uso del disco
  • du: muestra el uso del espacio en un directorio
  • free: muestra el uso de la memoria y swap
  • whereis aplicación: muestra las posibles ubicaciones de la aplicación (reemplazar aplicación por el nombre del programa)
  • which aplicación: muestra qué aplicación se ejecutará por defecto (reemplazar aplicación por el nombre del programa)

Compresión de archivos

  • tar cf paquete.tar archivos: crea un paquete TAR (nombrado paquete.tar) con los archivos especificados (sustituir la variable archivos por el nombre del archivo)
  • tar xf paquete.tar: extrae los archivos de paquete.tar (reemplazar la variable paquete.tar por el nombre del archivo)
  • tar czf pacote.tar.gz archivos: crea un paquete TAR (nombrado pacote.tar.gz) con la compresión GZip
  • tar xzf pacote.tar.gz: extrae un paquete TAR (nombrado pacote.tar.gz) con la compresión GZip
  • tar cjf paquete.tar.bz2: crea un paquete TAR (nombrado paquete.tar.bz2) con la compresión BZip2
  • tar xjf paquete.tar.bz2: extrae un paquete TAR con la compresión BZip2
  • gzip archivo: comprime un archivo y el nombre a archivo.gz (sustituir la variable archivo por el nombre del archivo)
  • gzip -d archivo.gz: descomprime archivo.gz a un archivo (sustituir la variable archivo.gz por el nombre del archivo)

Comandos para conexión de red

ping host: envía un paquete ICMP (ping) para el host y muestra el resultado (sustituir la variable host por el dominio de un sitio web o el número IP)

whois dominio: devuelve información sobre el dominio (sustituir la variable dominio por la dirección de un sitio web o el número IP)

dig dominio: devuelve la información de DNS para el dominio (sustituir la variable host por el dominio de un sitio web o el número IP)

dig -x host: muestra el retorno inverso para un host

wget archivo: descarga de archivo (archivo) (sustituir la variable archivo por la dirección en línea del archivo)

wget -c archivo: continúa la descarga interrumpida de un archivo (sustituir la variable archivo por la dirección en línea del archivo)

Instalación de paquetes

Instalación a partir del código fuente; los comandos se deben introducir en la secuencia en un terminal, uno a la vez:

  • ./configure
  • make
  • make install

Comandos de instaladores

dpkg -i paquete.deb: instala un paquete DEB (distros Debian) (sustituir la variable paquete.deb por el nombre del paquete de programa)

rpm -Uvh paquete.rpm: instala un paquete RPM (Distros que usan RPM) (sustituir la variable paquete.rpm por el nombre del paquete de programa)

Atajos globales

  • Ctrl+C: cancela el comando actual en funcionamiento
  • Ctrl+Z: para el sistema actual, regresa con fg en primer plano o bg en segundo plano
  • Ctrl+D: sale de la sesión actual; similar al comando exit
  • Ctrl+W: borra una palabra en la línea actual
  • Ctrl+U: borra la línea entera
  • Ctrl+R: pulsa la tecla para mostrar un comando de hoy
  • !!: repite el último comando
  • exit: cierra la sesión de la sesión actual

Es bueno saber y conocer algunos de los comandos básicos en la terminal, esto además de aumentar tu grado de conocimiento sobre el sistema operativo, ayuda mucho ahorrándote horas de investigación.

Por último, os dejamos una tabla con los principales comandos expuestos en este artículo, seguramente os servirá para dar  un rápido vistazo.

comandos-basicos-linux-chuleta

¿Qué te ha parecido nuestros artículo sobre los comandos básicos para el terminal de linux? ¿Te ha parecido interesante? ¿Os interesa que subamos algun artículo particular en la web?

Miguel Ángel Navas

Amante de la informática, los smartphones y la tecnología en general. Técnico superior en Administración de sistemas informáticos y redes, y un reviewer sin pelos en la lengua. Cualquier duda o cuestión aquí me tenéis.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba