Comandos SSH básicos que debes conocer

Comandos SSH básicos que debes conocer

En este tutorial, cubriremos 17 comandos SSH básicos que debe conocer. Al aprenderlos, comprenderá cómo navegar y administrar su VPS o servidor usando la línea de comando.

Cómo acceder al servidor remoto

Antes de comenzar, asegúrate de tener acceso a un servidor remoto. Si posees un plan VPS de Hostinger, los detalles de inicio de sesión se encuentran en la pestaña Servidores de hPanel. Sin embargo, si utilizas nuestro hosting compartido, debes ir a Hosting -> Avanzado -> Acceso SSH.

SSH son las siglas de Secure Shell, un protocolo que se utiliza para conectarse de forma segura a un servidor/sistema remoto. Si quieres obtener más información al respecto, tenemos un tutorial detallado sobre cómo funciona SSH.

Ahora comencemos a acceder a tu servidor remoto:

  1. Hay dos métodos recomendados para establecer una conexión SSH:
    • Usando un cliente SSH (PuTTY). Se requerirá que ingreses la IP del servidor y el número de puerto en los campos correspondientes.
      Los campos en PuTTY donde debe ingresar la dirección IP y el puerto de su servidor
    • Usando el símbolo del sistema integrado (Windows) o el shell de terminal (Linux, macOS). Necesitarás escribir:
ssh user@serverip

Recuerda reemplazar “user” con tu nombre de usuario real y “serverip” con la dirección IP dedicada o compartida de tu servidor.

Una vez que hagas clic en el botón Abrir en PuTTY o ingreses el comando en el terminal, se te pedirá una contraseña. Si te conectas al servidor por primera vez, es posible que recibas un mensaje de advertencia que te indica que no se reconoce el servidor. Simplemente presiona  para continuar.

Eso es. Ahora estás conectado al servidor y puedes comenzar a ejecutar comandos SSH.

La lista de comandos SSH básicos

En esta parte, repasaremos los comandos SSH populares, completos con sus sintaxis y opciones útiles.

Aquí hay un vistazo rápido a los comandos SSH básicos que cubriremos en este artículo:

Comando SSHExplicación
lsMuestra el contenido del directorio (enumera los nombres de los archivos).
cdCambio de directorio.
mkdirCrea una nueva carpeta (directorio).
touchCrea un nuevo archivo.
rmElimina un archivo.
catMuestra el contenido de un archivo.
pwdMuestra el directorio actual (ruta completa a donde te encuentras ahora).
cpCopiar archivo/carpeta.
mvMover archivo/carpeta.
grepBusca una frase específica en el archivo/líneas.
findBusca archivos y directorios.
vi/nanoEditores de texto.
historyMuestra los últimos 50 comandos usados.
clearLimpia la pantalla del terminal.
tarCrear y descomprimir archivos comprimidos.
wgetDescarga archivos de Internet.
duObtén el tamaño del archivo.

1. Comando “Is”

Este comando SSH se usa para listar todos los archivos y directorios. Después de ingresar ls, verás una salida que se ve así:

La salida del comando ls

También hay algunas opciones útiles que puedes combinar con él:

  • -l: muestra los detalles de los archivos, como el tamaño, la fecha y hora de modificación, el propietario y los permisos.
  • -a: muestra archivos y directorios ocultos.

2. Comando “cd”

cd (cambiar directorio) es el comando que usamos para saltar entre directorios. Es un comando bastante simple: simplemente escribe cd seguido del nombre del directorio:

cd [directorio]

Como tal, si quieres ingresar al directorio de inicio de tu servidor, puedes escribir:

cd home

También puedes escribir la ruta completa de un directorio determinado si tiene algunos niveles de profundidad. Por ejemplo:

cd home/DirectorioDePrueba/OtroDirectorio

Ahora te encuentras en AnotherDirectory.

Para retroceder un nivel, simplemente ingresa “..” (dos puntos) después del comando cd. Lo que es genial, puedes retroceder más agregando otros dos puntos y separándolos con un slash (/):

cd ../..

Al ingresar esta línea, te encuentras nuevamente en el directorio de inicio.

3. Comando “mkdir”

Puedes utilizar el comando mkdir (crear directorio) para crear un directorio. Esta es la sintaxis:

mkdir [nombre de carpeta]

Supongamos que quieres crear una nueva carpeta llamada “myfolder“. Deberás escribir:

mkdir myfolder

4. Comando “touch”

