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