Categories
es

Cómo alternar entre dos directorios en la línea de comandos de Linux

Lori Kaufman es una experta en tecnología con 25 años de experiencia. Ha sido redactora técnica sénior, ha trabajado como programadora e incluso ha dirigido su propio negocio con varias sedes. Más información.

Si quieres crear un directorio que contenga varios subdirectorios, o un árbol de directorios, utilizando la línea de comandos en Linux, generalmente tienes que utilizar el comando mkdir varias veces. Sin embargo, hay una forma más rápida de hacerlo.

Digamos que hemos creado un directorio llamado htg, y queremos crear cuatro subdirectorios dentro de él. En una situación normal, utilizaríamos el comando mkdir para crear el directorio htg. Luego, necesitaríamos el comando cd para cambiar al nuevo directorio htg y, finalmente, usaríamos el comando mkdir de nuevo cuatro veces para crear los cuatro subdirectorios.

Todo esto puede combinarse en un solo comando, y te mostraremos cómo.

Para crear un nuevo directorio con múltiples subdirectorios sólo tienes que escribir el siguiente comando en el prompt y pulsar Enter (obviamente, cambia los nombres de los directorios por los que quieras).

La opció n-p indica al comando mkdir que cree primero el directorio principal si aún no existe (htg, en nuestro caso). Las palabras entre paréntesis forman parte de la “lista de expansión de llaves”. Cada uno de los elementos de la lista de expansión de corchetes se añade por separado a la ruta precedente (htg/).

Por ejemplo, el comando anterior se expande a htg/articles, htg/images, htg/note, htg/done, creándose los cuatro subdirectorios bajo el directorio htg. Como puede ver en la captura de pantalla siguiente, funcionó.

También puede utilizar una lista de expansión de llaves en el comando mkdir si está creando subdirectorios en un directorio que ya existe, como se muestra a continuación. En este ejemplo, el directorio htg ya existe, por lo que los subdirectorios simplemente se añaden bajo ese directorio.

También puede anidar listas de expansión de llaves en el comando mkdir. Por ejemplo, en el subdirectorio articles bajo el directorio htg, queremos crear dos subdirectorios llamados new y rewritten. Para ello, escribimos el siguiente comando en el prompt y pulsamos Intro.

También puede utilizar la ruta completa si lo desea, como he hecho en el ejemplo siguiente:

Los cuatro subdirectorios se crean bajo el directorio htg y luego los dos subdirectorios, new y rewrites, se crean bajo el subdirectorio articles.

Así de fácil. También puedes combinar el comando mkdir con el comando cd para crear un directorio y cambiar a él con un solo comando.

  • ‘ Cómo añadir imágenes a las preguntas en los formularios de Google
  • ‘ Cómo borrar tus fotos en Facebook
  • ‘ Razer cree que quieres unos auriculares para juegos de PC que vibran
  • ‘ Cómo conseguir un enlace a una foto o vídeo en Instagram
  • ‘ Ya está aquí la solución para los procesadores AMD lentos en Windows 11

Lori Kaufman Lori Kaufman es una experta en tecnología con 25 años de experiencia. Ha sido redactora técnica sénior, ha trabajado como programadora e incluso ha dirigido su propio negocio con varias sedes. Leer biografía completa “

Si trabaja con archivos

También puedes utilizar el tabulador para introducir el nombre del directorio escribiendo unos cuantos caracteres en el nombre y luego pulsando Tabulador para terminar de introducir el nombre.

Ahora, queremos cambiar a un segundo directorio, así que usamos el comando cd y el tabulador de nuevo.

Ahora, en lugar de escribir el nombre del primer directorio para volver a ese directorio, puedes escribir el siguiente comando en el prompt y pulsar Enter.

Es simplemente el comando cd seguido de un espacio y un guión. Aparecerá el nombre del directorio al que quieres volver y te llevará a él.

Para volver al segundo directorio, utiliza de nuevo el comando cd -.

