Uso avanzado del comando mv en Linux

mv también es un comando de uso muy frecuente en Linux, pero además de algunos usos básicos, ¿qué usos avanzados conoce?

1. Uso básico

  1. Mueva uno / varios archivos;
  2. Mueva uno / varios directorios;
  3. Cambie el nombre del archivo / directorio.

Estos son usos muy básicos, por lo que no es necesario entrar en detalles. A continuación, se muestran algunos usos más avanzados.

2. Imprimir información de operación

Si solo movemos uno o dos o algunos archivos / directorios, podemos ir a la ubicación de destino por el momento para verificar si los archivos se movieron correctamente. Pero, ¿y si hay cientos de archivos? ¿Cómo podemos saber si nuestra operación ha tenido éxito sin verificar la ubicación de destino? Podemos agregar -vopciones.

[alvin@VM_0_16_centos mv_test]$ mv -v *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’
‘file2.txt’ -> ‘/home/alvin/test/mv_test/des/file2.txt’
‘file3.txt’ -> ‘/home/alvin/test/mv_test/des/file3.txt’
‘file4.txt’ -> ‘/home/alvin/test/mv_test/des/file4.txt’
‘file5.txt’ -> ‘/home/alvin/test/mv_test/des/file5.txt’

Por supuesto, este método también es aplicable a directorios móviles.

3. Usa el modo interactivo

De forma predeterminada, cuando movemos archivos / directorios, no habrá avisos. Si tenemos un archivo / directorio con el mismo nombre en la ubicación de destino, el comando mv reemplazará directamente el archivo original sin preguntar. Y estas operaciones a veces pueden tener consecuencias catastróficas.

En este caso, podemos agregar una -iopción cuando el archivo de destino con el mismo nombre, lo solicitará. Si está seguro de sobrescribir el archivo de destino, simplemente escriba y.

[alvin@VM_0_16_centos mv_test]$ mv -i file1.txt /home/alvin/test/mv_test/des/
mv: overwrite ‘/home/alvin/test/mv_test/des/file1.txt’? y

4. No sobrescriba archivos con el mismo nombre

Si los archivos de destino tienen el mismo nombre, no queremos que esté cubierto, puede agregar -nopciones.

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:35 file3.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -nv *.txt /home/alvin/test/mv_test/des/
‘file3.txt’ -> ‘/home/alvin/test/mv_test/des/file3.txt’    #目标位置没有file3.txt文件,所以成功移动
[alvin@VM_0_16_centos mv_test]$ ls
des  file2.txt

5. Utilice las opciones de actualización

Cuando hay un archivo / directorio con el mismo nombre en la ubicación de destino, solo queremos que el archivo de origen se sobrescriba cuando la marca de tiempo del archivo de destino sea más reciente que la del archivo de destino; de lo contrario, no se ejecutará. En este caso, podemos utilizar la -uopción.

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file1.txt    #源文件比目标文件时间戳更新
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt    #源文件比目标文件时间戳更旧
-rw-rw-r-- 1 alvin alvin 0 Feb  8 16:53 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -uv *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’    #只有时间戳更新的文件被替换
[alvin@VM_0_16_centos mv_test]$ ls
des  file2.txt

6. Cree una copia de seguridad antes de sobrescribir

Ya existe un archivo con el mismo nombre en la ubicación de destino. Si lo sobrescribe directamente, se siente un poco poco confiable. ¿Qué pasa si la decisión actual es incorrecta? ¿Es posible hacer una copia de seguridad del archivo de destino antes de sobrescribirlo? La respuesta es sí, agregue una -bopción.

[alvin@VM_0_16_centos mv_test]$ mv -bv *.txt /home/alvin/test/mv_test/des/
‘file1.txt’ -> ‘/home/alvin/test/mv_test/des/file1.txt’ (backup: ‘/home/alvin/test/mv_test/des/file1.txt~’)
‘file2.txt’ -> ‘/home/alvin/test/mv_test/des/file2.txt’ (backup: ‘/home/alvin/test/mv_test/des/file2.txt~’)
[alvin@VM_0_16_centos mv_test]$ ll des/
total 0
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:41 file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file1.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:27 file2.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb  8 17:35 file3.txt

Se puede ver que antes de sobrescribir, el archivo de destino se respaldará como un archivo con una tilde ~. Al mismo tiempo, los lectores cuidadosos también notarán que la marca de tiempo del archivo sobrescrito es diferente a la del archivo de respaldo.

Los anteriores son algunos de los usos más avanzados del comando mv. Si lo usa de manera flexible, aumentará la eficiencia de su trabajo a un nivel superior y será más contundente frente a sus colegas.

Finalmente, recientemente, muchos amigos me pidieron la hoja de ruta de aprendizaje de Linux , así que, según mi experiencia, pasé un mes quedándome despierto hasta tarde en mi tiempo libre y compilé un libro electrónico. Ya sea que esté en una entrevista o en la superación personal, ¡creo que le ayudará! El directorio es el siguiente:

Dáselo a todo el mundo de forma gratuita, ¡solo pídeme que me levantes el pulgar!

Libro electrónico | Hoja de ruta de aprendizaje sobre desarrollo de Linux

¡También espero que algunos amigos se unan a mí para hacer que este libro electrónico sea más perfecto!

¿Ganancia? Espero que los hierros viejos tengan una combinación de tres golpes para que más personas puedan leer este artículo.

Lectura recomendada:

Supongo que te gusta

Origin blog.csdn.net/yychuyu/article/details/108089217
Recomendado
Clasificación