Czy jest coś, bez czego nie możesz żyć i znacznie ułatwi moje życie? Oto niektóre, których używam (szczególnie przydatne są „przestrzeń dyskowa” i „foldery”).
# some more ls aliases
alias ll='ls -alh'
alias la='ls -A'
alias l='ls -CFlh'
alias woo='fortune'
alias lsd="ls -alF | grep /$"
# This is GOLD for finding out what is taking so much space on your drives!
alias diskspace="du -S | sort -n -r |more"
# Command line mplayer movie watching for the win.
alias mp="mplayer -fs"
# Show me the size (sorted) of only the folders in this directory
alias folders="find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn"
# This will keep you sane when you're about to smash the keyboard again.
alias frak="fortune"
# This is where you put your hand rolled scripts (remember to chmod them)
PATH="$HOME/bin:$PATH"
Odpowiedzi:
Mam mały skrypt, który wyodrębnia archiwa, znalazłem go gdzieś w sieci:
źródło
Ponieważ używam tak wielu różnych maszyn,
.bashrc
zawsze ustawiam wiersz polecenia, aby zawierał między innymi nazwę serwera, na którym jestem aktualnie zalogowany. W ten sposób, gdy mam trzy poziomy głębokości w telnet / ssh, nie wpisuję niewłaściwej rzeczy w niewłaściwym oknie. Naprawdę jest do banirm -rf .
w niewłaściwym oknie! (Uwaga: w domu telnet jest wyłączony na wszystkich komputerach. W pracy ssh nie zawsze jest włączony i nie mam dostępu root do wielu komputerów.)Mam skrypt,
~/bin/setprompt
który jest wykonywany przeze mnie.bashrc
, który zawiera:Ten skrypt ustawia monit o nazwę hosta, a następnie,
:)
jeśli ostatnie polecenie zakończyło się powodzeniem, a:(
jeśli ostatnie polecenie nie powiodło się.źródło
Kolor strony podręcznika w mniej powoduje, że strony są nieco łatwiejsze do odczytania:
Kolorowe strony można również uzyskać, instalując większość i używając go jako zmiennej env MANPAGER. Jeśli chcesz używać tego pagera nie tylko dla man, użyj zmiennej PAGER, jak poniżej:
źródło
Nigdy więcej cd ../../../ .. ale w górę 4
Przechodzi w górę o wiele katalogów jako liczba przekazana jako argument, jeśli żaden domyślnie nie wzrasta o 1 (znaleziony w linku w komentarzu na stackoverflow.com i nieco zmodyfikowany)
źródło
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'
Mam do czynienia z wieloma różnymi komputerami, więc jednym z moich ulubionych są aliasy dla każdej maszyny, do której muszę często SSH:
Przydatne jest również skonfigurowanie dobrego
.ssh/config
i ssh, aby jeszcze bardziej ułatwić przeskakiwanie między maszynami.Kolejnym z moich ulubionych aliasów jest przenoszenie katalogów:
I niektóre z często używanych odmian
ls
(i literówek):Historia może być bardzo przydatna, ale domyślnie w większości dystrybucji twoja historia jest zdmuchiwana przez każdą wychodzącą powłokę i na początku nie zawiera wiele. Lubię mieć 10 000 linii historii:
W ten sposób, jeśli wiem, że już coś zrobiłem, ale nie pamiętam szczegółów, szybkie
history | grep foo
pomogłyby mi wspomnieć.Często przepuszczałem dane wyjściowe
awk
w celu uzyskania określonej kolumny danych wyjściowych, np. Wdf -h | awk '{print $2}'
celu znalezienia rozmiaru każdego z moich dysków. Aby to ułatwić, stworzyłem funkcjęfawk
w moim .bashrc:Mogę teraz uruchomić,
df -h|fawk 2
co oszczędza sporo pisania.Jeśli trzeba określić separator ( np ,
awk -F:
za/etc/passwd
), funkcja ta oczywiście nie może sobie z tym poradzić. Nieco zmodyfikowana wersja w tej liście może obsługiwać dowolneawk
argumenty przed numerem pola (ale nadal wymaga danych wejściowych ze standardowego wejścia).źródło
Bashrc zaszyfrowane przez GPG
Jestem pewien, że wszyscy mamy rzeczy, które chcielibyśmy umieścić w naszym bashrc, których nie chcemy, aby były łatwe do odczytania przez sudoers. Moje rozwiązanie tego problemu to:
Mam agenta GPG, który to sprawia, że muszę wpisywać hasło klucza prywatnego tylko raz na kilka godzin. Nadal musisz mieć zaufanie do użytkowników systemu, ponieważ twoja zmienna, funkcje i aliasy, które zdefiniujesz, mogą zostać wyodrębnione z pamięci RAM. Jednak używam tego głównie do mojego laptopa. Jeśli zostanie skradziony, nie chcę, żeby ktoś tak łatwo widział:
źródło
MYsql < garbagecollect.sql
zamiastmysql -uadmin -psecret < garbagecollect.sql
jest to niesamowity zasób do tego:
pokaż nam swój .bashrc
źródło
Ustawiałem je wszędzie, ale potem zdałem sobie sprawę, że lepiej było po prostu pamiętać, jak to zrobić „ręcznie”, ponieważ oznaczało to, że 1) w pełni rozumiem, co się dzieje i 2) mam dostęp do tych możliwości, nawet jeśli mój niestandardowy plik .bashrc nie został zainstalowany.
Jedyne, czego używam aliasy na te dni, to ograniczenie powtarzania pisania naprawdę długich linii (np.
alias myhost='ssh -T [email protected] screen -dAr'
)źródło
Jedyne linijki i maleńkie skrypty mogą trwać wiecznie. Polecam man bash i pisanie rzeczy samemu. Kilka dobrych krótkich bashów na http://www.commandlinefu.com . Oto kilka rzeczy.
źródło
history -p
sztuczkę.Mała wskazówka dla Basha, jeśli jesteś administratorem i dużo pracujesz z uprawnieniami roota:
Zapobiegnie to przypadkowemu zniszczeniu zawartości już istniejącego pliku, jeśli przekierujesz dane wyjściowe (> nazwa pliku). Zawsze możesz wymusić zastąpienie za pomocą> | filename.
źródło
Mam następujące bashrc
Na komputerze lokalnym wygląda to tak:
ale na zdalnym (poprzez ssh) jest to:
źródło
Mam to w moim .bashrc od jakiegoś czasu i uważam, że było to pomocne. Jeśli logujesz się do skrzynki, ekran uruchamia się automatycznie po zalogowaniu, w ten sposób, gdy połączenie sieciowe zostanie przerwane lub cokolwiek, nie stracisz tego, co robiłeś. Powinien zostać umieszczony na końcu.
źródło
W
fortune
każdym razie, ile aliasów potrzebujesz?Lubię tworzyć
cdd
alias, który zabierze mnie tam, gdzie obecnie najprawdopodobniej będę pracował na tym serwerze.PATH
redefinicja naprawdę należy.bash_profile
, nie.bashrc
.Na serwerze, na którym rutynowo używam dużego zestawu
screen
s, moje.bashrc
będą mieć:(
screen
S zostały skonfigurowane na przykładscreen -U -S chaos1
.)źródło
Między innymi ustawiłem niektóre wartości domyślne na mniej, zapobiegam przypadkowemu zamknięciu terminala i włączam nawigację do przodu w historii:
źródło
export IGNOREEOF="2"
Mam kilka bitów:
źródło
cd -
zamiast bdOgonuj wszystkie logi w / var / log
źródło
Aby mieć kolory dla wszystkich poleceń grep, takich jak grep, egrep i zgrep, mam następujące pliki .bashrc
źródło
Alias „folderów” jest świetny! Zmodyfikowałem go nieco, aby katalogi ze spacjami nie powodowały błędów.
źródło
Chciałbym powtórzyć komentarz @ pjz na temat ręcznego poznawania rzeczy, zamiast ich konfigurowania. Zwłaszcza jeśli masz dostęp do wielu maszyn, jak zawsze.
Tak więc zdecydowanie wiem,
set -o vi
ponieważ znam polecenia edycji vi w bash i nie znam tych emacsowych (poza tym Ctrl + A przeszkadzascreen
). Włożyłem to na własne pudełka.bashrc
Uważam również, że muszę to uwzględnić,
export EDITOR=vim
ponieważ kilka ostatnich dystrybucji domyślnie ustawia się na nano, co jest najbardziej denerwujące, że rzuca się w nie narzędzie, które wymaga od ciebie edycji, gdy spodziewałem się vi. : - /Zmieniam również monit. Dawno temu przekonałem się, że dodanie ostatniego kodu błędu jest na tyle przydatne, że mi się podoba. I podoba mi się pełna nazwa ścieżki w wierszu polecenia. I obecny
screen
numer też. I ma sens podanie bieżącego użytkownika i nazwy hosta. Moje pytanie brzmi:PS1='\u@\h $PWD $WINDOW [$?] \$ '
źródło
Poproś o sprawdzenie, czy rozmiar okna się zmienił (zapobiega dziwnej edycji linii w przypadku zmiany rozmiaru okna terminala)
To jest moje ulubione. Powoduje, że bash dołącza się do historii zamiast ją zastępować . Zwykle po uruchomieniu bash wczytuje historię do pamięci, a po jej zamknięciu zapisuje ją. Oznacza to, że jeśli załadujesz dwie powłoki, użyj obu, a następnie zamknij obie, ta, którą zamknąłeś ostatnio, nadpisze wszystkie zmiany.
Ten fragment kodu powoduje, że najpierw tylko dołącza zmiany (zamiast zastępowania całego bufora), a następnie powoduje, że po każdym poleceniu zapisuje zmiany. W efekcie otrzymujesz aktualizację na bieżąco .bash_history, więc jeśli uruchomisz nowy terminal, masz wszystkie polecenia z historii innych uruchomionych sesji.
źródło
Shell-fu.org .bashrc „s kolekcja
źródło
Oto kopalnie:
źródło
Oto moje ulubione:
Lubię mieć historię wiersza poleceń, która nigdy nie zapomina.
Niestety, jakiś czas temu wystrzeliłem z crona powłokę, która jakoś nie czytała .bashrc i podzieliłem wszystko na 500 linii, niszcząc przez lata. Polecam więc przejść do / etc / bashrc.
źródło
Oto kilka moich ulubionych:
źródło
Używam tego około 20 razy dziennie, aby cd do ostatnio zmienionego katalogu:
Te dwa prowadzą stałe zakładki często używanych katalogów:
źródło
Od Automatyzacji administracji Linuksem i Unixem autorstwa Kirka Bauera (świetna książka!)
Nowa linia na początku jest moja, lubię mieć wyraźną linię między poprzednim wyjściem a pytaniem. Reszta to:
\ u = nazwa użytkownika
\ h = host
\ w = katalog roboczy
$? = ostatni kod powrotu
źródło
Kompiluję wiele rzeczy ręcznie w $ HOME / local, więc mam ten mały fragment:
Mam również mojego klienta IRC na moim serwerze działającym na ekranie, więc mam to (nie jest to .bashrc, ale nadal jest przydatne)
źródło
Używam mojego bashrc na wielu maszynach, więc mam ten mały fragment, aby upewnić się, że LS jest zabarwiony. To naprawi to na maszynach OSX, może nawet * BSD, jeśli dostosujesz linię uname.
Mam też polecenie wykonania kopii zapasowej pliku, przydatne, jeśli chcesz zmienić plik konfiguracyjny i chcesz szybko wykonać kopię.
źródło
To jedno z moich ulubionych:
Jeśli zapomniałem uwierzytelnić, pozwala mi to zrobić bez marnowania pisania na ssh-add po sesji ssh.
źródło
Kilka dobrych
Ustaw, aby SSH automatycznie uzupełniał nazwę hosta, na którą ssh (jeśli jest w twojej konfiguracji lub historii)
Kilka przydatnych ustawień zakończenia bash
Niektóre przydatne dla systemu Mac OS X.
źródło