Comandos para Linux, SSH y SFTP
Comandos Linux - Mover, Copiar, Borrar y Visualizar Archivos
Aquí tenemos algunos comandos útiles para trabajar con archivos:
Listar todos los archivos (excepto los ocultos) del directorio actual, en formato detallado.
ls -l
Listar los archivos del directorio actual, indicando el tipo de archivo.
ls -F
Listar todos los archivos (incluyendo los ocultos) del directorio actual, en formato detallado y presentarlo en columnas.
ls -laC
Borrar el archivo denominado "fichero"
rm fichero
Borrar el directorio denominado "directorio", incluyendo todos sus archivos y subdirectorios.
rmdir -rf directorio
Copiar el archivo o directorio denominado "fichero" al directorio "/home/datos".
cp fichero /home/datos/
Mover el archivo o directorio denominado "fichero" al directorio "/home/datos".
mv fichero /home/datos/
Moverte al “directorio1”
cd /directorio1/
Visualizar el archivo denominado "archivo".
cat archivo
Visualizar todas las paginas de mantenimiento que contienen la palabra "palabraclave".
man -k palabraclave
Visualizar el archivo denominado "archivo", una página a la vez. Para avanzar a la siguiente página se debe presionar la barra espaciadora.
more archivo
Visualizar las 10 primeras líneas del archivo denominado "archivo".
head archivo
Visualizar las 20 primeras líneas del archivo denominado "archivo".
head -20 archivo
Visualizar las 10 últimas líneas del archivo denominado "archivo".
tail archivo
Visualizar las 20 últimas líneas del archivo denominado "archivo".
tail -20 archivo
Como siempre mayor información la podrán encontrár en las páginas de mantenimiento con el comando "man".
Específico para SSH
scp
El comando scp permite copiar ficheros entre dos máquinas. Utiliza ssh para la transmisión de la información, por lo que ofrece la misma seguridad que el ssh. De la misma manera utiliza los métodos de autenticación de ssh. Este comando reemplaza al rcp, ftp.
Este es un ejemplo de uso del scp para copiar desde la máquina local a una remota:
[usuario1@localhost]scp /tmp/file usuario1@servidor.dominio.es:/tmp
También podemos copiar ficheros entre dos máquinas remotas:
[usuario1@localhost] scp usuario1@anotherhost:/tmp/file \
usuario1@servidor.dominio.es:/tmp
Para copiar archivos desde tu máquina al directorio del servidor en el caso de que estés usando ssh para conectarte a la otra máquina.
scp archivo_local usuario@Ip_maquina:/directorio_remoto
La sintaxis del comando es:
scp [-pqrvBC46] [-F ssh_config] [-S program] [-P port] [-c cipher]
[-i identity_file] [-o ssh_option] [[user@]host1:]file1 [...]
[[user@]host2:]file2
Puedes consultar las opciones en la página man de scp, estas son las más habituales:
• -p: conserva las propiedades del archivo. Permisos del archivo, fecha de última de modificación.
• -r: copia recursiva de directorios
realizar alguna operación mas elaborada como realizar una copia en local de un directorio remoto, como en el ejemplo:
ssh usuario1@servidor.dominio.es "tar cf - /home/usuario1" |\
tar xvf -
Específico para sftp
sftp
El comando sftp transfiere archivos entre máquinas de forma interactiva.
Los comandos interactivos son similares al clásico ftp:
[usuario1@localhost usuario1]$ sftp servidor.dominio.es
Connecting to servidor.dominio.es...
usuario1@servidor's password:
sftp> help
Available commands:
cd path Change remote directory to 'path'
lcd path Change local directory to 'path'
chgrp grp path Change group of file 'path' to 'grp'
chmod mode path Change permissions of file 'path' to 'mode'
chown own path Change owner of file 'path' to 'own'
help Display this help text
get remote-path [local-path] Download file
lls [ls-options [path]] Display local directory listing
ln oldpath newpath Symlink remote file
lmkdir path Create local directory
lpwd Print local working directory
ls [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
put local-path [remote-path] Upload file
pwd Display remote working directory
exit Quit sftp
quit Quit sftp
rename oldpath newpath Rename remote file
rmdir path Remove remote directory
rm path Delete remote file
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
sftp>
Un ejemplo de uso:
[usuario1@localhost]sftp usuario1@servidor.dominio.es
sftp> get fichero