Czy można otworzyć plik z terminala nie po nazwie, ale po jego (numerowej) pozycji w folderze? Lub jakaś inna opcja?
Ponieważ nazwa jest za długa.
Czy można otworzyć plik z terminala nie po nazwie, ale po jego (numerowej) pozycji w folderze? Lub jakaś inna opcja?
Ponieważ nazwa jest za długa.
Tab
klawisz?Odpowiedzi:
Prawdopodobnie jeszcze nie Tabodkryłeś -completion (patrz tutaj ).
Podczas wpisywania nazwy pliku w Terminalu wystarczy wpisać kilka pierwszych liter i nacisnąć Tabi zobaczyć magię!
źródło
*
, jeśli z jakiegoś powodu nie chcesz używać uzupełniania tabulatorami. Lub nawet*abc*
jeśli nazwa plikuabc
gdzieś zawiera (spróbuj użyć wzorca unikalnego dla żądanej nazwy pliku). Lub po prostu skopiuj / wklej nazwę pliku za pomocą myszy.Dla zabawy, dosłownie odpowiadając na pytanie:
Jak to działa w praktyce
Zawartość bieżącego katalogu jest wymieniona, ponumerowana. Wybierz numer, a przedmiot zostanie otwarty:
Ustawiać
...jest proste:
Wyloguj się, zaloguj ponownie i zacznij korzystać z polecenia, pisząc
w terminalu
NB
Jeśli chcesz również pokazać ukryte pliki, zmień
w:
źródło
~/bin
nie ma go jeszcze w ŚCIEŻCE, musisz go dodać (na przykład wstawić wiersz podobnyexport PATH="$PATH:~/bin"
do.bashrc
lub.profile
.)source ~/.profile
.~/bin
w ogóle nie jest wbudowany w nic. Ubuntu i Debian są dostarczane z niestandardowymi~/.profile
liniamiif [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" ; fi
. W Mac OS X i CentOS musisz to skonfigurować samodzielnie. Dobrą szansą jest to, że jeśli Ubuntu jest dostarczany osobie przez dział IT, są szanse, że~/.profile
nie będzie taki sam jak domyślny Ubuntu, więc dobrą praktyką jest zawsze uważać, co~/bin
nie jest standardowe. Bash może również zignorować,~/.profile
jeśli uruchomisz powłokę z--no-profile
opcjąW Bash istnieje mało znana funkcja, która pozwala to zrobić bez wywoływania Pythona lub innego narzędzia innej firmy i za pomocą jednej linii:
źródło
open
zazwyczaj jednak nie działa (chyba że masz system Mac OS);xdg-open
prawdopodobnie zrobi to samo na większości systemów GNU / Linux.W czystym bashu, używając
select
instrukcji:Ustawienie PS3 jest po prostu efektowne. Jeśli go pominiesz, zobaczysz tylko domyślny monit. Jeśli pominiesz instrukcję break, instrukcja select będzie się zapętlać, dopóki nie naciśniesz CTRL-D lub CTRL-C.
Oczywiście możesz również uruchomić go jako jeden wiersz:
źródło
Możesz zainstalować i używać
mc
Midnight Commander. Jest to tekstowy interfejs użytkownika z menu itp. Zainspirowany starym programem Norton Commander, który był popularny, gdy ludzie korzystali z MSDOS (przed Windows).i uruchom go w oknie terminala lub na ekranie tekstowym,
źródło
$ ls
Może
ls | sed -n 3p
Wyświetla trzecią nazwę pliku
Templates
Otwórz to-
xdg-open "$(ls | sed -n 3p)"
Zwykle działa.
Umieść to w skrypcie
Nazwa skryptu: otwarty
Zapisz go w folderze domowym. Biegać:
źródło
ls
ls
(i co zamiast tego robić)?W systemach plików Linux nazwy plików mają bardzo interesującą właściwość o nazwie i- węzeł : katalog (lub folder) to lista i-węzłów i które nazwy plików wskazują na te i-węzły. Tak więc, jeśli znasz numer i-węzła, możesz spróbować zlokalizować plik za pomocą
find
narzędzia i wykonać na nim określone operacje. Jest to szczególnie przydatne, gdy mamy do czynienia z nazwami plików w różnych lokalizacjach, znakach specjalnych lub gdy przypadkowo utworzono katalog o nazwie~
.Na przykład,
Przechodzi przez bieżący katalog roboczy (reprezentowany przez
.
) i szuka wpisu katalogu, który jest plikiem o numerze i-węzła 1103743. Jeśli plik zostanie znaleziony,xdg-open
otworzy plik z domyślną aplikacją ifind
wyjdzie później. Powodem Extra-and
i-quit
jest zapobieganiexdg-open
ponownym otwarciu pliku, jeśli istnieją dowiązania do pliku (co jest równoznaczne z otwarciem tego samego pliku dwa razy).źródło
Zrób kilka plików:
Umieść pliki w zmiennej i otwórz plik według indeksu.
Zamień
12
na indeks, który próbujesz otworzyć.źródło
Jest to prawdopodobnie najprostsza odpowiedź, która bezpośrednio odpowiada na pytanie. spróbuj wykonać następujące czynności:
Powiedzmy, że chcemy otworzyć (lub edytować) drugi plik, możemy wykonać następujące czynności:
spowoduje to wyświetlenie nazwy drugiego pliku, którego możemy użyć jako danych wejściowych do polecenia, które chcemy wykonać, na przykład:
wyświetli zawartość drugiego pliku.
[AKTUALIZACJA] zakłada to, że nie masz białych znaków w nazwach plików,
dziękuję @wjandrea za twoją obserwację.
źródło
ls
. Również backticks są przestarzałe. Użyj$()
zamiast tego.