1. Wykonaj ostatnie polecenie za pomocą !!
Tytuł mówi wszystko, po prostu wprowadź następujące informacje w terminalu ...
!!
...aby ponownie uruchomić ostatnio wprowadzone polecenie. Ta sztuczka jest bardzo przydatna, gdy zapomnimy wejść sudo na początku. W takim przypadku musiałbyś wpisać:
sudo !!
Aby odkryć bardziej złożone sposoby na maksymalne wykorzystanie tej sztuczki, polecam przeczytanie tego stary post.
2. Wykonaj ostatnie polecenie, ale poprawiając błąd pisarski
Ta sztuczka jest naprawdę przydatna, gdy wpisujemy polecenie z prostą literówką. Na przykład, jeśli wykonamy:
Echo "desdelinuxz"
Możesz to poprawić, wpisując:
^z
3. Wywołaj edytor tekstu, aby wprowadzić długie polecenie
Czasami konieczne jest wprowadzenie niekończących się poleceń w terminalu. W takim przypadku pomocna może okazać się pomoc prostego edytora tekstu, takiego jak nano lub emacs.
Aby otworzyć edytor, po prostu naciśnij Ctrl + x + e w terminalu. Tekst wprowadzony do tej pory zostanie skopiowany do edytora tekstu po jego otwarciu.
Z kolei używanym edytorem będzie ten określony w zmiennej $EDITOR. Aby zmienić to ustawienie, możesz uruchomić…
eksportuj EDYTOR = nano
… Zastąpienie nano preferowanym edytorem.
4. Wykonaj polecenie bez zapisywania go w historii
Prawdziwy haker nie może zignorować tej sztuczki. Jak wszyscy wiedzą, bash zapisuje historię wykonanych poleceń, do której dostęp jest bardzo łatwy za pomocą strzałek na klawiaturze lub Ctrl + R (aby wykonać wyszukiwanie do tyłu w historii).
W takim przypadku to, co musisz zrobić, aby wprowadzona komenda nie została zapisana w historii, to postawić spację na początku:
Komenda
5. Automatycznie ustaw ostatni parametr polecenia
Załóżmy, że polecenie wykonane wcześniej to
cp plik.txt / var / www / wp-content / uploads / 2009/03 /
Aby uzyskać dostęp do danego katalogu, możesz wprowadzić polecenie cd następnie Alt +. o Esc +. :
cd „ALT +”.
To jest tylko skrótowy sposób wpisywania:
cd / var / www / wp-content / uploads / 2009/03 /
6. Wykonaj polecenie w określonym czasie
Tak, tak, po to istnieje cron. Czasami jednak chcemy, aby polecenie zostało uruchomione w określonym czasie, ale tylko raz.
Załóżmy, że chcemy wykonać polecenie ls -l o północy. W takim przypadku musimy to wykonać w następujący sposób:
echo "ls -l" | o północy
7. Uzyskaj zewnętrzny adres IP
Dzięki usłudze świadczonej przez http://ifconfig.me/ Możesz uzyskać różne informacje o swoim połączeniu internetowym bezpośrednio z terminala:
curl ifconfig.me/ip // adres IP curl ifconfig.me/host // host zdalny curl ifconfig.me/ua // agent użytkownika curl ifconfig.me/port // port
8. Dowiedz się, jak używać Ctrl + U i Ctrl + Y
Ile razy zdarzyło Ci się, że zacząłeś pisać polecenie i przypomniałeś sobie, że wcześniej miałeś zrobić coś innego? Cóż, można zrobić coś w rodzaju cut-paste, aby później łatwiej było ponownie wprowadzić polecenie pozostawione w połowie.
Załóżmy, że zacząłeś pisać ...
cd / home / user
i pamiętałeś, że zanim musiałeś coś sprawdzić w bieżącym katalogu. W takim przypadku naciśnij Ctrl + U (To byłoby coś w rodzaju „cięcia”).
Wpisz polecenie, które musiało zostać uruchomione jako pierwsze. Przypuśćmy ...
ls -l
... a następnie naciśnij Ctrl + y (Działa jak „wklej”).
9. Łatwo wyczyść terminal
z Ctrl + l terminal można wyczyścić w mgnieniu oka.
10. Przejdź do katalogu, uruchom polecenie i wróć do bieżącego katalogu
Ta sztuczka to przyjemność. Aby wykonać serię poleceń bez opuszczania bieżącego katalogu, po prostu zgrupuj je w nawiasach. Jak większość wie, aby wykonać serię poleceń, musisz je połączyć za pomocą &&. Korzystając z tych pojęć, możemy wykonać coś takiego:
(cd / tmp && ls)
Rezultatem tego polecenia (zwróć uwagę na nawiasy) będzie lista plików i katalogów w folderze / Tmp. Wszystko bez wychodzenia z naszego aktualnego katalogu. Klejnot!
Yapa. Wymień najczęściej używane polecenia
Zobaczyć ich najczęściej używane polecenia po prostu wykonaj następujące czynności:
historia | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sort -rn | głowa
W moim przypadku zwycięzcami zostali:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
Fanom terminali, takich jak ten serwer, polecam odwiedzić linia poleceń. Dlaczego nie, nie przestawaj patrzeć na plik Archiwum z naszego bloga.
Był jeden, którego użyłem, który pomijał wielkie litery w moim inputrc, ponieważ szczerze mówiąc, wiele plików, które zaczynały się w ten sposób, przemknęło mi przez głowę.
Myślę, że jednym z najważniejszych jest polecenie historii, w którym zwraca listę numerowaną.
poleceń, których użyłeś, a jeśli chcesz użyć któregokolwiek z nich, po prostu użyj następującego wiersza
! 22
który wykona polecenie, które jest w twojej historii pod numerem 22 😀
Aby wyszukać jakieś polecenie z autouzupełnianiem, jest
Ctrl + r
Zawsze używam Ctrl+r, aby powtórzyć ostatnie polecenie; gdy pojawi się ostatni, możesz przewinąć historię do tyłu, naciskając Page Re (strzałka w górę).
Pozdrowienia.
Dobry artykuł. Dzięki za podzielenie się tymi wskazówkami.
Chcę udostępnić jeden, którego używam codziennie, czyli „fg”, który umożliwia otwieranie zatrzymanych wcześniej aplikacji za pomocą „Ctrl+z”.
A 'bg' wysyłasz je na dalszy plan 🙂
Spójrz na siebie... dobra sztuczka! Dziękujemy za udostępnienie.
Przytulić! Paweł.
Świetny post, zawsze przypominają rzeczy, które się znało i z czasem zapomniało, a które są naprawdę przydatne.
Kody terminalowe są zawsze mile widziane.
Niewiarygodne, że nie wiedziałem, że dodanie spacji do polecenia zostało pominięte w Historii.
Dziękuję bardzo Pozdrawiam!!
aby użyć filtrowania autouzupełniania historii dodaj w pliku $HOME/.inputrc
"\e[5~": przeszukiwanie historii wstecz
"\e[6~": przeszukiwanie historii do przodu
i na przykład w pewnym momencie użyłeś:
$ cd /a/ścieżka/dłuższa/niż/gówno
a teraz chcesz go ponownie użyć, musisz zrobić:
$ cd
a następnie naciskaj klawisze «Page Up» lub «Page Down», aby poruszać się po wszystkich poleceniach w historii, które rozpoczęły się od «cd».
ALBO…. Bez edytowania czegokolwiek naciskasz Ctrl+R, a następnie cd (jeśli chcesz wyszukać coś za pomocą „cd”), a wielokrotne naciskanie Ctrl+R spowoduje wyświetlenie wszystkich poleceń, które go zawierają, aż dojdziesz do tego, którego chcesz. Oczywiście, jeśli jest to ten bezpośrednio przed tym, jak wyjdzie z jednego.
Bardzo dobrze!
Właściwie ls /tmp powinno wystarczyć do wyświetlenia katalogu bez opuszczania bieżącego.
Możesz także połączyć polecenie za pomocą „;” Tak jak w przykładzie 10, wyglądałoby to tak:
(cd /tmp;ls)
pozdrowienia
On ";" działa inaczej niż „&&” (i), kiedy wykonujemy polecenie-1 && polecenie-2, drugie polecenie jest wykonywane tylko wtedy, gdy wyjściem pierwszego jest „0”, czyli bez błędu. W przypadku średnika drugie polecenie jest wykonywane niezależnie od wyniku pierwszego. Aby rozszerzyć, istnieje operator „||” (lub), w tym przypadku drugie polecenie jest wykonywane tylko wtedy, gdy pierwsze polecenie generuje błąd. Pozdrowienia.
Aby każda linia zapamiętywana przez historię miała datę i godzinę, zmienna środowiskowa musi być ustawiona w pliku ~.bashrc zwykłego użytkownika lub roota.
# nano .bashrc
eksport HISTTIMEFORMAT=”%F%T”
#historia
492 2014-09-02 14:25:57 revdep-odbuduj -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 lokalne usuwanie -v
495 2014-09-02 14:31:29 itp-aktualizacja
496 2014-09-02 14:31:54 emerge –depclean –udawać
497 2014-09-02 14:39:08 aktualizacjab
Jest więcej opcji, które dotyczą liczby zapisywanych linii, testuję je.
Bardzo dobry wpis. Naprawdę bardzo przydatne. Sztuczka numer 4, polegająca na wykonaniu polecenia bez zapisywania go w historii, zadziałała tylko dla mnie w ubuntu, nie w debianie ani w centos.
Działało to dla mnie w raspbian, a nie w arch.
Merveilleux!!
Cześć,
Rzecz o wstawianiu spacji przed wykonaniem komendy, żeby nie zapisała się w historii, bo to nie działa...
[użytkownik@host /]$ ls -l
Razem 104
dr-xr-xr-x. 2 root root 4096 21 sierpnia 03:55 bin
dr-xr-xr-x. 5 root root 3072 20 sierpnia 17:26 boot
drwxr-xr-x. 2 root root 4096 9 grudnia 2013 cgroup
[użytkownik@host /]$historia
1024 ls
1025 ls
1026 historia
1027 ls -l
1028 historia
interesujący artykuł..
pozdrowienia
Przepraszam, że nie przeczytałem wszystkich postów.
Test jest również wykonywany w centach.
Dobrze z Ctrl + U i Ctrl + Y.
W moim systemie lista najczęściej używanych poleceń działała dla mnie, zmieniając zmienną na 5 USD.
Przykład wyjścia:
1122 Sudo
362 ls
279 wyczyść
214 cd
142 wykop
141 lata
130 vnstat
122 mv
112 godzin
Historia 112
Dzieje się tak, ponieważ w moim pliku .bashrc mam następujący wiersz:
# Wydrukuj datę do polecenia historii
export HISTTIMEFORMAT='%F%T:'
Jestem prawie pewien, że wielu tutaj korzystało z kilku terminali jednocześnie.
Nie wiem, czy mówić, że jest to sztuczka z terminalem, ale ponieważ zwykle mam wiele okien lub używam screena do otwierania kilku terminali, umożliwia to odzwierciedlenie dowolnego polecenia wprowadzonego w jednym z tych terminali we wszystkich oni. .
To idzie w pliku .bashrc:
HISTSIZE = 90000
HISTFILESIZE=$HISTSIZE
HISTControl=ignorespace:ignoredups
historia() {
_bash_history_sync
wbudowana historia "$@"
}
_bash_history_sync() {
wbudowana historia -a nr 1
HISTFILESIZE=$HISTSIZE #2
wbudowana historia -c #3
wbudowana historia -r #4
}
PROMPT_COMMAND=_bash_history_sync
Bardzo dobry wkład! Dzięki, że wpadłeś.
Przytulić! Paweł.
Gratuluję artykułu.
Bardzo praktyczne i nauczyłem się kilku komend.
Mimo, że jestem już trochę "doświadczony" w tych sprawach, to takie triki zawsze są mile widziane, więc... do kufra trików!!!
super, dzięki za triki, są naprawdę przydatne 😀
Ścieżki konsoli są nieprzeniknione 😉
Sztuczka polegająca na naciśnięciu control + u i control + y nie zależy od powłoki, ale od konfiguracji, którą ma tty. Dzisiaj, pod Linuksem, ttys są bardzo złożonymi bytami.W rzeczywistości badałem, jak działają i mogę cię zapewnić, że mają o wiele więcej zawiłości, niż się wydaje. Tty mają jakieś znaki kontrolne, które zmieniają ich status, np. zdarzało mi się czasem, że zakotowałem plik binarny i po pozostawieniu wszystkich „śmieci” na ekranie monit pozostaje dziwny lub z innym kodowaniem. Dzieje się tak dlatego, że w przypadkowym pliku istnieje duże prawdopodobieństwo napotkania znaków kontrolnych tty.
Na przykład uruchom to w powłoce:
drukuj „33c”
Spowoduje to wyczyszczenie ekranu (tak jakbyś wykonał clear ).
Inne kombinacje, takie jak control + L, aby wyczyścić ekran, pochodzą z używanej powłoki, klasyczne powłoki /bin/sh zwykle nie mają tej funkcji.
Ponadto obecnie w systemie Linux dostępnych jest wiele złożonych opcji obsługi plików i gniazd. Na przykład, jeśli otworzysz urządzenie tty za pomocą open(), w trybie AIO (asynchroniczne wejście/wyjście), proces otrzyma SIGIO za każdym razem, gdy w buforze wejściowym będą dostępne dane.
Jeśli na przykład bash działałby po prostu czytając wiersze i wykonując polecenia (tak jak podczas wykonywania skryptu), naciśnięcie control + L po prostu włączyłoby tę sekwencję znaków jako część poleceń, ale ponieważ bash ma kontrolę nad wejściem bufora skryptu może to wykryć.
Na przykład, czasami podczas programowania korzystałem z fcntl, aby uzyskać nieblokujący bufor wejściowy, którego używałem nawet z bibliotekami ncurses (manipuluj kontrolnym tty przed uruchomieniem ncurses w programie).
Saludos!
Dla tych, którzy na początku nie mieli miejsca i być może w celu dodania do notatki, istnieje zmienna o nazwie HISTIGNORE, w której znak dodawany przed poleceniem jest ustawiany jako ignorowany w historii.
W niektórych instalacjach ta zmienna nie pochodzi
Pozdrawiam i dobrego posta! bezpośrednio do ulubionych!
Zauważcie, że w komentarzach też widziałem kilka ciekawych rzeczy..!!
Wszystko naprawdę bardzo przydatne. Dziękuję.