El Protocolo de transferencia de archivos (FTP) y el Protocolo seguro de transferencia de archivos (SFTP) son dos de los protocolos más utilizados para transferir archivos entre un dispositivo local y un servidor remoto. Los desarrolladores web los utilizan con frecuencia para enviar cambios a sus servidores y, como tal, hay muchos clientes FTP disponibles. Sin embargo, también hay una herramienta bastante poderosa incorporada en una Mac que puede permitir a los usuarios utilizar los protocolos FTP y SFTP para interactuar con servidores remotos.
En este artículo detallaré cómo puede usar el Terminal (Mac) como un cliente FTP o SFTP, para realizar una variedad de tareas en servidores remotos. Para fines de ilustración, estoy usando un servidor de prueba con Linux, Apache, MySQL y PHP instalado, con acceso SSH habilitado. Le diré cómo puede realizar tareas básicas de FTP / SFTP, como cargar / descargar archivos, cambiar el nombre, mover, eliminar, etc. utilizando el terminal macOS ', en lugar de un cliente FTP de terceros.
Nota: Para usar SFTP, deberá tener habilitado el acceso SSH en su servidor. Si no tiene acceso SSH, puede comunicarse con su proveedor de alojamiento o puede usar FTP. Pero tenga en cuenta que FTP generalmente no se considera seguro, así que tenga cuidado.
Iniciar sesión en el servidor
Iniciar sesión en el servidor remoto es bastante sencillo. Necesitará un nombre de usuario y contraseña de FTP / SFTP para iniciar sesión en el servidor. FTP puede permitir inicios de sesión anónimos, pero es mejor autenticarse con un nombre de usuario y contraseña.
Utilizando FTP
El comando para iniciar sesión en un servidor remoto mediante FTP es:
ftp server_ip
Luego se le solicitará su nombre de usuario, escríbalo y presione Enter. A continuación, la Terminal le pedirá su contraseña, la ingresará, presionará Entrar y se iniciará sesión.
Utilizando SFTP
El comando para iniciar sesión en un servidor remoto usando SFTP, es:
sftp [email protected]_ip
A continuación, se le pedirá la contraseña. Tecléalo y pulsa Intro para iniciar sesión.
1. Cargar y descargar archivos
Una de las funciones básicas de un cliente FTP / SFTP es la capacidad de cargar archivos desde el host local al servidor remoto y descargar archivos desde el servidor remoto.
Utilizando FTP o SFTP
- Subir archivos
El comando para cargar archivos a un servidor remoto, es:
put path_to_local_file remote_file
Por ejemplo, si quisiera cargar un archivo llamado index.txt, el comando se convertirá en:
put /Users/akshaygangwar/index.txt index.txt
Este comando colocará el archivo llamado "index.html" de mi directorio de inicio, en el directorio de trabajo en el servidor remoto.
Nota: para averiguar su directorio de trabajo, puede usar el comando "pwd"
- Descargar archivos
El comando para descargar archivos desde un servidor remoto, es:
get path_to_remote_file local_file
Por ejemplo, si quisiera descargar un archivo llamado newfile.txt, el comando se convertirá en:
get newfile.txt newfile.txt
Este comando descargará el archivo llamado "newfile.txt" del directorio de trabajo en el servidor remoto al directorio de trabajo en mi Mac.
2. Creando una nueva carpeta
Crear carpetas (directorios) en un servidor remoto es otra tarea importante que realizan los clientes FTP.
Utilizando FTP o SFTP
Crear una nueva carpeta usando el Terminal es fácil. Es el mismo comando en ambos protocolos FTP y SFTP:
mkdir directory_name
Por ejemplo, si quisiera crear una carpeta con el nombre de "Beebom", el comando se convertirá en:
mkdir Beebom
Esto creará una carpeta llamada "Beebom", en el directorio de trabajo en el servidor remoto.
3. Renombrando archivos en el servidor
El cambio de nombre de los archivos en el servidor remoto se puede lograr fácilmente usando la Terminal como cliente.
Utilizando FTP o SFTP
El comando para cambiar el nombre de los archivos en un servidor remoto que usa la Terminal como un cliente FTP / SFTP se puede realizar con el siguiente comando:
rename old_name new_name
Por ejemplo, si quisiera cambiar el nombre de "newfile.txt" a "mainlog.txt", el comando se convertirá en:
rename newfile.txt mainlog.txt
Esto cambiará el nombre del archivo "newfile.txt" a "mainlog.txt"
4. Eliminar archivos
La Terminal también puede permitirle eliminar archivos del servidor remoto. Los comandos en este caso son diferentes tanto para FTP como para SFTP, y los estoy indicando por separado.
Utilizando FTP
El comando para eliminar archivos de un servidor remoto mediante FTP, es:
delete file_name
Por ejemplo, si quisiera eliminar el archivo llamado "beebomold.txt", el comando se convertirá en:
delete beebomold.txt
Esto eliminará el archivo "beebomold.txt" fuera del servidor remoto.
Utilizando SFTP
El comando para eliminar archivos de un servidor remoto usando SFTP, es:
rm file_name
Por ejemplo, si quisiera eliminar el archivo llamado "beebomold.txt" usando SFTP, el comando será:
rm beebomold.txt
Esto eliminará el archivo "beebomold.txt" del servidor remoto.
5. Mover archivos dentro del servidor remoto
Usar la Terminal como un cliente FTP también puede permitirle mover archivos dentro del propio servidor remoto, exactamente como lo haría en un cliente FTP de terceros.
Utilizando FTP o SFTP
El comando para mover archivos dentro del servidor tanto en FTP como en SFTP es:
rename file_name path_to_new_file/file_name
Por ejemplo, si quisiera mover un archivo llamado "testresults.txt" del directorio "test" al directorio "resultados", el comando se convertirá en:
rename testresults.txt results/testresults.txt
Esto moverá el archivo "testresults.txt" a la subcarpeta "resultados".
6. Verifique la fecha de "Última modificación"
Verificar la fecha de "Última modificación" de un archivo o una carpeta es útil si necesita saber qué archivos y carpetas se actualizaron cuando. Usted puede lograr esto en la Terminal también.
Utilizando FTP o SFTP
El comando para verificar la última fecha de modificación de un archivo es:
ls -l file_name
Este comando muestra alguna información en forma tabular. La columna con los valores de fecha y hora corresponde al valor "Última modificación".
Por ejemplo, si quisiera verificar la fecha en que se modificó por última vez "testresults.txt", el comando será:
ls -l testresults.txt
7. Comprobar y modificar permisos
Tener archivos configurados con los permisos adecuados es muy importante. A veces, los permisos incorrectos pueden llevar a que su aplicación web ni siquiera se cargue.
Utilizando FTP o SFTP
- Comprobación de permisos
La verificación y modificación de permisos utilizando el Terminal como cliente es muy sencilla, el comando es:
ls -l file_name
Este comando muestra alguna información en forma tabular. La primera columna muestra los permisos en el archivo.
Por ejemplo, si quisiera verificar los permisos en el archivo "testresults.txt", usaré el comando como:
ls -l testresults.txt
- Modificar permisos
Si ve un archivo que tiene permisos incorrectos, o si solo quiere jugar con los permisos, puede usar la Terminal para modificar los permisos del archivo. El comando es:
chmod permissions_value file_name
Por ejemplo, si quisiera otorgar permisos completos de lectura, escritura y ejecución al archivo "testresults.txt", el comando se convertirá en
chmod 777 testresults.txt
Este comando otorgará permisos de lectura, escritura y ejecución al archivo "testresults.txt"
8. Crear nuevos archivos
Crear nuevos archivos en el servidor es una tarea que no se realiza fácilmente en la Terminal. Sin embargo, eso no significa que no sea posible. El problema con la creación de nuevos archivos es que debe tener una copia del archivo en su computadora portátil antes de poder cargarlo en el servidor.
Utilizando FTP o SFTP
Los comandos para crear un archivo en el servidor remoto, son:
!touch file_name
put file_name file_name
Por ejemplo, si quiero crear un archivo "newtest.txt" en el servidor, los comandos se convertirán en:
!touch newtest.txt
put newtest.txt newtest.txt
Esto creará un nuevo archivo llamado "newtest.txt" y lo subirá al servidor.
9. Editar archivos existentes
Editar archivos existentes también es una característica importante. Puede editar un archivo en el propio Terminal, utilizando programas como nano, emacs, etc., que ya están integrados en el Terminal. Nano es más fácil de entender, y lo usaré en este ejemplo.
Utilizando FTP o SFTP
Los comandos para editar archivos existentes en el servidor remoto, son:
get file_name file_name
!nano file_name
put file_name file_name
Por ejemplo, si quiero editar el archivo "newtest.txt", los comandos se convertirán en:
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
Estos comandos editarán el archivo "newtest.txt" y lo subirán de nuevo al servidor.
10. Creando copias duplicadas de archivos
Cuando está editando archivos en el servidor remoto, es mejor tener una copia del archivo original, en caso de que ensucie algo.
Utilizando FTP o SFTP
Para crear una copia duplicada de un archivo en el servidor remoto, los comandos son:
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
Por ejemplo, si quiero crear una copia duplicada "newtest_copy.txt" de "newtest.txt", los comandos se convertirán en:
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
Aproveche el poder del terminal Mac con FTP o SFTP
Ahora que sabe cómo puede usar el Terminal como un cliente FTP o SFTP, puede usarlo para enviar FTP o SFTP a su servidor de desarrollo, sin tener que preocuparse de que aplicaciones de terceros instalen software inflable, o no protejan su tráfico. Si tiene algún problema con el uso de FTP o SFTP desde su Terminal, o si cree que nos hemos perdido algo, háganoslo saber en la sección de comentarios a continuación.