Comandos de UNIX — Trabajar con archivos

 
 

Generalidades

Este artículo proporciona ejemplos de cómo interactuar con archivos después de iniciar sesión en tu servidor DreamHost a través de SSH.

Antes de continuar, asegúrate de comprender cómo trabajar con directorios en un servidor de DreamHost.

Crear archivos

Puedes utilizar el comando touch para crear un nuevo archivo. Esto crea un archivo vacío llamado filename en el directorio de trabajo actual.

[server]$ touch filename

También puedes utilizar los programas nano o vim para crear y editar un archivo.

Mover, renombrar, y copiar archivos

El comando mv se puede utilizar para mover un archivo a una nueva ubicación o cambiarle el nombre. El comando cp también se puede utilizar para cambiarle el nombre y crear una copia del archivo.

Mover un archivo

Mover un archivo a otro directorio:

[server]$ mv /old/location/filename /new/location/filename

También puedes utilizar rutas relativas:

[server]$ mv filename ../directory/filename

Renombrar un archivo

Cambiar el nombre de un archivo por otro:

[server]$ mv oldfilename newfilename

mv también se puede utilizar para mover un archivo a un nuevo directorio mientras se le cambia el nombre:

[server]$ mv oldfilename ../directory/newfilename 

Copiar archivos

Para copiar un archivo a otro lugar:

[server]$ cp /existing/location/filename /new/location/filename

También puedes cambiar el nombre de un archivo mientras usas el comando cp:

[server]$ cp /existing/location/filename /new/location/newfilename 

Eliminar archivos

El comando rm se utiliza para eliminar un archivo. Por ejemplo:

[server]$ rm filename 

Puedes utilizar el comodín * para eliminar varios archivos con nombres similares. Por ejemplo, para eliminar todos los archivos que comiencen con "pic" (p. ej., 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 utilizar wildcards, ya que puedes eliminar archivos sin darse cuenta de esta manera. Como medida de seguridad, puedes utilizar el indicador -i; luego se te solicitará que confirme todas las eliminaciones. Presiona 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 tu contenido, usa los indicadores -rf:

[server]$ rm -rf directoryname

El comando rm -rf elimina por completo todo el contenido de ese directorio y no habrá forma de recuperar los datos. Ten cuidado al utilizar este comando.

Ubicar los archivos

Los siguientes ejemplos utilizan el comando find para localizar archivos.

Para localizar todos los archivos en un árbol de directorios que contengan algún patrón en su nombre:

[server]$ find directory -name <regexp> -print
list
of
results

Ten en cuenta que este comando utiliza una expresión regular (<regexp>) para describir el nombre del archivo. También puedes escribir el nombre exacto del archivo.

Por ejemplo, para encontrar todos los archivos que terminan con html en el directorio actual y todos los subdirectorios:

[server]$ find . -name *.htm -print

Ten en cuenta que las búsquedas que contienen wildcards (*, ., ?) deben estar delimitadas por comillas para que el shell no intente interpretarlas como expresiones regulares:

[server]$ find . -name "*.htm"

Esto elimina todas las subcarpetas vacías en un árbol en particular. Por ejemplo:

[server]$ find . -depth -type d -empty -exec rmdir {} ';'

Este comando busca en el directorio actual y en todos los subdirectorios. Todos los archivos que contengan la cadena se imprimirán en la terminal.

[server]$ find . -exec grep "some_string" '{}' \; -print

También puedes localizar archivos dentro de un período de tiempo. Por ejemplo, esto busca todos los archivos que se modificaron en los últimos 7 días y los imprime en un archivo:

[server]$ find . -mtime -7 > mod.txt

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?