Este comando SSH se usa para crear un nuevo archivo. Aquí está la sintaxis:

touch [nombre del archivo]

Si quieres crear un archivo .txt llamado “myfile“, esto es lo que debes escribir:

touch myfile.txt.

La extensión del archivo puede ser la que quieras. Incluso puedes crear un archivo sin ninguna extensión.

5. Comando “rm”

El comando rm elimina un archivo o directorio elegido. Para eliminar un archivo, ingresa:

rm [nombre del archivo]

Por ejemplo, si quieres eliminar myfile.txt, simplemente ejecuta:

rm myfile.txt

Para eliminar una carpeta, debes usar la opción -r para eliminar todos los archivos y subcarpetas que contiene:

rm -r home/hostinger/myfolder

6. Comando “cat”

Usamos el comando cat para mostrar el contenido de un archivo. A continuación se muestra la sintaxis:

cat [nombre del archivo]

También te permite crear un nuevo archivo fusionando varios archivos. Por ejemplo:

cat info.txt info2.txt> mergedinfo.text

Al ejecutar esta línea, el contenido de info.txt e info2.txt se guardará en mergedinfo.txt.

7. Comando “pwd”

pwd es un comando simple que genera la ruta completa de tu directorio de trabajo. Una vez ingresado, deberías ver un resultado como este:

home/usuario/public_html

El comando pwd puede resultar muy útil cuando accedes a tu cuenta de hosting compartido a través de SSH. A menudo, los servidores compartidos no te dicen en qué directorio se encuentra.

8. Comando “cp”

Este comando SSH copiará archivos y carpetas. La sintaxis es:

cp [opciones] [origen] [destino]

[origen] es el archivo o carpeta que quieres copiar y [destino] es el duplicado.

Digamos que tienes myfile.txt en tu directorio de trabajo y quieres hacer una copia. La sintaxis sería:

cp miarchivo.txt miarchivo2.txt

Si quieres hacer una copia en una carpeta diferente, ejecuta el siguiente comando:

cp /home/hostinger/myfile.txt /home/etc/

Ten cuidado al escribir el nombre del destino. Si proporcionas dos nombres de archivo, el comando cp copiará el contenido del archivo de origen en el archivo de destino. Por lo tanto, el archivo de destino se sobrescribirá sin previo aviso. Sin embargo, si el archivo de destino no existe, el comando creará un nuevo archivo.

[opciones] no es obligatorio. Sin embargo, hay varias opciones que puedes utilizar:

  • -f: si no tienes permiso de escritura en el archivo de destino, se eliminará y el comando creará un nuevo archivo
  • -u: copia el archivo de origen si es más reciente que el archivo de destino.
  • -n: no sobrescribirá un archivo existente.
  • -a: archiva los archivos.

A diferencia de la duplicación de archivos, la copia de carpetas requiere que utilices la opción -R  (recursiva). La opción permite copiar todas las carpetas y archivos que contiene.

cp -R /home/hostinger/myfolder /home/etc/

9. Comando “mv”

Este comando funciona de manera similar a cp. Sin embargo, el comando mv moverá el archivo o carpeta en lugar de copiarlo. Esta es la sintaxis:

mv [origen] [destino]

Digamos que queremos mover myfile.txt desde /home/hostinger/ftp a /home/hostinger/myfolder/. El comando debe ser:

mv /home/hostinger/ftp/myfile.txt /home/hostinger/myfolder

A diferencia del comando cp, no necesitas la opción -R para mover una carpeta. Por ejemplo:

mv /home/hostinger/ftp/ /home/hostinger/myfolder/

Esto moverá automáticamente todos los archivos y subcarpetas dentro de ftp a myfolder.

10. Comando “grep”

El comando grep busca una cadena determinada en archivos. Por ejemplo:

grep 'line' info.txt

El comando anterior buscaría “line” en un archivo llamado “info.txt “. Lo que es genial, el comando imprimirá la línea completa que contiene el texto coincidente.

Los resultados del comando grep SSH

Ten en cuenta que este comando distingue entre mayúsculas y minúsculas. Si quieres ignorar las letras mayúsculas, usa la opción -i .

11. Comando “find”

Ingresamos este comando SSH para buscar un archivo o archivos que cumplan con los criterios dados (nombre, tamaño, tipo de archivo, etc.). La siguiente es la sintaxis básica:

find [starting directory] [options] [search term]

