Wiem, że niektórzy ludzie mają pewne skrypty startowe, a niektórzy personalizują monit. Jeden programista używa krótkich aliasów dla długiej ścieżki, którą często odwiedza, i częstych poleceń, które wykonuje.
Jakie są efektywne dostosowania dokonane w profilu UNIX w celu zwiększenia wydajności i łatwości użytkowania?
Odpowiedzi:
.vimrc
zapisz plik z uprawnieniami roota, wpisującw!!
:.bashrc
Nie przejmuj się urządzeniami lub plikami binarnymi podczasgrep
ing:Udostępniaj kod w Internecie (jak pastebin, ale prościej) przez
cat 1337.sh | webshare
Zwraca krótki adres URL w schowku; możesz dołączyć
?whatever-lang
do zwracanego adresu URL, aby wyróżnić jego składnię i ponumerować wiersze..inputrc
Używaj trybu vi we wszystkim, co korzysta z biblioteki readline (wiele programów):źródło
utwórz katalog i cd jednym poleceniem
W większości przypadków
mkdir
moje następne polecenie brzmicd <that dir>
.Oszczędza to trochę pisania:
na przykład:
Kolejną rzeczą, która jest dla mnie przydatna, jest łatwy sposób na utworzenie katalogu typu „wyrzucany”. np. jeśli kompiluję program lub nawet jeśli próbuję odtworzyć problem na tej stronie. Czasami mogę zapomnieć o uporządkowaniu katalogu.
pokazując, że działa:
Opieram się na czyszczeniu systemu
/tmp
po ponownym uruchomieniu, ale można to poprawić, np. Usunąć katalog temp po wyjściu z powłoki.źródło
mcd
wielu lat i zamierzam dodać cośmtd
wkrótce.mtd() { mcd $TMP/`date +%y%m%d-%H%M%S-%N`; }
. Prawdopodobnie brakuje przenośności, ale jest dla mnie wystarczająco dobry.Chciałbym, aby mój komunikat bash wyświetlał kod wyjścia poprzedniego polecenia, jeśli było niezerowe. Podoba mi się też moja skorupa, która dodaje mi otuchy, gdy go używam, więc dodałem trochę głupoty:
więc kiedy uruchamiam polecenia, otrzymuję ładne wizualne informacje zwrotne:
edycja : jest to coś, co umieściłem w moim ~ / .bashrc
źródło
.bashrc
przypuszczalnie.w górę N.
przeskocz N katalogów w górę w drzewie katalogów
Zamiast pisać
po prostu piszesz
i a
przywiezie cię z powrotem
Umieść funkcję w swoim .bashrc, aby z niej skorzystać.
źródło
.zshrc
:.xmodmaprc
:(Zamień klawisze Escape i Caps Lock).
źródło
Mam problem z moim bashrc, ponieważ często używam terminala (dzięki temu uczę się szybko i uczę ciekawych rzeczy do użycia, a także interesujących narzędzi). Zwykle definiuję wiele funkcji w moim bashrc. Przykłady:
Wyodrębnij archiwa:
zmień nazwy plików i folderów:
i tak do dzielenia dużych plików na kilka małych:
Zredagowałem też wiele aliasów, ponieważ uważam, że o wiele łatwiej jest użyć jednego polecenia z argumentami jako domyślnymi w niektórych przypadkach (np. W ls, grep i małych poleceniach), a następnie wpisywać to wszystko za każdym razem.
źródło
(Społeczność wiki, więc każda sztuczka należy do osobnej odpowiedzi).
bezpieczne wylogowanie
Ctrl+ Djest najprostszym sposobem na wyjście z powłoki, ale jeśli nadal masz uruchomione zadania, i tak z przyjemnością opuści powłokę. Domyślnie oznacza to, że wszystkie programy uruchomione z poziomu tej powłoki zostaną zabite.
Niektóre powłoki pozwolą ci się wylogować dopiero po dwukrotnym naciśnięciu Ctrl+ D, ale nadal zbyt łatwo jest to zrobić przypadkowo.
Więc zamiast dodawać to
.bashrc
czy.zshrc
lub którykolwiek config plik wolisz.źródło
(Społeczność wiki, więc każda sztuczka należy do osobnej odpowiedzi).
przeszukaj swoją historię pod kątem wszystkich sposobów uruchomienia polecenia
Być może już wiesz o Ctrl+ R, ale w ten sposób IMHO jest znacznie płynniejsze.
Skonfiguruj Alt+, Paby przeszukać historię poleceń, które zaczynają się od tego, co już wpisałeś.
np.
ls
Alt+ P, Alt+ P, Alt+ P przeszuka wstecz wszystkie twojels
polecenia.Musisz to umieścić w swoim
/etc/inputrc
lub.inputrc
dlabash
:i to w twoim
.zshrc
przypadkuzsh
:Możesz nawet pójść o krok dalej i sprawić, że zrobi to strzałka w górę.
źródło
prosty kalkulator
Możesz użyć
$(( ... ))
lubexpr ...
wykonać bardzo podstawowe obliczenia, ale dokonuje podziału na liczby całkowite, npLepszym sposobem jest użycie
bc
.następnie:
źródło
alias py='PYTHONSTARTUP=~/.pythonstartup python'
sięfrom math import *;
w tym pliku. Problem dzielenia liczb całkowitych pozostaje nierozwiązany, ale jest znacznie bardziej użyteczny w przypadku bardziej złożonych operacji.lepsze uzupełnianie kart
Nie sądzę, żeby ktokolwiek jeszcze wspomniał o dostosowaniu Tabukończenia.
Oto co mam.
Dwie główne rzeczy, które robi:
np.
cd <Tab>
sugeruje tylko kataloginp.
d<Tab>
nadal będzie kompletnyDesktop
iDownloads
Do bash:
Dla zsh:
źródło
Bezpieczna kompresja
Programy kompresujące domyślnie usuwają oryginalny plik. Nie lubie tego
Monit o wielu wierszach
Możesz wyświetlać „tagi” ze zmiennymi środowiskowymi. Przykład:
Kod jest przynajmniej częściowo oparty na tym .
Ustawienia historii
źródło
źródło
Jeśli możesz WŁĄCZYĆ AUTOCOMPLETE I NAZWĘ PLIKU KOREKCJA PISANIA! To prawdopodobnie dwie rzeczy, które pozwolą Ci zaoszczędzić najwięcej czasu. Następnie naucz się ich używać - Bash i Zsh mają tabulatory. Ksh ma nieefektywny ukośnik ucieczki, więc odradzam Ksh.
Używam Zsh, ale takie aliasy działałyby w prawie każdej powłoce oprócz Csh:
Wygląda na to, że powinien istnieć alias dla „ps”, ale używam ps na wiele różnych sposobów i jak dotąd niczego nie znalazłem.
W Zsh skonfiguruj zmienną RPROMPT (nie literówka!):
Cały katalog pojawia się po prawej stronie wiersza poleceń, gotowy do wycinania i wklejania. Więcej o tym później.
Powinieneś użyć poprawnie skompilowanego nowoczesnego Vima, ponieważ możesz mieć wiele vim-okien w pliku i wiele buforów. Twój plik .vimrc może zawierać takie rzeczy:
Wiele z nich jest osobistymi preferencjami, ale zdarza mi się wierzyć, że 8-spacja powoduje, że kod jest mniej czytelny, i istnieje badanie, aby to udowodnić.
Ważne jest także „mouse = c”. Nie należy używać myszy do poruszania się po pliku. Odrywanie rąk od klawiatury, dotykanie myszy i przesuwanie ich do tyłu jest powolne. Użyj ruchu kursora „hjkl” oraz innych klawiszy stronicowania i klawiszy ruchów kursora.
Jeśli używasz X11, powinieneś zrobić kilka rzeczy w swojej konfiguracji Xterm. To pochodzi z mojego pliku .Xresources:
Daj Xtermowi domyślnie pasek przewijania, zapisz 1000 linii tekstu w buforze, co jest dość standardowe.
Dyrektywa charClass sprawia, że „słowo” obejmuje takie rzeczy jak „.”, „/” I „*”. Dwukrotne kliknięcie dowolnej części nazwy pliku oddzielonej „/”, a otrzymasz całość, mniej znaków „:”.
cutToBeginningOfLine działa z Zsh RPROMPT powyżej. Trzykrotnie kliknij ścieżkę bieżącego katalogu roboczego, który pojawia się w RHS wiersza poleceń, a ty wybierzesz tylko ścieżkę: kopiowanie zatrzymuje się na początku słowa. Bardzo wydajny, gdy już się do tego przyzwyczaisz.
Powyższe zasoby X tworzą również klucz do wklejania. W ten sposób po skopiowaniu (prawdopodobnie za pomocą myszy) możesz wkleić bez przesuwania dłoni z powrotem do myszy, aby kliknąć.
źródło
Esc``Esc
lubEsc``=
inksh
iTab
działa wksh93
. Na wypadek, gdyby ktoś utknął lub wolałby.Dodanie niezerowej wartości zwrotnej ostatniego polecenia jest świetnym pomysłem. Myślę, że oryginalny plakat konkretnie pytał o .profile / .cshrc / .bashrc. Warto wspomnieć o liście innych powszechnie dostosowywanych plików RC, ale chciałbym trzymać się tylko modyfikacji powłoki dla tego pytania.
Niedawno dodałem także flagę, która wyświetla się, gdy powłoka działa pod ekranem. Używa komendy solaris „ptree” do przeszukiwania procesów przodków, ale możesz użyć komendy „pstree” w Linuksie, aby zrobić to samo.
Kilka minut zajęło mi ustalenie, jak osadzić kod powrotu ostatniego polecenia, więc opublikuję go tutaj.
Jestem pewien, że to może być piękniejsze. :-)
Wskazówka dotycząca przyszłości, bądź ostrożny z czytaniem $? po użyciu „if [”. Jeśli lewy nawias jest wbudowany, nie zastąpi wartości $ ?. Ale jeśli użyjesz powłoki, w której [nie jest wbudowany, to zresetuje wartość $? po testach. Bezpieczniej jest przypisać $? na zmienną tymczasową od razu, a następnie przetestuj tę zmienną.
źródło
pokaż ostatnio zmieniony plik
Często chcę spojrzeć na najnowszy plik. np. mogę być w katalogu logs i chcę zobaczyć, który plik jest najnowszy, ponieważ jest to pierwsze miejsce, aby sprawdzić, dlaczego coś nie działa.
ls -lt | head
jest nieporęczne do pisania, więc oto alternatywa:Pobiera również symbol wieloznaczny lub listę plików, np
co jest szczególnie przydatne, jeśli wszystkie pliki dziennika mają znacznik czasu w nazwie. Możesz znaleźć najnowszy dziennik dla tego programu, nie martwiąc się, w jakim formacie znajduje się znacznik czasu.
A oto rozszerzona wersja, która obsługuje
-<number>
opcję drukowania<number>
linii zamiast jednej.źródło