Crear archivos
Para crear un nuevo archivo, puedes guardarlo desde un editor de texto (u otro programa), o puedes usar el comando touch:
[server]$ touch filename
Esto crea un archivo vacío llamado filename en el directorio de trabajo actual.
Mover archivos
Para mover un archivo a otro lugar:
[server]$ mv /old/location/filename /new/location/filename
Ten en cuenta que también puedes usar rutas relativas:
[server]$ mv filename ../directory/filename
Copiar documentos
Para copiar un archivo a otro lugar:
[server]$ cp /existing/location/filename /new/location/filename
Renombrar archivos
mv también se usa para cambiar el nombre de un archivo a otra cosa:
[server]$ mv oldfilename newfilename
mv también se puede usar para mover un archivo a un nuevo directorio al cambiarle el nombre:
[server]$ mv oldfilename ../directory/newfilename
También puedes cambiar el nombre de un archivo mientras usa el comando cp
:
[server]$ cp /existing/location/filename /new/location/newfilename
Eliminar archivos
Para eliminar un archivo:
[server]$ rm filename
Puedes usar comodines para eliminar varios archivos con nombres similares. Para eliminar todos los archivos que comienzan con "pic" (eg, pic01.jpg, pic02.jpg, etc):
[server]$ rm pic*
El wildcard puede aparecer en cualquier parte de la cadena. Para eliminar todos los archivos .jpg:
[server]$ rm *.jpg
Ten cuidado al usar comodines, ya que puedes eliminar archivos inadvertidamente de esta manera. Como medida de seguridad, puedes usar la bandera -i; Luego se te pedirá que confirmes todas las eliminaciones. Escribe y o n cuando se te solicite para confirmar si deseas o no eliminar cada archivo:
[server]$ rm -i *.jpg rm: remove 'example1.jpg'? y rm: remove 'example2.jpg'? y
Para eliminar permanentemente un directorio y todo su contenido, usa los indicadores -rf:
[server]$ rm -rf directoryname
El comando rm -rf elimina por completo todo en esa carpeta y no habrá forma de recuperar los datos. Ten cuidado al usar este comando.
Ubicar archivos
Para ubicar todos los archivos en un árbol de directorios que contienen algún patrón en su nombre:
[server]$ find directory -name <regexp> -print list of results
Ten en cuenta que este comando usa una expresión regular (<regexp>) para describir el nombre del archivo. También puedes escribir el nombre de archivo exacto.
Por ejemplo, para buscar todos los archivos que terminan con htm
en el directorio actual y cualquier subdirectorio:
[server]$ find . -name *.htm -print
Ten en cuenta que las búsquedas que contienen comodines ("*", ".", "?") Deben estar delimitadas por comillas para que el shell no intente interpretarlas como expresiones regulares:
[server]$ find . -name "*.htm" -print
Además, -print
es el valor predeterminado en la mayoría de los sistemas Unix / Linux, por lo que puede omitirse en la mayoría de los casos:
[server]$ find . -name "*.htm"
El comando de búsqueda es extremadamente poderoso. Otro uso útil es eliminar todas las subcarpetas vacías en un árbol en particular. Por ejemplo:
[server]$ find . -depth -type d -empty -exec rmdir {} ';'
Solo asegúrate de incluir el indicador -empty dentro del comando anterior.
Este comando busca en el directorio actual y en todos los subdirectorios. Todos los archivos que contienen la cadena tendrán su ruta impresa en la salida estándar:
[server]$ find . -exec grep "some_string" '{}' \; -print
Para buscar todos los archivos que se han modificado en los últimos 7 días y enviarlos a un archivo:
[server]$ find . -mtime -7 > mod.txt