También puede pulsar la tecla de flecha hacia arriba una vez para acceder al último comando utilizado desde el historial de la línea de comandos, que en este caso fue cd – . Así que, en este punto, para ir y venir entre estos dos directorios, todo lo que tienes que hacer es pulsar la tecla de flecha arriba y Enter. Eso es más rápido que escribir la ruta cada vez, incluso cuando se utiliza el tabulador de finalización.

En un artículo anterior, revisamos las 9 mejores herramientas de comparación y diferencia de archivos (Diff) para Linux y en este artículo, describiremos cómo encontrar la diferencia entre dos directorios en Linux.

Normalmente, para comparar dos archivos en Linux, utilizamos el diff – una herramienta de línea de comandos Unix simple y original que le muestra la diferencia entre dos archivos de ordenador; compara archivos línea por línea y es fácil de usar, viene con pre-instalado en la mayoría si no todas las distribuciones de Linux.

La pregunta es ¿cómo obtenemos la diferencia entre dos directorios en Linux? Aquí, queremos saber qué archivos/subdirectorios son comunes en los dos directorios, aquellos que están presentes en un directorio pero no en el otro.

La sintaxis convencional para ejecutar diff es la siguiente:

Por defecto, su salida se ordena alfabéticamente por nombre de fichero/subdirectorio como se muestra en la captura de pantalla de abajo. En este comando, la opció n-q indica a diff que informe sólo cuando los archivos difieran.

De nuevo, diff no entra en los subdirectorios, pero podemos usar la opció n-r para leer los subdirectorios también de esta forma.

Usando la Herramienta Visual Meld Diff and Merge

Existe una interesante opción gráfica llamada meld (una herramienta visual de fusión y diferenciación para el Escritorio GNOME) para aquellos que disfrutan usando el ratón, puede instalarla de la siguiente manera.

Una vez que la hayas instalado, busca ” meld ” en el Dash de Ubuntu o en el menú de Linux Mint , en la vista general de actividades en el escritorio de Fedora o CentOS y lánzala.

Verás la interfaz de Meld a continuación, donde puedes elegir la comparación de archivos o directorios, así como la vista de control de versiones. Haga clic en comparación de directorios y pase a la siguiente interfaz.

Seleccione los directorios que desea comparar, tenga en cuenta que puede añadir un tercer directorio marcando la opción ” Comparación de 3 vías “.

Una vez seleccionados los directorios, haga clic en ” Comparar “.

En este artículo, hemos descrito cómo encontrar la diferencia entre dos directorios en Linux. Si conoces algún otro método de línea de comandos o interfaz gráfica, no olvides compartir tu opinión sobre este artículo a través de la sección de comentarios más abajo.

Si Aprecias Lo Que Hacemos Aqui En TecMint, Deberias Considerarlo:

TecMint es el sitio de la comunidad de más rápido crecimiento y de mayor confianza para cualquier tipo de Linux Artículos, Guías y Libros en la web. Millones de personas visitan TecMint! para buscar o navegar por los miles de artículos publicados disponibles GRATUITAMENTE para todos.

Si le gusta lo que está leyendo, por favor considere comprarnos un café ( o 2 ) como muestra de agradecimiento.

Estamos agradecidos por su apoyo constante.

Entradas relacionadas

7 thoughts on “Cómo encontrar la diferencia entre dos directorios usando las herramientas Diff y Meld”

Hay una gran herramienta llamada Beyond Compare aquí https://www. scootersoftware. com/ .

Es una herramienta GUI con versiones para Linux, Mac y Windows. También puede conectarse a un servidor remoto mediante sftp.

Muchas gracias por compartirlo, lo comprobaremos.

No importa, tenemos una versión QT de Meld. Se llama KDiff3

KDE tiene Kompare pero sólo funciona para archivos…

Puedo usar el comando diff con un servidor remoto, supongamos que hay una segunda carpeta en el servidor B, entonces como usar el comando diff.

