W terminalu Ubuntu spędzam dużo czasu na przełączaniu się do określonego katalogu przy każdym uruchomieniu komputera. Czy mogę w jakiś sposób ułatwić ten proces? Czy jest jakiś skrót klawiszowy lub jakaś szybka zmiana katalogu, której mogę użyć (np. Szybkie wybieranie w telefonie)?
eg:
cd 1:Changes to saved directory one
command-line
Deweloper Android
źródło
źródło
Odpowiedzi:
Istnieją dwie opcje:
Jeśli chcesz znajdować się w określonym katalogu za każdym razem, gdy otwierasz terminal bash, edytuj swój
~/.bashrc
plik i po prostu dodajcd Directory
na przykład wierszcd ~/Desktop
.Jeśli chcesz mieć kilka skrótów, zawsze możesz użyć zmiennych globalnych, które możesz ustawić w swoim
~/.bashrc
pliku w następujący sposób,export a=/tmp
a wtedy będziesz w stanie zrobić to,cd $a
co cię do tego doprowadzi/tmp
.Pamiętaj, że po edycji
.bashrc
pliku musisz zrestartować terminal lub otworzyć nowy.źródło
source ~/.bashrc
, lub krócej,. ~/.bashrc
.Spójrz także
autojump
, buduje bazę danych z wcześniej odwiedzonymi katalogami, a następnie możesz do niej przejść. Na przykład maszjeśli już go odwiedziłeś, możesz do niego przejść
lub nawet
ponieważ działa również z częściowymi dopasowaniami. Jeśli pasuje więcej niż jeden katalog, przejdziesz do tego, który jest najczęściej odwiedzany, jeśli nie jest to ten, którego chciałeś, powtórz polecenie, aby przejść do drugiego.
Jednak jest coraz lepiej! Jeśli masz także katalog
a ty
a potem TabTabTabdostajesz (w kolejności najczęściej odwiedzanych)
a następnie wystarczy nacisnąć numer żądanego katalogu!
Aby zainstalować, możesz po prostu użyć,
sudo apt-get install autojump
a następnie musisz dodaćdo twojego
~/.bashrc
.Więcej informacji tutaj: https://github.com/wting/autojump (także instrukcja instalacji tego z src, który dostaje najnowszą wersję)
źródło
Aliasy Bash są przydatne do tworzenia skrótów do często uruchamianych poleceń.
W
~/.bashrc
dodaj linię podobną do poniższej, aby utworzyć alias:Zamknij i ponownie otwórz terminal lub uruchom
source ~/.bashrc
.Od teraz możesz po prostu uruchomić,
jump1
aby wykonać to długiecd
polecenie.Zobacz też:
źródło
Chociaż istnieją już dobre odpowiedzi, pomyślałem, że kompletnie wspomnę o starych
pushd
ipopd
wbudowanych wersjach Bash, umożliwiając bardzo szybkie przemieszczanie się między katalogami w głębokich ścieżkach w twoim systemie plików. W przeciwieństwie doautojump
zakładek wspomnianych przez burger.ga , stos katalogów utworzony przy użyciupushd
jest tylko tymczasowy.Jak zauważa podręcznik GNU ,
pushd
ipopd
są wbudowanymi funkcjami Bash do budowy tymczasowego stosu katalogów, który jestTrochę się przyzwyczaja, ale na tym blogu iw tej witrynie jest wiele przydatnych samouczków . Nie ma osobnych stron podręcznika dla poleceń, ponieważ są one zawarte na stronie podręcznika Bash, ale dla szybkiego odniesienia można wyświetlić stronę GNU Bash .
Najjaśniejsze wyjaśnienie znajduje się w tym bardzo przydatnym artykule i jest dokładnie tak, jak używam
pushd
ipopd
:Po pierwsze, użyj
dirs
lub,dirs -l
aby wyświetlić katalogi na stosie idirs -c
wyczyścić stos.W pewnym sensie zakładkę do miejsca, do którego chcesz wrócić, należy wpisać
a następnie możesz dodać więcej katalogów do stosu, aby uzyskać listę katalogów jak poniżej, która zawiera 3 wyznaczone foldery i
~
folder domowy:W rzeczywistości nie musisz używać od
popd
razu, ponieważ usuwa katalogi ze stosu; najlepszą rzeczą do zrobienia jestpushd
obrócenie stosu, abyś mógł ciągle przełączać się między katalogami i porządkować je według własnego uznania. Więcej informacji na temat tej użytecznej rotacji stosu znajduje się na stronie podręcznika Bash .Jeśli masz dokładnie taki układ stosów, jak
dirs
pokazuje powyższa lista,pushd +3
przełącza cię do określonego folderu Obrazy i umieszcza go na stosie (jest to +3, a nie +4, ponieważ nie liczysz swojego~
stosu w katalogu):Pytanie brzmi:
Możesz to robić dalej, nie usuwając ich ze stosu, chociaż wszystkie foldery
cd
, które dodałeś do stosu katalogówpushd
, zmienią stos katalogów.Po ułożeniu stosu katalogów w żądanej kolejności można
popd
szybko przewijać katalogi, a następnie powracać do folderu domowego; na przykład zPictures
możemy wrócić doDownloads
:a komunikat brzmi
Zasadniczo piękno tego polega na tym, że możesz ustawić stos katalogów i kolejność elementów w nim,
pushd
a następnie, powiedzmy, że masz trzy pliki do edycji w każdym z tych katalogów, możesz natychmiast wrócić do każdego zpopd
nich, usuwając je ze stosu katalogów. Następnie z ostatnimpopd
powrócisz do~
. Staje się to szczególnie przydatne, gdy masz szczególnie głębokie katalogi i możesz go użyć do skonfigurowania stosu katalogów w celu szybkiego przechodzenia między nimi.Ponadto to pytanie zawiera kilka wskazówek, które mogą być przydatne podczas pracy z wierszem poleceń:
źródło
Chociaż istnieje sposób na szybsze wykonanie wiersza poleceń, osobiście poleciłbym użycie rozszerzenia Nautilus o nazwie
nautilus-open-terminal
.Najpierw zainstaluj pakiet
nautilus-open-terminal
i dodaj do ulubionych swoje ulubione foldery za pomocą Nautilus. W Nautilus 3.6. * Musisz przejść do menu koła zębatego i wybrać Zakładkę do tej lokalizacji .Następnie użyj zakładek Nautilus, aby szybciej przechodzić do swoich ulubionych katalogów, po prostu kliknij prawym przyciskiem myszy puste miejsce i wybierz Otwórz w terminalu .
Teraz możesz mieć szybki dostęp zarówno do wiersza poleceń, jak i menedżera plików do swoich ulubionych katalogów.
źródło
ANC został zaprojektowany właśnie dla tego przypadku użycia.
https://github.com/tobimensch/anc
Oto fragment pliku README.md:
Pełne ujawnienie: jestem autorem anc.
źródło
Możesz umieścić alias w pliku .bashrc (lub w pliku konfiguracyjnym ulubionej powłoki - zwykle znajdują się one w katalogu domowym):
Przydatny link informacyjny na temat używania aliasów w bash znajduje się tutaj .
źródło
Stworzyłem do tego zestaw funkcji bash i dodałem go do mojego .bash_profile
Scenariusz
Stosowanie
getFolders
Korzystając z getFolders, masz listę skrótów, opisów i lokalizacji dla każdego folderu. Kiedy używasz getFolders ze skrótem, wyświetli on lokalizację folderu. Możesz uzyskać listę dostępnych folderów i ich opisów, po prostu wywołując getFolders bez parametru
Przykład uzyskania ścieżki folderu
wyjścia
Przykład uzyskiwania dostępnych folderów.
wyjścia
gf
gf to skrót do getFolders
wyjścia
iść do
goto to prosty sposób na przejście do wybranego folderu.
wynik
cd został uruchomiony w folderze / path / to / alias /
/ path / to / alias / folder>
Po co mieć wiele funkcji
W sercu Uniksa i Linuksa masz proste funkcje wielokrotnego użytku, które można łączyć ze sobą. Wolę tę metodę, ponieważ nie tylko przenosi cię do wybranej lokalizacji, ale jest funkcją, która przez alias zwraca ścieżkę. Możesz użyć tej funkcji do zrobienia czegokolwiek od tego momentu, jak cd do tej ścieżki.
źródło
Rozważ ustawienie
CDPATH
zmiennej środowiskowej w pliku .bashrc lub .bash_profile. CDPATH przybiera tę samą formę rozdzielaną dwukropkami, co innePATH
zmienne podobne, i pozwala nacd
skróty w znajdowaniu twoich katalogów. Na przykład:źródło
możesz skonfigurować własny skrót do określonego katalogu. Na przykład chcesz przejść do zagnieżdżonego katalogu, zazwyczaj tak jest
zwykle używasz polecenia cd, a następnie wpisujesz wszystkie nazwy katalogów lub możesz pominąć pisanie (za pomocą przycisku TAB), ale nadal zajmuje to kilka minut.
Aby zaoszczędzić czas , możesz utworzyć jego alias w terminalu. Jego jednorazowe zadanie polega na skonfigurowaniu aliasu.
Teraz wystarczy użyć nazwy aliasu ( dir-target ), aby przejść do katalogu docelowego.
źródło
Najszybszym sposobem, jaki znalazłem, jest
xd
program „eXchange Directories” napisany przez Holendra o nazwisku Frank B. Brokken.Działa poprzez znalezienie wszystkich ścieżek w systemie plików, które mogą przekształcić się w wpisany skrót, np.
ulb
Mogą oznaczać,/usr/local/bin
jeśli taki folder istnieje w twoim systemie:Po naciśnięciu 2 jesteś w
/usr/local/bin
.To naprawdę stare oprogramowanie i nie jest już dostępne w oryginalnej lokalizacji, bez kontaktu z autorem, więc aby zapobiec jego utracie, umieściłem je w repozytorium Github:
https://github.com/mrkafk/exchange_directories
źródło
Używam do tego DirB (Directory Bookmarks). Bardzo dobrze! http://www.linuxjournal.com/article/10585
Zmodyfikowałem mój, aby pasował do mojego gustu, ale jest łatwiejszy w użyciu i bardziej przejrzysty.
źródło