Należę do tych, którzy spędzają dużo czasu terminal (konsola, bash, powłoka, jakkolwiek chcesz to nazwać), z powodów X lub Y muszę ciągle zmieniać katalog, pracować nad tym 🙂
W zdecydowanej większości przypadków zmiana katalogu (Na przykład: cd / opt /), a także chcę wiedzieć, co jest w tym katalogu, aby wiedzieć, że używam sekundy ls.
To znaczy, wyglądałoby tak:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nessus
Mówiłem to wiele razy… Jestem dość leniwy, lubię robić jak najmniej kroków końcowych, dlatego po wielu eksperymentach osiągnąłem to, co chciałem.
Zobacz poniżej, który jest niczym więcej, jak tylko ja wchodzę /optować/ za pomocą prostego polecenia cd / opt /:
Jak widać, w jednym kroku (cd / opt /) Wchodzę do katalogu i RÓWNIEŻ wypisuje zawartość tego katalogu i ... jakby tego było mało, pokazuje mi go kolorami 😀
Oto przykład mojego dostępu /itp/ z cd / etc/:
Kolory są łatwe do zrozumienia:
Bez koloru = Pliki
Kolor niebieski = Foldery
Kolor zielony = Pliki z uprawnieniami do wykonywania
Ale przejdźmy do głównego ... Jak, u licha, mogę również użyć po prostu cd, aby automatycznie wyświetlić katalog, do którego mam dostęp?
Nasze archiwum .bashrc (znajduje się w naszym katalogu domowym lub osobistym) pomoże nam to zrobić, musimy najpierw zadeklarować funkcję, którą będziemy wywoływać CDLS:
cdls funkcji {cd "$ 1"; ls –kolor;}
Umieściliśmy tę linię po obu stronach naszego .bashrc ... oto polecenie, aby to zrobić:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
NIE musisz koniecznie tego robić za pomocą tego polecenia, celem jest, aby plik .bashrc zawiera tę linię, więc po prostu edytuj ten plik w preferowanym edytorze tekstu (podkładka pod mysz, kate, gedit, nano, vi itp) i dodaj go.
Zapisują zmianę, zamykają otwarty terminal i otwierają nowy.
W nim napiszemy co następuje i wciśniemy [Wchodzić]:
cdls $HOME
To powinno wystarczyć, aby uzyskać dostęp do naszego osobistego folderu w tym terminalu, a także wyświetli jego zawartość (z kolorami i wszystkim).
Mam na myśli co CDLS już robi to, co chcemy ... teraz możemy osiągnąć to samo, ale za pomocą cd
W tym celu dodajemy plik .bashrc następujący wiersz:
alias cd='cdls'
To się stanie, gdy napiszemy cd … Akcja, którą zdefiniujemy, zostanie faktycznie wykonana CDLS
Zostawiam polecenie, które automatycznie umieści tę poprzednią linię:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Ale tak jak powiedziałem wcześniej, celem jest dodanie tej drugiej linii do tego samego pliku, możesz użyć do tego dowolnego edytora tekstu.
Po wykonaniu tej czynności zamknij terminal i otwórz nowy ... w nim napisz i naciśnij [Wchodzić]:
cd /etc/
I bingo, wejdą / Etc/ a także zawartość tego folderu zostanie wyświetlona i z kolorami 😉 (tak jak na poprzednim zdjęciu)
Do czego to jest przydatne? 😀
Dla ciekawskich, kto się zastanawia, co oznacza ta funkcja? … Pozostawiam proste wyjaśnienie:
cdls funkcji = Tutaj definiujemy, że tworzymy nową funkcję, która będzie się nazywać cdls
cd „$ 1” = A to, co zrobi ta funkcja (zrobi za każdym razem, gdy ją wywołasz, użyjemy lub wykonamy), to wykonanie cd (enter) w kierunku pierwszego parametru, to znaczy ... - »« cd / home / »,« $ 1 »oznacza„ co piszemy po cd ”, w tym przykładzie pierwszym parametrem jest„ / home / ”.
; = Oznacza to, że to zlecenie kończy się w tym miejscu lub akcja do wykonania ... ale funkcja może mieć więcej akcji do wykonania, a teraz zdefiniujemy drugą.
ls –kolor; = Oznacza to, że poza jakąkolwiek zadeklarowaną wcześniej akcją, utworzy również "ls" tam, gdzie się znajdujemy, a "ls" zrobi to z kolorem (–kolor).
Ostatnia sprawa ... najmądrzejsi zdadzą sobie sprawę, że ta logika (przyjmowanie funkcji i konfigurowanie jej do wykonywania kilku akcji) ma duży, duży potencjał, na przykład ... jeśli chcę wejść do folderu i również usunąć inny, to znaczy chcę wejść do /Dom/ a także usunąć / opt / temp / funkcja do tego byłaby:
function asdasd { cd "$1"; rm -Rv "$2"; }
I wpisując terminal asdasd / home / / opt / test / tak, ponieważ wejdzie w pierwszy parametr (/Dom/) i usuń drugą (/ opt / temp /).
W każdym razie, to naprawdę ma DUŻO potencjału hehe, to od Ciebie zależy, czy wykorzystasz go tak bardzo, jak tylko możesz.
Jeśli masz jakiekolwiek wątpliwości, pytania, skargi lub sugestie, chętnie Ci pomogę, do tej pory nie jestem ekspertem, ale przynajmniej lubię pomagać 😀
pozdrowienia
A wszystko to za nieużywanie Zsh.
Tak naprawdę go nie znałem 😉
Dzięki za wskazówkę, będę mieć na to oko.
Jednak wiedza nie ma miejsca ... im więcej wskazówek i wiedzy uda się zdobyć, tym lepiej, nie sądzisz? 🙂
Zsh jest dla odmieńców, mężczyźni używają sh !!! >: D
W rzeczywistości
HAHAHA nie, nie, nie ... Nie sądzę, i nie mów tego w ten sposób, ponieważ niektórzy mogą poczuć się urażeni.
Każdy korzysta z tego, co mu najbardziej odpowiada, co lubi najbardziej 😀
😉
Aplikacja, której często używam do poruszania się po moim systemie, to Autojump:
https://github.com/joelthelion/autojump/blob/master/README.md
Mężczyźni są praktyczni, kobiety i osoby queer to osoby, które lubią komplikować sobie życie. Nie są wymagane dalsze wyjaśnienia.
Spróbuj nie komentować preferencji seksualnych, tak? … Zdarzały się nieprzyjemne sytuacje dla tego typu rzeczy.
Mam nadzieję, że to zrozumiałe.
To wyjaśnienie powinno dotyczyć @msx. Pomysły są budowane za pomocą prawdziwych, obiektywnych i racjonalnych stwierdzeń, a nie obelg czy chamstwa.
W powyższym komentarzu powiedziałem mu, żeby nie mówił tych rzeczy (wybacz mu nadmiar).
A teraz znowu mówię tak, ale nie skierowane tylko do Ciebie, dotyczy to wszystkich.
Nie odbieraj tego źle, intencją było, aby nikt nie czuł się nieswojo lub źle, po prostu staram się uniknąć nieporozumień 🙂
Hahaha, właśnie widziałem ten komentarz!
«To wyjaśnienie powinno dotyczyć @msx. Pomysły są konstruowane z prawdziwych, obiektywnych i racjonalnych stwierdzeń, a nie z obelgami czy chamstwem ”.
Przestań jeść śniadanie z Lemons Man, już wyglądasz jak Franklin na rachunku 100 $: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
????
Czy to queer zsh? Cóż, myślę, że wtedy lubię być queer, ponieważ odkąd nauczyłem się go używać, nie przestałem i nie sądzę, aby to zrobić. o_____o
Czy mężczyźni używają sh ?, Ten komentarz jest dziwny, gdy pochodzi od kogoś, kto ma bashrc pełen rzeczy, więc zakładam, że jesteś kobietą. xP
To jest to, czego nie chciałem osiągnąć. Proszę, zostawmy tutaj walkę, tak? 🙂
Każdy używa tego, czego chce ... sh, zsh, czy czegokolwiek zechce, a także ... każdy ma takie preferencje seksualne, jakie chce mieć, już toczyły się tu walki o takie rzeczy 🙁
haha xD
Ostatnio zsh bardzo się rozwinął, gdy tylko będę miał czas - ha, jakie urojenia! - przeczytam jak najwięcej z jego dokumentacji, aby to wykorzystać i wprowadzić zmianę 🙂
Mówiąc poważnie: jedyną rzeczą, która niepokoi mnie trochę w zsh, jest to, że nie jest w 100% kompatybilny z Bash, więc jeśli użyjemy zsh w naszych skryptach, wykorzystując jego pełny potencjał, jest bardzo, bardzo możliwe, że ten skrypt zawiedzie z drugiej strony w bashu Z drugiej strony, chociaż używamy zsh, piszemy nasze skrypty powłoki w bashu, marnotrawstwem jest używanie zsh ... o_O
Mimo to uważam, że zsh jest tego warte. A propos muszli, czy znasz Fish? Projekt powstał z popiołów, teraz nazywa się Fishfish i bardzo szybko go rozwijają.
Myślę, że zsh powinno być napisane, ponieważ terminal jest bardzo wrażliwy na wielkość liter
Chociaż cd && ls / route jest również poprawne
Chociaż dłużej jest pisać
Pozdrowienia 😀
Myliłem się, mój palec odpadł
Położyłem to na liście i dostęp do katalogu
cd && ls / path
ale po prostu przygotuj się
chociaż tylko do listy jest używany
ls / path
polecenie, które jest równoważne, to
cd / path && ls
pozdrowienia
Rzeczywiście, używając && osiąga się to samo 😀
Jedyna różnica polega na tym, że „cd / opt / && ls” ma o 6 znaków więcej niż tylko „cd / opt /”, to znaczy musiałbym nacisnąć 6 więcej klawiszy ^ - ^ U ... Jestem trochę leniwy na takie rzeczy hehe.
Dlatego dołączyłem do cd + ls… LOL !!
Używam też tego, że filtruję wyniki według rozszerzeń.
Przykład
Mam wiele plików w katalogu ~ / Downloads, ponad 100 i chcę tylko zobaczyć pliki .png, aby to zrobić.
cd Pobieranie && ls * png
Co musiałbym dodać lub zrobić, aby przefiltrować wyniki w prostszym kodzie?
pozdrowienia
Proste 😉
Tworzysz funkcję, która jest na przykład cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
Aby go użyć, byłoby:
cdlsf / opt / png
A to wyświetli listę tylko plików . PNG en /optować/
Oznacza to, że pierwszy parametr (w przykładzie /optować/) będzie katalogiem, do którego chcesz uzyskać dostęp, a drugim parametrem (w przykładzie png) byłoby rozszerzeniem, które chcesz filtrować podczas wyświetlania katalogu.
Inny przykład, jeśli chcesz przejść do / home / user / Pictures i zobaczyć tylko pliki w formacie .JPG, byłoby to:
cdlsf / home / user / Pictures jpg
????
To było to, czego chciałeś, prawda?
PS: Umieściłem cdlsf dla cd (enter) ls (lista) f (filtr) ... ale oczywiście możesz wywołać funkcję, jak chcesz.
zsh nie jest POSIX-em, a do tego wszystkiego trwa dłużej, więc wolę być pedałem, ale bardziej wydajnym
Po pierwsze, w zsh możesz włączyć obsługę POSIX. Po drugie, rozpoczęcie pracy w zależności od liczby funkcji ładowanych podczas uruchamiania zajmuje trochę czasu, więc może być tak lekkie, jak chcesz. Po trzecie, w przypadku zsh jeden jest bardziej praktyczny i wydajny niż w przypadku jakiejkolwiek innej powłoki. Po czwarte, używaj go przed krytykowaniem.
5. Po włączeniu obsługi POSIX nie ma już sensu używanie ZSH.
Używam go od jakiegoś czasu, nie warto, sh jest krótki, a Bash jest doskonały, nie ma nic, czego nie można zrobić w Bashu z odpowiednimi aliasami i funkcjami.
Temat bardzo mi się podoba. w rzeczywistości powinni stworzyć bardziej obszerny artykuł na temat poleceń, które mogą być używane ogólnie w terminalu oraz w określonych dystrybucjach, takich jak Chakra.
Spójrz na ten post 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
Wydało mi się to bardzo interesujące, ponieważ oprócz nauczania tej sztuczki, wyjaśniłeś, jak działa każde polecenie.
Śledzę cię odkąd zacząłem w świecie Linuksa (nie tak dawno ...) i byłem zachęcany do komentowania tylko po to, by pogratulować ci artykułu 😉
Dziękujemy za zatrzymanie się i pozostawienie nam komentarza 😀
Ilekroć odważę się coś wyjaśnić, lubię to wyjaśnić ... no cóż, bardzo dobrze wiem, co to znaczy czytać tutoriale w internecie i nic nie rozumiem hahaha.
Witam dwa razy ... witamy w świecie Tux haha, a także witamy na blogu 🙂
Jeśli masz jakieś pytania, wiesz, daj nam znać hehe.
Pozdrawiamy i dziękujemy za komentarz ^ ⁻ ^
Właśnie przeczytałem twój post z innej strony i nie mogłem się powstrzymać:
Czy nie byłoby łatwiej, po prostu utwórz alias wewnątrz .bashrc?
alias cd = 'ls'
Właściwie to, co próbuję osiągnąć, to wejść do katalogu X (/ opt /… / home / user /… cokolwiek), a także, kiedy go wprowadzam, automatycznie wyświetla zawartość tego katalogu.
Zrób to wszystko za pomocą jednego kroku lub polecenia.
Tworząc alias, jak wskazałeś, wymieniłbym katalog tak, ale nie wpisałbym go.
Z tego, co rozumiem, celem tego wszystkiego jest to, że jeśli chcesz, na przykład, wprowadzić "/ etc" za pomocą polecenia "cd", po wejściu automatycznie pokaże ci zawartość tego katalogu, prawda?
Jeśli tak, możesz uprościć funkcję do "aliasu", gdzie wewnątrz .bashrc umieścisz:
alias cd = »ls»
Dzięki temu w terminalu używasz:
cd / etc
Wejdziesz do katalogu «/ etc», a także automatycznie wyświetli listę wszystkich plików i katalogów, które się tam znajdują.
Jeśli źle zrozumiałem cel, przeprosiny 😛
W efekcie chcę wejść do katalogu i po wejściu do niego wypisać, co zawiera.
Wypróbowałem to, co mówisz, deklarując, że cd = ls przez aliasowanie, ale to nie zadziałało.
Sam konfiguruję, a potem robię:
cd / etc /
Ale zawiera listę / etc /…, ale nie trafia do tego katalogu.
Zostawiam zrzut ekranu, abyś mógł zobaczyć: http://img204.imageshack.us/img204/5272/cdlserror.png
Mój błąd 😀
Było oczywiste, że to nie zadziała w ten sposób, a nawet gdy próbowałem:
alias cdls = 'cd $ 1; ls'
Z jakiegoś dziwnego powodu nie działa, po prostu wyświetla katalog, ale nie przechodzi do D:
Błąd Bash? xD
Przeprosiny za bezsensowne komentarze! 😀 I przejmuję funkcję dla mojego bashrc 😛
Alias to nie to samo co funkcja, alias, jeśli chcesz, aby był taki sam jak kilka poleceń, musisz użyć &&… to nie jest jak w funkcjach, że używanie; i napisanie większej liczby instrukcji będzie działać dla Ciebie.
HAHA nie na darmo przyjacielu, nie ma co usprawiedliwić 😀
pozdrowienia
PS:… cholera… jakże czuję nostalgię, kiedy widzę logo Arch…. T_T ...
Wiem, że to nie to samo, ale pomyślałem, że to zadziała (błąd: P)
Tylko to, że używanie «;» działa dla mnie. zamiast „&&” w aliasie D: (mam dwa takie aliasy, nie rozumiem, dlaczego nie działa z aliasem, który chciałem utworzyć dla tego przypadku)
Dziękuję i przy okazji myślę, że zostanę na blogu pod tytułem „częsty czytelnik” 😀 Bardzo podobała mi się zawartość bloga 😛
oooh tak, wiem, czasami oddzielam się od mojego drogiego Archa, ale nie wiem dlaczego, zawsze jest niemożliwe, żebym do niego nie wrócił xD
Pozdrowienia!
Cóż ... Tux jest tajemniczy, robi różne rzeczy i wiele razy go nie rozumiemy, ale ma plan lub cel dla każdego ... HAHA 😀
Miło jest przeczytać to, co mówisz, kolejny użytkownik Arch, który dołącza do bloga hahahaha ... przyjemność 😀
Musiałem przestać go używać z powodu bardzo dziwnych problemów, które sprawiło mi jądro ... ale nadal zajmuje miejsce w moim sercu 🙁
lol
Nie spotkałem użytkownika Arch, który nie darzy dystrybucji wielkim sentymentem, ma "nie wiem co, co wiem": P, może i jeśli problemy, które ci zadałem, były dawno temu, ty mógłby pomyśleć o powrocie do Arch 😀
Nawiasem mówiąc, wiedziałem, że w jakimś innym miejscu już przeczytałem twoje imię (cóż, pseudonim, pseudonim, pseudonim, cokolwiek), jesteś częścią twórców grafiki komputerowej, prawda? 🙂
Czytałem im 🙂
Właściwie do wypisania zawartości katalogu nie jest konieczne wpisywanie go, więc nie sądzę, aby wybrany przez Ciebie przykład był najszczęśliwszy, hehe. To powiedziawszy, funkcji można używać do wielu przydatnych rzeczy.
Na przykład używam tej funkcji, aby utworzyć katalog i natychmiast go wprowadzić (sprawdzając, czy używany jest tylko jeden parametr):
function mkcd () {
FNERR="Parametros incorrectos.\nUso: mkcd "
if [ $# -eq 1 ] ; then
mkdir -p "$1" && cd "$1"
else
echo -e $FNERR
fi
}
Hmmm ... blog zjadł część polecenia, spróbuję wstawić niepełną linię z tagami HTML:
FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"
Chciałem tylko zaoszczędzić krok.
Innymi słowy, przypuśćmy, że chcę wejść do katalogu (/ etc / squid /), a następnie edytować plik w tym katalogu i nie pamiętam nazwy pliku.
Zwykle kroki byłyby następujące:
cd / etc / squid /
ls
Plik nano.conf
Ale z tą wskazówką, którą proponuję, zamieniam pierwsze 2 kroki tylko na 1, więc po prostu robię:
cd / etc / squid /
Automatycznie wyświetli również dla mnie zawartość katalogu.
Chodzi po prostu o zapisanie kroku 😀
Rozumiesz mnie?
... jest to, że trudno mi to wytłumaczyć haha.
Nie, z wyjaśnieniem nie było problemu, miałem na myśli, że być może przykład, który wybrałeś do zilustrowania porady, nie był idealny, ponieważ można stworzyć prosty "katalog ls".
Właściwie, gdy tylko zobaczyłem funkcję, zrozumiałem cel. Używam też różnych funkcji w moim .bash_aliasyNa przykład ten, którego często używam do zarządzania historią:
h () {
if [ $# -eq 0 ] ; then
history | tail -n 25 | less
elif [ $# -eq 1 ] ; then
history | egrep -i "$1" | less
else
echo -e "Parametros incorrectos."
fi
}
(Dzięki tej funkcji, jeśli tylko wstawię h Dostaję ostatnie 25 komend, ale jeśli na przykład wstawię h mocowanie Otrzymuję ostatnie polecenia związane z zespołami).
Przyjmuję twoją rolę hehehe ... zasługuje na to, aby to przestudiować 😀
świetna funkcja! dzięki
+1
KZKG ^ Gaara
Bardzo dobra odpowiedź, bardzo dobrze mi służyła, nie mogłem już na nią odpowiedzieć
Teraz użyję cdlsf, aby zwiększyć swoją produktywność, bardzo dobra nazwa dla polecenia 😀
pozdrowienia
Jak robisz, aby ustawić czas na terminalu, zrobiłem to już wcześniej, był to bashrc, który pobrałem, ale nie pamiętam, jak się nazywa.
Dobry wpis, nie znałem sztuczki, zastosuję go w praktyce, żeby zobaczyć jak to działa. xP
Pozdrowienia.
Byłoby miło, gdyby moja przeglądarka została dodana. xD
Pozdrowienia, jeszcze raz. xD
Jakiej przeglądarki używasz?
Cóż, w innym komentarzu zauważyłem, że korzystałeś z przeglądarki Firefox 🙂
Tak, używam Firefoksa, ale robi się coraz rzadziej i nie jest to już moja główna przeglądarka, używam dwb i byłoby miło, gdyby można go było dodać. xP
Pozdrowienia.
I czy zrobienie tego aliasu nie spowoduje problemów w skryptach, gdy próbujesz po prostu cd, a także wypisuje ls? Szczególnie wolę tworzyć aliasy z nazwami, których inne pliki wykonywalne nie używają, ponieważ nie pierwszy raz sprawia mi to problemy ...
Jak uzyskać przerywane linie i czas po każdym poleceniu?
Popatrz tutaj - " https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
Mój wkład:
alias ldir = 'ls | grep -v \\. ' ## wymień tylko katalogi (uważaj, nie zmieniaj nazwy na ld, ponieważ istnieje polecenie GNU / Linux o tej nazwie)
-
alias ll = 'ls -lah –kolor | awk '\ »{k = 0; for (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8-i)); if (k) printf ("% 0o", k); print} '\' ''
Interesującą rzeczą w tym aliasie jest awk, który analizuje wyjście ls, result? Pokazuje uprawnienia do plików w formacie ósemkowym obok rwx, dla mnie nieskończenie bardziej praktyczne i szybsze niż litery.
-
alias lg = 'ls -lah –kolor | awk '\' '{k = 0; for (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); if (k) printf ("% 0o", k); print} '\' '| grep -i'
Wariant powyższego aliasu. Dodałem na koniec grep żeby tak jak robię np:
$lgzip
Pokaż mi tylko pliki zawierające zip w dowolnej z jego form (zwróć uwagę na -i na końcu) oprócz uprawnień ósemkowych itp.
-
alias grep = 'grep –color = auto' ## koloruje dopasowanie grep
-
Mam o wiele więcej do udostępnienia, ale to małe miejsce sprawia, że jestem ciasny xD
@KZKG, Staff: Czy myślisz, że otwierasz post na blogu lub forum (do którego odsyłamy za każdym razem, gdy publikowana jest wskazówka związana z konsolą), aby zebrać wszystkie te małe perełki?
Pozdrowienia!
Przez link masz na myśli to? - » https://blog.desdelinux.net/tag/bash
Nic nie powiedziałem, nic więcej nie jest potrzebne, wszystko jest idealnie oznakowane!
Co za Chilijczyk, to bardzo dobra funkcja!