One place for hosting & domains

      Cómo evitar saltos de línea con CSS


      Introducción

      Generalmente, a los desarrolladores les gusta ajustar el texto de las páginas web. Esto restringe el texto de una forma u otra y evita problemas de diseño. Ajustar el texto también puede evitar que ocurra un desplazamiento horizontal. Pero hay momentos en los que deseamos que los bloques de texto permanezcan en la misma línea, independientemente de su longitud. Los saltos de línea y el ajuste de texto se puede evitar para elementos específicos usando la propiedad white-space de CSS.

      En este tutorial, agregará estilo al mismo bloque de texto de cuatro formas diferentes, primero con los saltos de línea y luego tres veces sin saltos de línea:

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Esto le dará varias opciones para ajustar o no ajustar su texto.

      Requisitos previos

      Para completar este tutorial, necesitará lo siguiente:

      Paso 1: Prevenir y forzar saltos de línea en CSS

      En este paso, creará una hoja de estilo con tres clases diferentes. Cada una de ellas manejará los saltos de línea de forma diferente: la primera saltará el texto de la forma predeterminada, mientras que la segunda y la tercera forzarán el texto a no crear una nueva línea y saltarla.

      Primero, cree y abra un archivo llamado main.css usando nano o el editor de su preferencia:

      Añada el siguiente contenido, que introducirá tres clases de CSS que utilizan diversas propiedades, incluyendo white-space:

      ./main.css

      .sammy-wrap {
          border-radius: 6px;
          background-color: aliceblue;
          border: 2px dashed gray;
          max-width: 70%;
          padding: 1em;
          margin-bottom: .4em;
      }
      .sammy-nowrap-1 {
          border-radius: 6px;
          background-color: aliceblue;
          border: 2px dashed gray;
          max-width: 70%;
          padding: 1em;
          margin-bottom: .4em;
          white-space: nowrap;
      }
      .sammy-nowrap-2 {
          border-radius: 6px;
          background-color: aliceblue;
          border: 2px dashed gray;
          max-width: 70%;
          padding: 1em;
          margin-bottom: .4em;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
      }
      

      Su primera clase es .sammy-wrap. Define seis propiedades comunes de CSS, incluyendo border-radius, background-color, border max-width, padding y margin-bottom. Esta clase creará un cuadro visual, pero no define ninguna propiedad de ajuste especial. Esto significa que saltará líneas de forma predeterminada.

      La segunda clase es .sammy-nowrap-1. Define el mismo cuadro que .sammy-wrap, pero ahora añade otra propiedad: white-space. La propiedad white-space tiene numerosas opciones, las cuales definen cómo tratar el espacio en blanco dentro de un elemento determinado. Aquí, configuró white-space para nowrap, lo que evitará todos los saltos de línea.

      Su tercera clase es .sammy-nowrap-2. Añade white-space y dos propiedades adicionales: overflow y text-overflow. La propiedad overflow maneja scrollable overflow, que ocurre cuando el contenido dentro de un elemento se extiende fuera de los bordes de ese elemento. La propiedad overflow permite desplazar, hacer visible u ocular el contenido. Configurar overflow a hidden y, luego, usar la propiedad text-overflow añade aún más personalización. text-overflow puede ayudarlo a indicarle a un usuario que el texto adicional sigue oculto. Al configurarlo a ellipsis, su línea no se saltará ni extenderá más allá del cuadro. CSS ocultará el desbordamiento y señalará el contenido oculto con unos ....

      Guarde y cierre su archivo.

      Ahora que tiene una hoja de estilo, está listo para realizar un archivo HTML corto con un texto de muestra. Luego, cargará la página web en un navegador e inspeccionará cómo CSS puede evitar saltos de línea.

      Paso 2: Crear el archivo HTML

      Al comprender la definición de las clases de CSS, puede aplicarlas a algún texto de muestra.

      Cree y abra un archivo llamado index.html en el editor de su preferencia. Asegúrese de ponerlo en la misma carpeta que main.css:

      Añada el siguiente contenido, que asociará main.css como su stylesheet y, luego, aplicará las clases a un bloque de texto de muestra:

      ./index.html

      <!DOCTYPE HTML>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>How To Prevent Line Breaks with CSS</title>
      <link href="https://www.digitalocean.com/community/tutorials/main.css" rel="stylesheet">
      </head>
      
      <body>
      <p class="sammy-wrap"    > Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.</p>
      
      <p class="sammy-nowrap-1"> Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.</p>
      
      <p class="sammy-nowrap-2"> Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.</p>
      
      <p class="sammy-wrap"    > Medusafish&nbsp;banded&nbsp;killifish&nbsp;convict&nbsp;blenny&nbsp;saury&nbsp;threadsail&nbsp;beluga&nbsp;sturgeon.&nbsp;Indian&nbsp;mul&nbsp;mora&nbsp;cisco&nbsp;masu&nbsp;salmon,&nbsp;roosterfish&nbsp;requiem&nbsp;shark&nbsp;longnose&nbsp;lancetfish&nbsp;bluefish&nbsp;red&nbsp;snapper&nbsp;Sacramento&nbsp;splittail&nbsp;giant&nbsp;danio.</p>
      </body>
      </html>
      

      Asignó el estilo de ajuste estándar al primer bloque de texto, el estilo nowrap al segundo, y nowrap que está oculto (hidden) con ellipsis al tercero. Asignó sammy-wrap a la cuarta muestra, pero está anulando el ajuste predeterminado insertando espacios sin salto (&nbsp;) directamente en el HTML. Si necesita evitar los saltos de línea como caso excepcional, los espacios sin salto pueden ser una solución rápida.

      Abra index.html en un navegador web y vea sus resultados. Sus cuatro bloques de texto aparecerán así:

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Medusafish banded killifish convict blenny saury threadsail beluga sturgeon. Indian mul mora cisco masu salmon, roosterfish requiem shark longnose lancetfish bluefish red snapper Sacramento splittail giant danio.

      Personalizó correctamente las propiedades de CSS para evitar o permitir saltos de línea de cuatro maneras diferentes.

      Conclusión

      En este tutorial, utilizó CSS para evitar saltos de línea en un bloque de texto. Personalizó el texto dentro de un cuadro y, luego, añadió la propiedad white-space para anular el ajuste de texto predeterminado. Para obtener más información sobre cómo manejar el ajuste de texto y los espacios en blanco, considere la posibilidad de explorar toda la propiedad white-space de CSS.



      Source link

      Cómo crear un efecto de paralaje de desplazamiento con Pure CSS en Chrome


      Introducción

      Modern CSS es una potente herramienta que puede usar para crear diversas funciones avanzadas de interfaz de usuario (UI). En el pasado, estas funciones dependían de las bibliotecas de JavaScript.

      En esta guía, configurará algunas líneas CSS para crear un efecto de paralaje de desplazamiento en una página web. Usará imágenes de placekitten.com como imágenes de marcador de posición en segundo plano.

      Tendrá una página web con un efecto puro de paralaje de desplazamiento de CSS una vez que haya completado el tutorial.

      Advertencia: En este artículo, se utilizan propiedades experimentales de CSS que no funcionan en los distintos navegadores. Este proyecto se probó y funciona en Chrome. Esta técnica no funciona bien en Firefox, Safari e iOS por algunas de las optimizaciones de esos navegadores.

      Paso 1: Crear un nuevo proyecto

      En este paso, utilice la línea de comandos para configurar una nueva carpeta y archivos de proyecto. Para comenzar, abra su terminal y cree una nueva carpeta de proyecto.

      Escriba el siguiente comando para crear la carpeta del proyecto:

      En este caso, nombre la carpeta css-parallax. Ahora, posiciónese en la carpeta css-parallax:

      Luego, cree un archivo index.html en su carpeta css-parallax con el comando nano:

      Pondrá todo el HTML para el proyecto en este archivo.

      En el siguiente paso, comenzará a crear la estructura de la página web.

      Paso 2: Configurar la estructura de la aplicación

      En este paso, añadirá el HTML que necesita para crear la estructura del proyecto.

      Dentro de su archivo index.html, agregue el siguiente código:

      css-parallax/index.html

      
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8" />
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
          <title>CSS Scrolling Parallax</title>
        </head>
        <body></body>
      </html>
      

      Esta es la estructura básica de la mayoría de las páginas web que utilizan HTML.

      Añada el siguiente código en la etiqueta <body>:

      css-parallax/index.html

      
      <body>
      ...
         <main>
            <section class="section parallax bg1">
               <h1>Cute Kitten</h1>
            </section>
            <section class="section static">
               <h1>Boring</h1>
            </section>
            <section class="section parallax bg2">
               <h1>Fluffy Kitten</h1>
            </section>
         </main>
      ...
      </body>
      
      

      Este código crea tres secciones diferentes. Dos tendrán una imagen de fondo, y una será un fondo estático y simple.

      En los siguientes pasos, añadirá los estilos para cada sección usando las clases que añadió en el HTML.

      Paso 3: Crear un archivo CSS y agregar el CSS inicial

      En este paso, creará un archivo CSS. Luego, añadirá en el CSS inicial que necesita para diseñar el sitio web y crear el efecto de paralaje.

      Primero, cree el archivo styles.css en su carpeta css-parallax con el comando nano:

      Aquí es donde pondrá todo el CSS que necesita para crear el efecto de paralaje de desplazamiento.

      Luego, comience con la clase .wrapper. Dentro de su archivo styles.css, añada el siguiente código:

      css-parallax/styles.css

      .wrapper {
        height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
        perspective: 2px;
      }
      

      La clase .wrapper establece las propiedades de perspectiva y desplazamiento para toda la página.

      La altura del wrapper debe configurarse en un valor fijo para que el efecto funcione. Puede usar la unidad del área de visualización (viewport) vh configurada a 100 para obtener la altura completa del área de visualización de la pantalla.

      Cuando escale las imágenes, se añadirá una barra de desplazamiento horizontal a la pantalla para que pueda deshabilitarla añadiendo overflow-x: hidden;. La propiedad perspective simula la distancia desde el área de visualización a los seudoelementos que creará y transformará más adelante en el CSS.

      En el siguiente paso, va a añadir más CSS para diseñar su página web.

      Paso 4: Añadir estilos a la clase .section

      En este paso, añadirá estilos a la clase .section.

      Dentro de su archivo styles.css, añada el siguiente código debajo de la clase wrapper:

      css-parallax/styles.css

      
      .wrapper {
        height: 100vh;
        overflow-x: hidden;
        perspective: 2px;
      }
      .section { 
        position: relative;
        height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        text-shadow: 0 0 5px #000;
      }
      

      La clase .section define el tamaño, la pantalla y las propiedades de texto para las secciones principales.

      Establezca una posición de relative para que el elemento secundario, .parallax::after pueda posicionarse de manera absoluta en relación con el elemento principal .section.

      Cada sección tiene un view-height(vh) de 100 para ocupar la altura completa del área de visualización. Este valor puede modificarse y configurarse a la altura que prefiera para cada sección.

      Finalmente, las propiedades de CSS restantes se utilizan para dar formato y agregar estilo al texto dentro de cada sección. Posiciona el texto en el centro de cada sección y agrega un color blanco (white).

      El siguiente paso es añadir un seudoelemento y agregarle estilo para crear el efecto de paralaje en dos de las secciones en su HTML.

      Paso 5: Añadir estilos a la clase .parallax

      En este paso, añadirá los estilos a la clase .parallax.

      Primero, añadirá un seudoelemento en la clase .parallax a la que agregará el estilo.

      Nota: Puede visitar la documentación web de MDN para obtener más información sobre los seudoelementos de CSS.

      Añada el siguiente código debajo de la clase .section:

      css-parallax/styles.css

      ...
      
      .section {
        position: relative;
        height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        text-shadow: 0 0 5px #000;
      }
      
      .parallax::after {
        content: " ";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateZ(-1px) scale(1.5);
        background-size: 100%;
        z-index: -1;
      }
      ...
      

      La clase .parallax añade un seudoelemento ::after a la imagen de fondo y proporciona las transformaciones necesarias para el efecto de paralaje.

      El seudoelemento es el último elemento secundario del elemento con la clase .parallax.

      La primera mitad del código muestra y posiciona el seudoelemento. La propiedad transform mueve el seudoelemento lejos de la cámara en el z-index y, luego, lo escala de vuelta para llenar el área de visualización.

      Dado que el seudoelemento está más lejos, parece moverse más lentamente.

      En el siguiente paso, añadirá las imágenes de fondo y el estilo de fondo estático.

      Paso 6: Añadir las imágenes y el fondo para cada sección

      En este paso, añadirá las propiedades finales de CSS para añadir las imágenes y el color de fondo de la sección estática.

      Primero, añada un color sólido de fondo a la sección .static con el siguiente código después de la clase .parallax::after:

      css-parallax/styles.css

      ...
      
      .parallax::after {
        content: " ";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateZ(-1px) scale(1.5);
        background-size: 100%;
        z-index: -1;
      }
      
      .static {
        background: red;
      }
      ...
      

      La clase .static agrega un fondo a la sección estática que no tiene ninguna imagen.

      Las dos secciones con la clase .parallax también tienen otra clase que es diferente para cada una. Utilice las clases .bg1 y .bg2 para añadir las imágenes de fondo de Kitten.

      Añada el siguiente código a la clase .static:

      css-parallax/styles.css

      ...
      
      .static {
        background: red;
      }
      .bg1::after {
        background-image: url('https://placekitten.com/g/900/700');
      }
      
      .bg2::after {
        background-image: url('https://placekitten.com/g/800/600');
      }
      
      ...
      

      Las clases .bg1, .bg2 añaden las imágenes de fondo respectivas para cada sección.

      Las imágenes son del sitio web placekitten. Es un servicio para obtener imágenes de gatitos y utilizarlas como marcadores de posición.

      Una vez que añada el código completo para el efecto de paralaje de desplazamiento, puede vincularlo al archivo styles.css en el archivo index.html.

      Paso 7: Vincular styles.css y abrir index.html en su navegador

      En este paso, vinculará el archivo styles.css y abrirá el proyecto en su navegador para ver el efecto de paralaje de desplazamiento.

      Primero, añada el siguiente código a la etiqueta <head> en el archivo index.html:

      css-parallax/index.html

       ...
      <head>
        <meta charset="UTF-8" />
        <^>
        <link rel="stylesheet" href="https://www.digitalocean.com/community/tutorials/styles.css" />
        <^>
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>CSS Parallax</title>
      </head>
      
      ...
      

      Ahora, puede abrir el archivo index.html en su navegador:

      Gif animado del efecto de paralaje de desplazamiento

      Al hacer esto, habrá configurado una página web con un efecto de desplazamiento. Consulte este repositorio de GitHub para ver el código completo.

      Conclusión

      En este artículo, configuró un proyecto con un archivo index.html y styles.css, y ahora tiene una página web funcional. Modificó la estructura de su página web y creó estilos para las diversas secciones en el sitio.

      Las imágenes utilizadas o el efecto de paralaje se pueden alejar aún más para que se muevan más lentamente. Tendrá que cambiar la cantidad de píxeles en las propiedades perspective y transform. Si no desea que la imagen de fondo se desplace en absoluto, utilice background-attachment: fixed; en vez de perspective/translate/scale.



      Source link

      Cómo usar SFTP para transferir archivos con un servidor remoto de manera segura


      Introducción

      FTP, o “File Transfer Protocol” (Protocolo de transferencia de archivos), era un método popular sin cifrar para transferir archivos entre dos sistemas remotos.

      SFTP, que significa Protocolo de transferencia de archivos SSH o Protocolo de transferencia segura de archivos, es un protocolo independiente empaquetado con SSH que funciona de forma similar pero a través de una conexión segura. La ventaja es la capacidad de aprovechar una conexión segura para transferir archivos y recorrer el sistema de archivos en los sistemas local y remoto.

      En casi todos los casos, es preferible usar SFTP, en vez de FTP, debido a sus características de seguridad subyacentes y a su capacidad para aprovechar una conexión SSH. FTP es un protocolo no seguro que solo debería utilizarse en casos limitados o en redes de confianza.

      Aunque SFTP está integrado en muchas herramientas gráficas, esta guía mostrará cómo utilizarlo en su interfaz de línea de comandos interactiva.

      Cómo conectarse con SFTP

      De forma predeterminada, SFTP utiliza el protocolo SSH para autenticarse y establecer una conexión segura. Por eso, están disponibles los mismos métodos de autenticación que en SSH.

      Aunque las contraseñas son fáciles de usar y se configuran de forma predeterminada, le recomendamos crear claves SSH y transferir su clave pública a cualquier sistema al que necesite acceder. Eso es mucho más seguro y puede ahorrarle tiempo a largo plazo.

      Consulte esta guía para configurar claves SSH para acceder a su servidor si aún no lo hizo.

      Si puede conectarse al equipo usando SSH, habrá completado todos los requisitos necesarios para usar SFTP para administrar archivos. Pruebe el acceso SSH con el siguiente comando:

      • ssh sammy@your_server_ip_or_remote_hostname

      Si esto funciona, salga de nuevo escribiendo:

      Ahora, podemos establecer una sesión SFTP ejecutando el siguiente comando:

      • sftp sammy@your_server_ip_or_remote_hostname

      Conectará el sistema remoto, y la entrada de su línea de comandos cambiará a una instrucción SFTP.

      Si está trabajando en un puerto SSH personalizado (no el puerto 22 predeterminado), puede iniciar una sesión SFTP de la siguiente manera:

      • sftp -oPort=custom_port sammy@your_server_ip_or_remote_hostname

      Eso lo conectará al sistema remoto mediante el puerto especificado.

      Cómo obtener ayuda en SFTP

      El comando más útil que debe conocer primero es el comando help. Este comando le da acceso a un resumen de la ayuda en SFTP. Puede invocarlo escribiendo cualquiera de estos en la instrucción:

      o

      Eso mostrará una lista de los comandos disponibles:

      Output

      Available commands: bye Quit sftp cd path Change remote 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' df [-hi] [path] Display statistics for current directory or filesystem containing 'path' exit Quit sftp get [-Ppr] remote [local] Download file help Display this help text lcd path Change local directory to 'path' . . .

      En las siguientes secciones, exploraremos algunos de los comandos que verá.

      Cómo navegar con SFTP

      Podemos navegar a través de la jerarquía de archivos del sistema remoto usando varios comandos que funcionan de forma similar a sus contrapartes de shell.

      Primero, orientémonos averiguando en qué directorio estamos actualmente en el sistema remoto. Al igual que en una sesión típica de shell, podemos escribir lo siguiente para obtener el directorio actual:

      Output

      Remote working directory: /home/demouser

      Podemos ver el contenido del directorio actual del sistema remoto con otro comando familiar:

      Output

      Summary.txt info.html temp.txt testDirectory

      Tenga en cuenta que los comandos en la interfaz SFTP no son los comandos de shell normales y no cuentan con la misma cantidad de funciones, pero implementan algunos de los indicadores opcionales más importantes:

      Output

      drwxr-xr-x 5 demouser demouser 4096 Aug 13 15:11 . drwxr-xr-x 3 root root 4096 Aug 13 15:02 .. -rw------- 1 demouser demouser 5 Aug 13 15:04 .bash_history -rw-r--r-- 1 demouser demouser 220 Aug 13 15:02 .bash_logout -rw-r--r-- 1 demouser demouser 3486 Aug 13 15:02 .bashrc drwx------ 2 demouser demouser 4096 Aug 13 15:04 .cache -rw-r--r-- 1 demouser demouser 675 Aug 13 15:02 .profile . . .

      Para llegar a otro directorio, podemos ejecutar este comando:

      Ahora, podemos recorrer el sistema de archivos remotos, pero ¿qué pasa si necesitamos acceder a nuestro sistema de archivos local? Podemos dirigir los comandos al sistema de archivos locales precediéndolos con una l que hace referencia a “local”.

      Todos los comandos examinados hasta ahora tienen equivalentes locales. Podemos imprimir el directorio local de trabajo:

      Output

      Local working directory: /Users/demouser

      Podemos enumerar el contenido del directorio actual en el equipo local:

      Output

      Desktop local.txt test.html Documents analysis.rtf zebra.html

      También podemos cambiar el directorio con el que deseamos interactuar en el sistema local:

      Cómo transferir archivos con SFTP

      Navegar por los sistemas de archivos locales y remotos es muy poco útil si no se puede transferir archivos entre ambos.

      Transferencia de archivos remotos al sistema local

      Si queremos descargar archivos de nuestro host remoto, podemos hacerlo ejecutando el siguiente comando:

      Output

      Fetching /home/demouser/remoteFile to remoteFile /home/demouser/remoteFile 100% 37KB 36.8KB/s 00:01

      Como puede ver, de forma predeterminada, el comando get descarga un archivo remoto a un archivo con el mismo nombre en el sistema de archivos locales.

      Podemos copiar el archivo remoto a un nombre diferente especificando el nombre después:

      El comando get también toma algunos indicadores de opción. Por ejemplo, podemos copiar un directorio y todo su contenido especificando la opción recursiva:

      Podemos indicarle a SFTP que mantenga los permisos y los tiempos de acceso adecuados utilizando el indicador -P o -p:

      Transferencia de archivos locales al sistema remoto

      Transferir archivos al sistema remoto es tan fácil como utilizar el comando correctamente llamado “put”:

      Output

      Uploading localFile to /home/demouser/localFile localFile 100% 7607 7.4KB/s 00:00

      Los mismos indicadores que funcionan con get se aplican a put. Para copiar un directorio local completo, puede ejecutar:

      Nota: Actualmente, hay un error en las versiones de OpenSSH incluidas en las versiones actuales de Ubuntu (al menos de la versión 14.04 a la 15.10) que impide que el comando anterior funcione correctamente. Cuando se ejecuta el comando anterior para transferir contenido a un servidor utilizando la versión con errores de OpenSSH, se producirá el siguiente error: Couldn't canonicalise: No such file or directory (No se pudo canonizar: no existe tal archivo o directorio).

      Para resolver este problema, primero cree el directorio de destino en el extremo remoto escribiendo mkdir localDirectory. Luego, el comando anterior debería completarse sin errores.

      Una herramienta familiar que es útil para descargar y cargar archivos es el comando df, que funciona de forma similar a la versión de la línea de comandos. Al utilizarla, puede verificar que tiene suficiente espacio para completar las transferencias que le interesan:

      Output

      Size Used Avail (root) %Capacity 19.9GB 1016MB 17.9GB 18.9GB 4%

      Tenga en cuenta que no hay ninguna variación local de este comando, pero podemos solucionarlo ejecutando ! como comando.

      El comando ! nos lleva a un shell local, donde podemos ejecutar cualquier comando disponible en nuestro sistema local. Podemos verificar el uso del disco escribiendo lo siguiente:

      y luego

      Output

      Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 595Gi 52Gi 544Gi 9% / devfs 181Ki 181Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home

      Cualquier otro comando local funcionará de la manera esperada. Para volver a su sesión SFTP, escriba lo siguiente:

      Ahora, debería ver el retorno de la instrucción de SFTP.

      Manipulaciones de archivos simples con SFTP

      SFTP le permite realizar el tipo de mantenimiento básico de archivos que es útil cuando se trabaja con jerarquías de archivos.

      Por ejemplo, puede cambiar el propietario de un archivo en el sistema remoto con:

      Observe cómo, a diferencia del comando chmod del sistema, el comando SFTP no acepta nombres de usuario, sino que utiliza UID. Lamentablemente, no hay una manera sencilla de saber el UID adecuado desde la interfaz SFTP.

      Se puede realizar una solución alternativa más compleja con:

      • get /etc/passwd
      • !less passwd

      Output

      root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh . . .

      Observe cómo en vez de utilizar el comando ! en sí, lo utilizamos como prefijo para un comando de shell local. Eso funciona para ejecutar cualquier comando disponible en nuestro equipo local y podría haberse utilizado anteriormente con el comando local df.

      El UID se encuentra en la tercera columna del archivo, delimitado por caracteres de dos puntos.

      De manera similar, podemos cambiar el propietario del grupo de un archivo con:

      De nuevo, no existe una forma sencilla de obtener una lista de los grupos del sistema remoto. Podemos solucionarlo con el siguiente comando:

      • get /etc/group
      • !less group

      Output

      root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: . . .

      La tercera columna contiene el ID del grupo asociado con el nombre en la primera columna. Eso es lo que buscamos.

      Por suerte, el comando chmod funciona correctamente en el sistema de archivos remotos:

      Output

      Changing mode on /home/demouser/publicFile

      No existe ningún comando para manipular permisos de archivo locales, pero puede quitar la máscara local para que todos los archivos que se copien al sistema local tengan los permisos adecuados.

      Eso se puede lograr con el comando lumask:

      Output

      Local umask: 022

      Ahora, todos los archivos regulares descargados (siempre que no se utilice el indicador -p) tendrán 644 permisos.

      SFTP permite crear directorios en sistemas locales y en sistemas remotos con lmkdir y mkdir, respectivamente. Estos funcionan de la manera prevista.

      El resto de los comandos del archivo solo apuntan al sistema de archivos remotos:

      Estos comandos replican el comportamiento básico de las versiones del shell. Si necesita realizar estas acciones en el sistema de archivos local, recuerde que puede ingresar a un shell ejecutando este comando:

      O ejecutar un comando único en el sistema local anteponiendo ! al comando de esta manera:

      Cuando termine con la sesión SFTP, utilice exit o bye para cerrar la conexión.

      Conclusión

      Aunque SFTP es una herramienta simple, es muy útil para administrar servidores y transferir archivos entre ellos.

      Por ejemplo, puede usar SFTP para permitir que determinados usuarios transfieran archivos sin acceso SSH. Para obtener más información sobre este proceso, consulte nuestro tutorial Cómo habilitar SFTP sin acceso de shell.

      Si está acostumbrado a utilizar FTP o SCP para realizar sus transferencias, SFTP es una buena forma de aprovechar las ventajas de ambos. Si bien no es adecuado para todas las situaciones, es útil tenerlo en su repertorio por ser una herramienta flexible.



      Source link