Usted puede encontrar la diferencia entre dos archivos, uno local y otro remoto, así:

Puede que la mejor herramienta, en este caso, sea rsync .

¿Tienes algo que decir? Únete a la discusión.

Cancelar respuesta

Este sitio utiliza Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

La mayoría de los usuarios intermedios y casi todos los avanzados prefieren CLI sobre el modo GUI, porque hay una plétora de trucos de línea de comandos para hacer las cosas mucho más fácil y más rápido. Hoy, me gustaría compartir un simple truco. Este sencillo truco de bash puede ayudarte a cambiar automáticamente a un directorio sin usar el comando cd. Todo lo que necesitas hacer es introducir la ruta del directorio en la Terminal, y serás redirigido a ese directorio en particular. Esto puede ser útil en scripts y para aquellos que usan mucho la línea de comandos en el trabajo. Sigue leyendo.Cambiar a un directorio sin usar el comando cd

Digamos que quieres ir al directorio Descargas . No necesitas escribir “cd Descargas” cada vez para ir a ese directorio. En lugar de eso, sólo escribe “Descargas” en la Terminal. Suena bien, ¿verdad? Pues sí.

Simplemente escribamos Descargas en la Terminal, y veamos qué sucede.

Deberías escribir “cd Descargas” para ir al directorio Descargas, ¿verdad? Pero, ¡espera! Ya no tienes que usar el comando cd. Todo lo que tienes que hacer es añadir una sola línea en el archivo bashrc.

Para ello, edita tu archivo bashrc:

Y, añade la siguiente línea al final:

Actualiza los cambios realizados en el archivo bashrc con el siguiente comando:

¡Ya está! Ahora puedes ir a cualquier directorio sin usar el comando cd. Sólo tienes que introducir la ruta del directorio como a continuación. Bash añadirá automáticamente cd cuando introduzcas la ruta de cualquier directorio en el Terminal.

Mira la captura de pantalla de arriba. ¿Usé el comando “cd”? No. Sólo ingresé el nombre del directorio y automáticamente fui al directorio respectivo.

Otra ventaja de este método es que no sólo te ayuda a cambiar a directorios sucesivos, sino también a ir a cualquier ruta diferente.

Por ejemplo, digamos que actualmente se encuentra en el directorio /home/sk/Downloads. Quieres ir a /var/mail/ . ¿Cómo puede hacerlo? Muy sencillo. Simplemente escriba la ruta completa del directorio correspondiente, es decir, /var/mail/ en nuestro caso. De nuevo, no necesitas mencionar el comando ‘cd’. Mira la siguiente captura de pantalla.

Del mismo modo, puede ir a cualquier ubicación sin tener que utilizar el comando ‘cd’.

Puede que no sea útil para usted todo el tiempo. Porque cd es sólo un comando de dos letras. No le llevará mucho tiempo teclear sólo dos caracteres. Sin embargo, esto es sólo una prueba que demuestra que podemos hacer algunas cosas interesantes en Linux.

Soy nuevo en Linux y Ubuntu y he intentado cambiar a carpetas/directorios con alguna dificultad.

¿Podría alguien explicarme por qué los siguientes comandos no consiguen cambiar a la carpeta/directorio de destino deseada?

4 Respuestas

El sistema de archivos es GNU/Linux es como un árbol, excepto que la raíz está en la parte superior. 🙂 Así que tienes estructura como:

Si quieres moverte dentro del árbol, una opción es usar rutas relativas. Si está en /home/sharon , entonces escribir cd Descargas funcionará, porque Descargas es un hijo inmediato de su directorio actual. Si está en la subcarpeta Documentos y quiere cambiar de directorio ( cd ) a Descargas , tiene que ir hacia arriba ( .. ) y luego a Descargas . Así que el comando correcto sería cd ../Descargas .

También puede introducir una ruta absoluta. Así que la carpeta Descargas es una subcarpeta de sharon que es una subcarpeta de home que es … (ya pillas la idea :-)) Así que también puede introducir cd /home/sharon/Downloads dondequiera que se encuentre en el sistema de ficheros.