[starting directory] es donde te gustaría comenzar tu proceso de búsqueda. Hay tres opciones principales:

  • / (barra): busca en todo el sistema.
  • (punto): busca en el directorio de trabajo.
  • ~ (tilde): busca en el directorio de inicio.

[options] es un argumento adicional que puedes utilizar para refinar tu búsqueda. Algunas de las opciones más populares son:

  • -name: busca archivos basados ​​en sus nombres.
  • -user: busca archivos que pertenecen a un usuario determinado.
  • -size: busca archivos en función de sus tamaños.

[search term] es la palabra clave o el número que utilizas para buscar archivos.

Echale un vistazo a éste ejemplo:

find . -name “index”

Este comando devolverá cualquier archivo que tenga la palabra “index” en sus nombres. Y como usamos “.”(Punto), el comando solo buscará en el directorio de trabajo.

También tenemos un gran tutorial que proporciona una explicación detallada sobre este comando SSH.

12. Comando “vi/nano”

Vi y Nano son dos editores de texto populares que puedes usar en la línea de comandos. Para abrir un archivo usando Vi o Nano, solo necesitas ingresar:

vi [nombre de archivo]

o

nano [nombre de archivo]

Si el archivo especificado no existe, ambos editores de texto lo crearán automáticamente.

Desafortunadamente, algunas distribuciones de Linux no ofrecen Nano por defecto. No te preocupes, puedes leer nuestra guía sobre cómo instalar y usar Nano.

13. Comando “history”

Éste se utiliza para mostrar los últimos comandos utilizados. Debes ingresar un número para limitar los resultados mostrados. Por ejemplo:

history 20

Como probablemente adivinarás, el ejemplo mostrará los 20 comandos ingresados ​​más recientemente.

14. Comando “clear”

La función del comando clear es simple: borra todo el texto de la pantalla del terminal.

15. Comando “tar”

tar es un comando SSH que crea o extrae archivos .tar.gz. Es muy popular porque la mayoría de los binarios de software de terceros están en formato .tar.gz.

Para archivar una carpeta en formato .tar.gz, usa el siguiente comando:

tar cvzf ArchiveName.tar.gz /path/to/directory

Para descomprimir un archivo .tar.gz, ingresa este comando:

tar xvzf FileName.tar.gz

Ten en cuenta que ambos comandos utilizan diferentes opciones de cuatro caracteres: cvzf y xvzf. Cada letra representa una instrucción específica:

  • x le dice a tar que extraiga archivos.
  • c le dice a tar que cree un archivo.
  • v significa detallado. La opción le dice a tar que muestre todos los nombres de archivo que son procesados ​​por el comando.
  • z indica a tar que descomprima el archivo.
  • f le dice a tar que estás proporcionando el nombre del archivo.

16. Comando “wget”

wget se utiliza para descargar archivos de Internet. Por ejemplo, para buscar un archivo de un sitio web y almacenarlo en nuestro directorio actual, usaremos:

wget http://fileurl/filename.ext

Si quieres descargar varios archivos, coloca todas las URL en un archivo y usa la opción -i.

Digamos que el archivo que contiene los enlaces se llama  downloads.txt. El comando se verá así:

wget -i downloads.txt

17. Comando “du”

Puedes usar el comando du (Uso del disco) para ver el tamaño de los archivos y carpetas en un directorio específico:

du [ruta del directorio]

Desafortunadamente, el resumen mostrará los números de bloque de disco en lugar de bytes, kilobytes y megabytes. Por lo tanto, para mostrarlo en un formato legible por humanos, debes insertar la opción -h después del comando du:

du -h / home

Los resultados serán más comprensibles:

Los resultados de du command

Consulta este artículo para leer más sobre el comando du.

Conclusión

Aprender los comandos SSH es crucial para administrar el servidor Linux o VPS. Es la forma más eficaz de navegar por tu sistema y modificar archivos o carpetas.

Afortunadamente, has aprendido 17 comandos SSH esenciales que todo webmaster debería conocer. Ahora puedes realizar fácilmente tareas básicas en tu máquina remota, como crear archivos, eliminarlos, saltar entre directorios, etc.

¡No dudes en comentarnos si tienes alguna pregunta!

Author
El autor

Carlos Mora

Carlos es un profesional del marketing digital, eCommerce y de los constructores de sitios web. Ama ayudar a crecer a empresas en línea a través de sus tips. En su tiempo libre, seguramente está cantando o practicando artes marciales.