En el terminal de Ubuntu, paso mucho tiempo para cambiar a un directorio en particular cada vez que se inicia la computadora. ¿Hay alguna forma de facilitar este proceso? ¿Hay alguna tecla de acceso rápido o algún cambio rápido de directorio que pueda usar (como la marcación rápida en un teléfono)?
eg:
cd 1:Changes to saved directory one
command-line
Desarrollador Android
fuente
fuente
Respuestas:
Hay dos opciones:
Si desea estar en un directorio específico cada vez que abra un terminal bash, edite su
~/.bashrc
archivo y simplemente agregue la líneacd Directory
, por ejemplocd ~/Desktop
.Si desea tener varios accesos directos, siempre puede usar variables globales, que puede establecer en su
~/.bashrc
archivo de la siguiente maneraexport a=/tmp
y luego podrá hacer locd $a
que lo lleve/tmp
.Recuerde que después de editar su
.bashrc
archivo, debe reiniciar el terminal o abrir uno nuevo.fuente
source ~/.bashrc
o, más corto,. ~/.bashrc
.También eche un vistazo
autojump
, crea una base de datos con directorios visitados anteriormente y luego puede saltar a ella. Entonces, por ejemplo, tienesentonces, si lo has visitado una vez, puedes saltar a él
o incluso
porque también funciona con coincidencias parciales. Si más de un directorio coincide, salta al más visitado, si este no es el que desea, repita el comando para ir al segundo.
Sin embargo, se pone mejor! Si también tienes el directorio
y lo hace
y luego TabTabTabobtienes (en el orden de los más visitados)
¡y luego puede presionar el número del directorio que desea!
Para instalar, solo puede usar
sudo apt-get install autojump
y luego debe agregara tu
~/.bashrc
.Más información aquí: https://github.com/wting/autojump (también instrucciones sobre cómo instalar esto desde src que te ofrece la versión más reciente)
fuente
Los alias Bash son útiles para crear atajos para ejecutar comandos comúnmente.
En
~/.bashrc
, agregue una línea similar a la siguiente para crear el alias:Cierre y abra la terminal nuevamente, o ejecute
source ~/.bashrc
.De ahora en adelante, puedes correr
jump1
para ejecutar esecd
comando largo .Ver también:
fuente
A pesar de que ya hay algunas buenas respuestas, pensé que mencionaría para completar los viejos
pushd
ypopd
Bash incorporados con le permiten moverse muy rápidamente entre directorios en rutas profundas en su sistema de archivos. A diferencia de losautojump
marcadores mencionados por burger.ga , la pila de directorios creada mediante el usopushd
es solo temporal.Como señala el manual de GNU ,
pushd
y lospopd
componentes internos de Bash se utilizan para construir una pila de directorios temporal que es unSe necesita un poco de tiempo para acostumbrarse, pero hay muchos tutoriales útiles en este blog y en este sitio, por ejemplo. No hay páginas de manual separadas para los comandos, ya que están incluidas en la página de manual de Bash, pero para una referencia rápida puede ver la página de GNU Bash .
La explicación más clara está en este artículo muy útil y es exactamente la forma en que uso
pushd
ypopd
:En primer lugar, use
dirs
odirs -l
para enumerar directorios en la pila ydirs -c
borrar la pila.En cierto sentido, marca la ubicación a la que desea regresar ingresando
y luego puede agregar más directorios a la pila, para obtener una lista de directorios como se muestra a continuación, que incluye 3 carpetas designadas y su
~
carpeta de inicio:En realidad, no necesita usar de
popd
inmediato ya que eso elimina los directorios de la pila; lo mejor que puede hacer es usarlopushd
para rotar la pila, de modo que pueda seguir cambiando entre los directorios y ordenarlos como desee. Para obtener más información sobre esa útil rotación de la pila, consulte la página de manual de Bash .Si tiene exactamente la disposición de la pila como se
dirs
muestra en la lista anterior , lopushd +3
cambia a la carpeta de imágenes específica y la coloca en la parte superior de la pila (es +3 y no +4, ya que no cuenta~
en la pila del directorio):Entonces el mensaje dice:
Puede seguir haciendo esto sin eliminarlos de la pila, aunque cualquier carpeta que usted
cd
, aparte de las agregadas a la pila de directoriospushd
, alterará su pila de directorios.Una vez que tenga la pila de directorios organizada en el orden que desee, puede usar
popd
para recorrer rápidamente los directorios y luego regresar a la carpeta de inicio; por ejemplo, desdePictures
podemos volver aDownloads
:y el mensaje dice
En general, lo bueno de esto es que puede configurar la pila de directorios y el orden de los elementos dentro de ellos
pushd
y luego, digamos que tiene tres archivos para editar en cada uno de esos directorios, puede regresar instantáneamente a cada unopopd
mientras los elimina. de la pila del directorio Luego, con tu últimapopd
, volverás a~
. Se vuelve particularmente útil cuando tiene directorios particularmente profundos y puede usarlo para configurar la pila de directorios para moverse rápidamente entre ellos.Además, esta pregunta contiene algunos consejos que pueden resultarle útiles al trabajar en la línea de comandos:
fuente
Aunque existe alguna forma de línea de comandos para hacerlo más rápido, personalmente recomendaría usar una extensión Nautilus llamada
nautilus-open-terminal
.Primero instale el paquete
nautilus-open-terminal
y marque sus carpetas favoritas con Nautilus. En Nautilus 3.6. *, Tendrá que ir al menú de ajustes y seleccionar Marcar esta ubicación .Luego use los marcadores de Nautilus para ir más rápido en sus directorios favoritos, y simplemente haga clic derecho en un espacio vacío y seleccione Abrir en Terminal .
Ahora puede tener acceso rápido a la línea de comandos y al administrador de archivos a sus directorios favoritos.
fuente
ANC fue diseñado exactamente para ese caso de uso.
https://github.com/tobimensch/anc
Aquí hay un extracto de README.md:
Divulgación completa: soy el autor de anc.
fuente
Puede colocar un alias en su archivo .bashrc (o el archivo de configuración de su shell favorito, generalmente están en su directorio de inicio):
Aquí encontrará un enlace de información útil sobre el uso de alias en bash .
fuente
Creé un conjunto de funciones bash para esto y lo agregué a mi .bash_profile
Guión
Uso
getFolders
Usando getFolders tiene una lista de taquigrafía, descripción y ubicación para cada carpeta. Cuando utiliza getFolders con una taquigrafía, generará la ubicación de la carpeta. Puede obtener una lista de carpetas disponibles y sus descripciones simplemente llamando a getFolders sin un parámetro
Ejemplo de obtener la ruta de la carpeta
salidas
Ejemplo de obtener carpetas disponibles.
salidas
gf
gf es un atajo para getFolders
salidas
ir
goto es una manera simple de cd a la carpeta seleccionada.
salida
cd se ha ejecutado en / ruta / a / alias / carpeta
/ ruta / a / alias / carpeta>
¿Por qué tener múltiples funciones?
En el fondo, Unix y Linux tienen funciones simples reutilizables que se pueden encadenar. Prefiero este método, ya que no solo te mueve a una ubicación seleccionada, sino que es una función que por alias devuelve una ruta. Puede usar esta función para hacer cualquier cosa desde ese punto, como cd a esa ruta.
fuente
Considere configurar la
CDPATH
variable de entorno en su .bashrc o .bash_profile. CDPATH toma la misma forma delimitada por dos puntos que otrasPATH
variables similares, y permitecd
tomar atajos para encontrar sus directorios. Por ejemplo:fuente
puede configurar su propio acceso directo a un directorio específico. Por ejemplo, desea ir al directorio anidado, generalmente lo hace
usualmente usa el comando cd y luego escribe todos los nombres de directorio o puede omitir escribir (usando el botón TAB) pero aún le toma unos minutos.
Por lo tanto, para ahorrar tiempo , puede hacer un alias en el terminal. Es una tarea única para configurar un alias.
Ahora, solo tiene que usar el nombre de alias ( dir-target ) para moverse a su directorio de destino.
fuente
La forma más rápida que encontré es
xd
un programa de "eXchange Directorios" escrito por un holandés llamado Frank B. Brokken.Funciona al encontrar todas las rutas en su sistema de archivos que pueden resolver una abreviatura que escribió, por ejemplo,
ulb
podría significar/usr/local/bin
si dicha carpeta existe en su sistema:Al presionar 2 estás dentro
/usr/local/bin
.Es un software realmente antiguo y ya no está disponible en la ubicación original, no hay contacto con el autor, por lo que para evitar que se pierda, lo puse en el repositorio de Github:
https://github.com/mrkafk/exchange_directories
fuente
Yo uso DirB (Marcadores de directorio) para hacer esto. ¡Muy agradable! http://www.linuxjournal.com/article/10585
Sin embargo, he modificado el mío para adaptarlo a mi gusto y ser más fácil de usar y más claro.
fuente