siempre se refiere al directorio home del usuario actual ( /home/sharon en tu caso). Si introduces cd

/Descargas aterrizarás en tu carpeta Descargas.

. se refiere al directorio actual, por lo que cd ./Descargas equivale aproximadamente a cd Descargas .

.. significa “directorio principal”.

/ al principio de la ruta se refiere al directorio raíz.

La siguiente característica interesante es la expansión de tabuladores. Si introduce cd

/Dow Tab (lo último es pulsar la tecla Tabulador), el bash lo expande automáticamente a cd

Como otros han dicho GNU/Linux es sensible a mayúsculas y minúsculas. Así que hace una diferencia si ingresas Home , hOme o home . Además espero que ahora veas que hay una diferencia entre /home y home . El primero tiene una dirección absoluta mientras que el último es relativo a tu directorio actual.

Habiendo migrado a Linux desde Windows, me gustaría encontrar un software alternativo a Winmerge o más bien aprender herramientas de línea de comandos para comparar y sincronizar dos carpetas en Linux. Les agradecería que me dijeran cómo realizar las siguientes tareas en la línea de comandos. (He estudiado diff y rsync, pero sigo necesitando ayuda).

Tenemos dos carpetas “/home/usuario/A” y “/home/usuario/B”.

La carpeta A es el lugar donde se guardan los archivos y carpetas normales y la carpeta B es una carpeta de copia de seguridad que sirve como espejo completo de la carpeta A. (El usuario no guarda ni modifica nada directamente en la carpeta B.)

Mis preguntas son

¿Cómo listar los archivos que sólo existen en la carpeta B? (Por ejemplo, los borrados de la carpeta A desde la última sincronización).

¿Cómo copiar en la carpeta A los archivos que sólo existen en la carpeta B?

¿Cómo listar los archivos que existen en ambas carpetas pero que tienen diferentes marcas de tiempo o tamaños? (Los que han sido modificados en la carpeta A desde la última sincronización. Me gustaría evitar el uso de sumas de comprobación, porque hay decenas de miles de archivos y haría el proceso demasiado lento).

¿Cómo hacer una copia exacta de la carpeta A en la carpeta B? Es decir, copiar de la carpeta A a la carpeta B todo lo que sólo existe en la carpeta A y borrar de la carpeta B todo lo que sólo existe en la carpeta B, pero sin tocar los archivos que son iguales en ambas carpetas.

8 Respuestas 8

Esto coloca la carpeta A en la carpeta B:

Si quieres que el contenido de las carpetas A y B sea el mismo, pon /home/usuario/A/ (con la barra) como origen. Esto no toma la carpeta A sino todo su contenido y lo pone en la carpeta B. Así:

-a Realiza la sincronización preservando todos los sistemas de archivos

