Entiendo que .DS_store
los archivos tienen un propósito. Dicho esto, son un fastidio a la hora de autocompletar con el cd
comando. Cuando escribo cd
Terminal y presiono la pestaña dos veces, se enumeran todos los directorios en el directorio de trabajo.
¿Hay alguna forma de eliminar .DS_store
de esta lista de directorios de autocompletar en la terminal?
export FIGNORE=DS_Store
funciona para mi.
El manual GNU Bash proporciona amplia información sobre finalización programable .
Específicamente, de la documentación sobre bash variables
FIGNORE [es una] lista de sufijos separados por dos puntos para ignorar al completar el nombre del archivo. Un nombre de archivo cuyo sufijo coincida con una de las entradas en FIGNORE se excluye de la lista de nombres de archivo coincidentes. Un valor de muestra es '.o:~'
Si le preocupa que pueda haber sufijos existentes en FIGNORE
, puede usar:
export FIGNORE=$FIGNORE:DS_Store
$FIGNORE:.DS_Store
en Mac para mí. No funcionó sin el ".".
Creo que lo que realmente está buscando es la finalización de pestañas según el contexto para los comandos Bash. Por ejemplo, .DS_Store
es un archivo normal, no un directorio, por lo que no debería aparecer como una posible finalización de cd
.
El paquete que soluciona este problema se llama bash-completion
. Uso la versión de Fink ( fink install bash-completion
) y también está disponible en MacPorts ( port install bash-completion
) y Homebrew ( brew install bash-completion
).
Después de instalar y configurar el paquete en su .bashrc o .bash_profile, los archivos normales ya no aparecerán como completados para cd, y muchos otros comandos bash comunes también se vuelven conscientes del contexto (p. ej., gunzip
).
Si bien solo pregunta sobre .DS_Store, creo que eliminar todos los archivos ocultos de la función de autocompletar será mejor en general. Esto se puede hacer con el comando:
enlazar 'desactivar coincidencia de archivos ocultos'
puede agregarlo ~/.bash_profile para que lo invoque cada vez por usted. Esto no deshabilitará por completo el autocompletado para archivos ocultos, aún puede escribir '.' (punto) y presione la pestaña para ello.
Yo usaría este comando:
zip -r foo.zip foo -x "*.DS_Store"
Encontrado aquí: https://superuser.com/questions/198569/compressing-folders-on-a-mac-without-the-ds-store
graham perrin
cd
Terminal, luego presiono Tabulador dos veces: hay un aviso antes de que se enumeren todas las posibilidades (no solo los directorios).Jeromy Anglim
izq.
cd */
seguido de dos pestañas enumera todos los subdirectorios del directorio actual. Pero tienes que retroceder para seleccionar uno...Jeromy Anglim
cd
fuera lo suficientemente inteligente como para enumerar solo los directorios de forma predeterminada.