En la salida, unison mostrará todos y cada uno de los directorios y archivos que son diferentes en los dos directorios que ha pedido sincronizar. Recomendará sincronizar de forma aditiva (replicar el archivo que falta en ambas ubicaciones) en la ejecución inicial, luego creará y mantendrá un árbol de sincronización en su máquina, y en las ejecuciones posteriores implementará una verdadera sincronización (es decir, si elimina un archivo de . /dirA , también se borrará de . /dirB. También puede comparar todos y cada uno de los cambios y, opcionalmente, elegir sincronizar hacia delante o hacia atrás entre los dos directorios.

Opcionalmente, para lanzar la interfaz gráfica, simplemente elimine la opción de text o-ui de su comando, aunque encuentro el cli más simple y rápido de usar.

  • La respuesta de TuxForLife es bastante buena, pero te sugiero encarecidamente que use s-c cuando sincronices localmente. Usted puede argumentar que no vale la pena el tiempo / penalización de red para hacerlo para sincronizaciones remotas, pero es totalmente la pena para los archivos locales, porque la velocidad es tan grande.
  • Esto muestra cómo tener el mismo tamaño y marcas de tiempo puede fallarte.
  • Esto es lo que estoy usando para hacer copias de seguridad de archivos personales, donde no me importa todo lo que cubr e-a , y quiero más información útil impresa.
  • -r, – recursive Esto le dice a rsync que copie directorios recursivamente.

-t, – times Esto le dice a rsync que transfiera los tiempos de modificación junto con los archivos y los actualice en el sistema remoto.

-u, – update Obliga a rsync a omitir cualquier archivo que exista en el destino y cuya hora de modificación sea más reciente que la del archivo de origen. (Si un archivo de destino existente tiene una hora de modificación igual a la del archivo de origen, se actualizará si los tamaños son diferentes).

-delete Esto le dice a rsync que elimine los archivos extraños del lado receptor (los que no están en el lado emisor), pero sólo para los directorios que se están sincronizando.

-info=FLAGS Esta opción le permite tener un control detallado sobre la información de salida que desea ver.

De rsyn c-info=help

Aunque menos explícito, es aparentemente equivalente y más corto:

-v, – verbose Un sol o-v le dará información sobre qué archivos se están transfiriendo y un breve resumen al final [stats1].

¿Necesitas navegar por tus archivos en el terminal de Linux? Necesitas el comando cd – aquí te explicamos cómo usarlo.

La navegación por el sistema es una de las tareas más básicas que un usuario puede realizar en un sistema operativo. Aunque existen muchos gestores de archivos que te permiten cambiar de directorio y navegar por tus unidades de disco de forma gráfica, hacer lo mismo utilizando la línea de comandos puede proporcionarte un mejor control sobre tu sistema.

Por suerte, Linux te proporciona un comando conocido como cd, que te permite cambiar fácilmente el directorio de trabajo actual en tu terminal.

A continuación te explicamos cómo utilizar el comando cd en Linux, la única utilidad que necesitarás para recorrer los directorios de tu sistema de almacenamiento.

Cómo usar el comando cd en Linux

El comando cd significa Cambiar Directorio . Uno de los comandos más fundamentales en Linux, cd se ha convertido en un comando global para cambiar directorios. Algunas otras implementaciones del comando como chdir , usado en sistemas MS-DOS, también están presentes.

Sintaxis básica

La sintaxis básica del comando cd es:

. donde opciones son los argumentos pasados con el comando y ruta es la ruta absoluta o relativa al directorio.

Rutas absolutas y relativas

Antes de poder utilizar el comando cd en toda su extensión, debes conocer la diferencia entre nombres de ruta absolutos y relativos. La ruta absoluta es la ruta completa al directorio, empezando por la carpeta / (raíz).

En cambio, la ruta relativa se deriva del directorio de trabajo actual. Puedes moverte arriba y abajo en el árbol de directorios de forma eficiente con el comando cd si conoces bien las rutas relativas.

Por ejemplo, si su directorio de trabajo actual es /home , y desea cambiar el directorio a /Desktop . Entonces, utiliza la ruta absoluta:

Por otro lado, si quieres cambiar al directorio /Desktop usando una ruta relativa, todo lo que tienes que escribir es:

Cd mantiene un registro de los directorios que están por encima y por debajo del directorio actual, para permitir al usuario cambiar rápidamente a otros directorios sin tener que teclear la ruta completa.

Si no conoce el nombre exacto de la subcarpeta a la que desea cambiar, utilice el comando ls para listar todos los directorios de esa carpeta.

Cambiar al directorio principal

En un sistema Linux, el directorio /home es un directorio especial reservado para los archivos, programas y subcarpetas personales de un usuario. Cuando inicias sesión en tu sistema, el directorio home se establece por defecto como el directorio de trabajo actual.

El directorio raíz tiene asignado un carácter especial: el carácter

(tilde). En lugar de especificar la ruta completa a su directorio personal ( /home/nombredeusuario ), puede pasar el carácter

con el comando cd para cambiar el directorio de trabajo actual a /home .

Del mismo modo, puede navegar al directorio personal de otro usuario de la siguiente manera.

En la sección anterior, cambiamos el directorio de trabajo actual a /Desktop . En el comando, puede utilizar el carácter

para indicar el directorio /home y reducir el comando a la mitad de su tamaño.

Navegar a la carpeta raíz

Al igual que el directorio home, el carácter / denota el directorio /root en un sistema operativo basado en Linux. Para cambiar a la carpeta raíz en cualquier momento:

Cambiar al directorio de trabajo anterior

Si está trabajando con varios directorios a la vez, puede cambiar fácilmente al directorio de trabajo anterior utilizando el carácter – (guión).

Por ejemplo, si el directorio de trabajo actual es /home y cambias al directorio /root. Entonces, /root se convertirá en el directorio de trabajo actual, y /home será el directorio de trabajo anterior.

Si escribe el siguiente comando, volverá al directorio anterior, es decir, /home .

Asimismo, si se ejecuta el comando cd seguido de un espacio, el usuario volverá al directorio de trabajo anterior.

Cambiar al directorio principal

El directorio que consta de uno o más subdirectorios se conoce como directorio principal. En pocas palabras, si tiene las carpetas /Desktop y /Downloads en su directorio /home, entonces el directorio /home será el directorio padre de /Desktop y /Downloads .

Los caracteres .. y . representan el directorio principal y el directorio actual, respectivamente.

Utilice el carácter de doble punto ( .. ) para cambiar al directorio principal.

El comando anterior le llevará un nivel hacia arriba en el árbol de directorios. También puede pasar caracteres .. adicionales para moverse más arriba en el árbol de directorios.

Para moverse dos niveles por encima de su directorio de trabajo actual:

También puede pasar un directorio específico un nivel por encima del directorio de trabajo actual.

Cambiar a un nombre de directorio con espacios

No todas las carpetas de su sistema tendrán un nombre de una sola palabra. Algunas de ellas pueden incluir el carácter espacio. Por ejemplo, /home/nombredeusuario/Documentos importantes .

En tales situaciones, al especificar el nombre del directorio se producirá un error.

Para cambiar a directorios que tienen espacios en el nombre, encierre el nombre de ruta entre comillas como se indica a continuación. Tenga en cuenta que puede utilizar tanto comillas simples como dobles en el comando.

Alternativamente, puede utilizar la barra oblicua (\) para escapar de los espacios.

Navegación del sistema a través de la línea de comandos

El terminal de Linux es una potente interfaz de texto para controlar el funcionamiento de su ordenador. Puedes realizar casi cualquier tarea utilizando la línea de comandos. Cambiar directorios, copiar archivos y carpetas remotamente, listar información de archivos, editar archivos de configuración, lo que quieras. Hay un comando para todo lo que quieras hacer en Linux.

Sin embargo, hay un inconveniente en tener tantos comandos. No todo el mundo puede aprender y memorizar los comandos, por no hablar de la gran cantidad que está disponible para usar en primer lugar. Pero como usuario principiante de Linux, no vas a utilizar todas las utilidades que están disponibles en tu sistema.

En su lugar, aprender algunos comandos básicos que le ayudarán en la realización de operaciones fundamentales es más que suficiente para empezar con el sistema operativo.

¿Quieres familiarizarte con Linux? Comience con estos comandos básicos de Linux para aprender las tareas informáticas estándar.

Deepesh es el Editor Junior de Linux en MUO. Escribe guías informativas sobre Linux, con el objetivo de proporcionar una experiencia feliz a todos los recién llegados. No está seguro sobre películas, pero si quieres hablar de tecnología, él es tu hombre. En su tiempo libre, puedes encontrarle leyendo libros, escuchando diferentes géneros musicales o tocando la guitarra.

Suscríbete a nuestro boletín

Suscríbete a nuestro boletín para recibir consejos tecnológicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas.

Para copiar archivos o directorios en sistemas operativos basados en Unix (Linux y MacOS), se utiliza el comando cp.

El comando cp es un comando relativamente simple, pero su comportamiento cambia ligeramente dependiendo de las entradas (archivos vs directorios) y las opciones que le pases.

Para ver la documentación o el manual del comando cp, ejecuta man cp en tu terminal:

La forma básica de este comando toma una fuente de entrada (o fuentes) que desea copiar (archivos o directorios) y un destino para copiar los archivos o directorios:

Cómo copiar un fichero en el directorio actual

Para copiar un fichero, introduzca el fichero que desea copiar y la ruta a la que desea copiarlo.

Si tienes un fichero llamado a. txt , y quieres una copia de ese fichero llamada b. txt :

Por defecto, el comando cp utiliza su directorio actual como ruta.

Cómo copiar un fichero a otro directorio

Para copiar un fichero a un directorio distinto del directorio actual, basta con pasar la ruta del otro directorio como destino:

Tras el comando cp, el directorio-1, antes vacío, contiene ahora el fichero a. txt .

Por defecto, el archivo copiado recibe el nombre del archivo original, pero también puede pasar opcionalmente un nombre de archivo:

Cómo copiar varios ficheros en un directorio

Para copiar más de un fichero a la vez puede pasar múltiples fuentes de entrada y un directorio como destino:

Aquí, las dos fuentes de entrada ( first. txt y second. txt ) se copiaron en el directorio directory-1 .

Cómo copiar un directorio a otro directorio

Si intenta pasar un directorio como fuente de entrada, obtendrá este error:

Para copiar un directorio, debe añadir el indicado r-r ( o-R ), que es la abreviatura d e-recursivo :

Aquí el directorio-1 que contiene el fichero a. txt se copia en un nuevo directorio llamado directorio – 2-que ahora también contiene el fichero a. txt .

Cómo copiar el directorio completo frente al contenido del directorio

Existe un caso límite interesante cuando se copia un directorio: si el directorio de destino ya existe, puede elegir si desea copiar el contenido del directorio o el directorio completo añadiendo o eliminando una / al final de la entrada.

Esta es la descripción de la opció n-R de la página de manual:

Si desea copiar sólo el contenido del directorio en otro directorio, añada una / al final de la entrada.

Si desea copiar el contenido del directorio y la propia carpeta del directorio en otro directorio, no añada un / al final:

Aquí puede ver que, como el directorio-2 ya exist e-y la fuente de entrada no tenía una / al final-, tanto el contenido del directorio-1 como el propio directorio se copiaron en el destino.

Cómo evitar la sobreescritura de ficheros con cp

Por defecto, el comando cp sobrescribirá los ficheros existentes:

Hay dos formas de evitarlo.

La bandera interactiva

Para que le avise cuando se va a producir una sobreescritura, puede añadir la opció n-i o-interactive:

La bandera no-clobber

O, para evitar sobreescrituras sin que se le pregunte, puede añadir la opció n-n o-no-clobber:

Aquí puede ver que gracias a la opció n-n el contenido del directorio-1/a. txt no se sobreescribió.

Otras opciones

Hay muchas otras opciones útiles para pasar al comando cp: com o-v para una salida “verbosa” o-f para “forzar”.

Te recomiendo encarecidamente que leas la página man para conocer todas las demás opciones útiles.

Si te ha gustado este tutorial, también hablo de temas como este en Twitter, y escribo sobre ellos en mi sitio.

Un simple desarrollador web al que le gusta ayudar a otros a aprender a programar.

Si has leído hasta aquí, tuitea al autor para demostrarle que te importa. Tweet de agradecimiento

Aprende a programar gratis. El plan de estudios de código abierto de freeCodeCamp ha ayudado a más de 40.000 personas a conseguir trabajo como desarrolladores. Empezar

freeCodeCamp es una organización sin ánimo de lucro 501(c)(3) exenta de impuestos y financiada por donantes (Número de Identificación Fiscal Federal de Estados Unidos: 82-0779546).

Nuestra misión: ayudar a la gente a aprender a programar gratis. Para ello, creamos miles de vídeos, artículos y lecciones interactivas de programación, todos ellos de libre acceso. También contamos con miles de grupos de estudio freeCodeCamp en todo el mundo.

Las donaciones a freeCodeCamp se destinan a nuestras iniciativas educativas y ayudan a pagar servidores, servicios y personal.

andy. brandon50 (CC BY-SA 2.0)

Hay muchas maneras de cambiar texto en la línea de comandos de Linux de minúsculas a mayúsculas y viceversa. De hecho, tienes un impresionante conjunto de comandos para elegir. Este post examina algunos de los mejores comandos para el trabajo y cómo puedes conseguir que hagan justo lo que quieres.

Uso de tr

El comando tr (traducir) es uno de los más fáciles de usar en la línea de comandos o dentro de

Del mismo modo, podría utilizar las cadenas A-Z y a-z del comando sed para conseguir lo mismo:

Como sin duda sospecha, invertir el orden de las cadenas a-z y A-Z tendrá el efecto contrario, convirtiendo el texto en minúsculas.

Uso de awk

El comando awk le permite hacer lo mismo con sus opciones toupper y tolower. El comando en el script mostrado en el ejemplo anterior podría hacerse de esta manera en su lugar:

La operación inversa (cambiar a minúsculas) quedaría así:

Usando sed

El comando sed (editor de flujo) también hace un gran trabajo cambiando entre mayúsculas y minúsculas. Este comando tendría el mismo efecto que el primero de los dos mostrados arriba.

Cambiar de mayúsculas a minúsculas simplemente implicaría sustituir la U al final de la línea por una L .

Manipulación del texto de un archivo

Tanto awk como sed también le permiten cambiar las mayúsculas y minúsculas del texto de archivos enteros. ¿Acaba de enterarse de que su jefe quiere los nombres de los departamentos en minúsculas? No hay problema. Sólo tiene que ejecutar un comando como éste con el nombre de archivo proporcionado:

Si desea sobrescribir el archivo depts, en lugar de mostrar su contenido en minúsculas, tendrá que hacer algo como esto:

Haciendo el cambio con sed , sin embargo, puede evitar ese último paso porque sed puede editar un fichero “in situ” como se muestra aquí, dejando el fichero intacto, pero el texto en minúsculas:

Poner en mayúsculas sólo las primeras letras

Para poner en mayúsculas sólo las primeras letras de las palabras de una cadena, puede hacer algo como esto:

Ese comando se asegurará de que las primeras letras estén en mayúsculas, pero no cambiará el resto de las letras.

Asegurarse de que sólo las primeras letras están en mayúscula

Es un poco más difícil cuando quieres cambiar el texto para que sólo las primeras letras estén en mayúsculas. Digamos que está manipulando una lista de nombres de miembros del personal y quiere que tengan el formato normal de Nombre Apellido.

con sed

Podrías utilizar un comando sed bastante más complejo para asegurar este resultado:

con python

Si tiene python cargado, puede ejecutar un comando como éste que también formatea el texto de modo que sólo las primeras letras de cada palabra estén en mayúsculas y el comando puede ser un poco más fácil de analizar que el comando sed mostrado arriba:

Hay muchas formas de cambiar el formato del texto entre mayúsculas y minúsculas. Cuál funciona mejor depende en parte de si está manipulando una sola cadena o un archivo entero y de cómo quiere que sea el resultado final.

Sandra Henry-Stocker lleva más de 30 años administrando sistemas Unix. Se describe a sí misma como “USL” (Unix como segunda lengua), pero recuerda suficiente inglés para escribir libros y comprar comestibles. Vive en las montañas de Virginia, donde, cuando no trabaja con Unix o escribe sobre él, ahuyenta a los osos de sus comederos de pájaros.