Аз съм от онези, които използват много време терминал (console, bash, shell, както искате да го наречете), поради X или Y причини трябва непрекъснато да сменям директория, работейки върху нея 🙂
В по-голямата част от случаите промяната на директория (Например: cd / opt /) и също така искам да знам какво има в тази директория, за да знам тази секунда, която използвам ls.
Тоест би било така:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nessus
Казвал съм го много пъти ... Доста съм мързелив, обичам да правя най-малко стъпки в терминала, затова след много експерименти постигнах точно това, което исках.
Вижте следното, което не е нищо повече от влизането ми /избирам/ с простата команда cd / opt /:
Както можете да видите, в една стъпка (cd / opt /) Влизам в директорията и също така изброявам съдържанието на тази директория и ... сякаш това не е достатъчно, тя ми го показва с цветове 😀
Ето примера с моя достъп / и т.н. / с cd / и т.н./:
Цветовете са лесни за разбиране:
Без цвят = Файлове
Син цвят = Папки
Зелен цвят = Файлове с разрешения за изпълнение
Но нека преминем към основното ... Как, по дяволите, използвайки само cd, мога ли и аз автоматично да изброя директорията, до която имам достъп?
Нашият архив .bashrc (намиращи се в нашия дом или лична папка) ще ни помогне да направим това, първо трябва да декларираме функция, която ще извикаме CDls:
функция cdls {cd "$ 1"; ls –цвет;}
Поставяме тази линия от двете страни на нашата .bashrc ... ето командата да го направите:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
НЕ е задължително да го правите с тази команда, целта е файлът .bashrc съдържа този ред, така че просто редактирайте този файл с предпочитания от вас текстов редактор (подложка за мишка, kate, gedit, nano, vi и др) и го добавете.
Те запазват промяната, затварят отворения терминал и отварят нов.
В него ще напишем следното и ще натиснем [Въведете]:
cdls $HOME
Това би трябвало да е достатъчно за достъп до нашата лична папка в този терминал, а също така ще изброи и съдържанието му (с цветове и всичко).
Искам да кажа, какво CDls той вече прави това, което искаме ... сега можем да постигнем само същото, но с cd
За това добавяме във файла .bashrc следния ред:
alias cd='cdls'
Това ще стане, когато пишем cd ... Действието, което дефинираме, всъщност ще бъде изпълнено CDls
Оставям ви командата, която автоматично ще постави този ред по-горе:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Но точно както казах по-рано, целта е да добавите този друг ред към същия файл, можете да използвате текстовия редактор по ваш избор за него.
След като това стане, затворете терминала и отворете нов ... в него напишете следното и натиснете [Въведете]:
cd /etc/
И бинго, те ще влязат / И т.н./ а също така съдържанието на тази папка ще бъде изброено и с цветове 😉 (точно както на предишна снимка)
За какво е полезно? 😀
За любознателните, които се чудят какво означава тази функция? ... Оставям ви простото обяснение:
функция cdls = Тук дефинираме, че създаваме нова функция и тя ще се нарича cdls
cd "$ 1" = И това, което ще направи тази функция (тя ще прави всеки път, когато я извикаме, използваме или изпълним), е да направи cd (enter) към 1-ви параметър, тоест ... - »« cd / home / »,« $ 1 »означава« какво че пишем след cd ", в този пример първият параметър е" / home / ".
; = Това означава, че тази поръчка завършва там или действие, което да се изпълни ... но една функция може да има повече действия за извършване и сега ще определим второ.
ls - цвят; = Това означава, че в допълнение към всяко действие, декларирано преди това, той също ще направи "ls", където се намираме, и "ls" ще го направи с цвят (–цвет).
Последно нещо ... най-умният, те ще осъзнаят, че тази логика (вземане на функция и конфигуриране да изпълнява няколко действия) има много, много потенциал, например ... ако искам да вляза в папка и също да изтрия друга, тоест искам въведете в /У дома/ и също да изтриете / opt / temp / функцията за това ще бъде:
function asdasd { cd "$1"; rm -Rv "$2"; }
И пишете в терминал asdasd / начало / / opt / test / би, защото ще влезе в 1-ви параметър (/У дома/) и изтрийте втория (/ opt / temp /).
Както и да е, това наистина има МНОГО потенциал хехе, зависи от вас да се възползвате от него, доколкото можете.
Ако имате някакви съмнения или въпроси, оплаквания или предложения, с удоволствие ще ви помогна, не съм експерт досега, но поне искам да помогна
поздрави
И всичко това за неизползване на Zsh.
Наистина не го познавах 😉
Благодаря за съвета, ще го следя.
Знанието обаче не се осъществява ... колкото повече съвети и знания човек успее да придобие, толкова по-добре, не мислите ли? 🙂
Zsh е за queers, мъжете използват sh !!! >: D
В действителност
ХАХАХА не не не ... не мисля така и не го казвайте така, защото някои може да се обидят.
Всеки използва това, което му е най-подходящо, което най-много му харесва 😀
????
Приложение, което използвам много за навигация в системата си, е Autojump:
https://github.com/joelthelion/autojump/blob/master/README.md
Мъжете са практични, жените и queers са тези, които обичат да усложняват живота си. Не се изискват допълнителни разяснения.
Моля, опитайте се да не коментирате сексуалните предпочитания да? ... Имало е неприятни ситуации за такива неща.
Надявам се, че е разбираемо.
Това уточнение трябва да е за @msx. Идеите се изграждат с верни, обективни и рационални твърдения, а не с обиди или грубост.
В моя коментар по-горе му казах да не казва тези неща (простете съкращението).
И сега отново казвам „да“, но не насочено само към вас, то е валидно за всички.
Не го приемайте по грешен начин, намерението не беше да накарате никого да се чувства неудобно или зле, просто се опитвам да избегна недоразумението 🙂
Хахаха, току-що видях този коментар!
«Това уточнение трябва да е за @msx. Идеите се изграждат с верни, обективни и рационални твърдения, а не с обиди или грубост. "
Спри да закусваш с лимони, човек, вече изглеждаш точно като Франклин в банкнотата от 100 долара: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
????
Zsh е за педници? Е, мисля, че тогава ми харесва да бъда педик, защото откакто се научих да го използвам, не съм спирал и не възнамерявам да го правя. o_____o
Мъжете използват ли sh?, Този коментар е странен от някой, който има башър, пълен с неща, така че ще предположа, че сте жена. xP
До това не исках да стигна. Моля, нека оставим борбата тук, нали? 🙂
Всеки използва каквото си иска ... sh, zsh, или каквото си иска, а също така ... всеки има сексуалните предпочитания, които иска да има, тук вече има битки за такива неща 🙁
хахаха xD
Напоследък zsh се е развил много, щом имам време - ха, колко заблудено! - Ще прочета колкото се може повече от документацията му, за да се възползвам от него и да направя промяната
Сега като говорим сериозно: единственото нещо, което ме притеснява малко при zsh, е, че той не е 100% съвместим с Bash, така че ако използваме zsh в нашите скриптове, изваждайки пълния му потенциал, много, много е възможно споменатият скрипт да се провали в bash, от друга страна От друга страна, въпреки че използваме zsh, пишем скриптовете си на черупки в bash, губенето е да се използва zsh ... o_O
Въпреки това мисля, че zsh си заслужава. Говорейки за черупката, познавате ли Рибата? Проектът се издигна от пепелта, сега се нарича fishfish и те го развиват много бързо.
Мисля, че zsh трябва да се напише, тъй като терминалът е много чувствителен към малки и големи букви
Въпреки че cd && ls / route също е валиден
Въпреки че е по-дълго да се пише
Поздрави 😀
Сгреших, пръстът ми изчезна
Слагам, че с това е в списъка и има достъп до директория
cd && ls / path
но просто се пригответе
въпреки че се използва само за изброяване
ls / пътека
командата, която е еквивалент, е
cd / path && ls
поздрави
Всъщност използването на && се постига същото 😀
Единствената разлика е, че "cd / opt / && ls" има 6 знака повече от просто "cd / opt /", тоест би трябвало да натисна още 6 клавиша ^ - ^ U ... Малко ме мързи за такива неща хехе.
Ето защо се присъединих към cd + ls ... LOL !!
Това, което също използвам, е, че филтрирам резултатите по разширения.
пример
Имам много файлове в ~ / Downloads повече от 100 и искам само да видя .png, за да направя това.
cd Изтегляния && ls * png
Какво трябва да добавя или направя, за да филтрирам резултатите в по-опростен код?
поздрави
Просто 😉
Създавате функция, която е например, cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
За да го използвате, би било:
cdlsf / opt / png
И това ще ви изброи само файловете . Png en /избирам/
Това е първият параметър (в примера /избирам/) ще бъде директорията, до която искате да влезете, и вторият параметър (в примера PNG) би било разширението, което искате да филтрирате, когато изброявате директорията.
Друг пример, ако искате да отидете на / home / user / Pictures и да видите само файловете, които са .JPG, би било:
cdlsf / home / user / Pictures jpg
????
Това беше, което искахте, нали?
PS: Слагам cdlsf от cd (enter) ls (list) f (filter) ... но очевидно можете да извикате функцията каквото искате.
zsh не е POSIX и на всичкото отгоре отнема повече време, за да започнете, затова предпочитам да бъда педик, но по-ефективен
Първо, в zsh можете да активирате поддръжката на POSIX. Второ, отнема време, за да стартирате според това колко функции зареждате при стартиране, така че може да бъде толкова лек, колкото искате. Трето, с zsh един е по-практичен и ефективен, отколкото с всяка друга обвивка. Четвърто, използвайте го, преди да критикувате.
5-ти. Когато активирате поддръжката на POSIX, няма смисъл да използвате ZSH.
Използвам го от известно време, не си струва, sh е кратък и Bash е перфектен, няма нищо, което не можете да направите в Bash с подходящите псевдоними и функции.
Много харесвам темата. всъщност те трябва да създадат по-обширна статия за командите, които могат да се използват като цяло в терминала и в специфични дистрибуции, като Чакра.
Вижте тази публикация 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
Стори ми се много интересно, тъй като освен че преподавате този трик, вие обяснихте как работи всяка команда.
Следя ви откакто започнах в света на Linux (не много отдавна ...) и бях насърчен да коментирам, само за да ви поздравя за статията 😉
Благодарим ви, че се отбихте и ни оставихте коментара 😀
Винаги, когато се осмеля да обясня нещо, обичам да го давам възможно най-ясно ... е, аз много добре знам какво е да чета уроци в интернет и изобщо да не разбирам нищо хахаха.
Добре дошли два пъти ... добре дошли в света на Tux хаха, а също и добре дошли в блога 🙂
Ако имате някакви въпроси, знаете ли, уведомете ни хехе.
Поздрави и благодаря за коментара ^ ⁻ ^
Току-що прочетох публикацията ви от друг уебсайт и не устоях:
Не би ли било по-лесно, просто създайте псевдоним в .bashrc?
псевдоним cd = 'ls'
Всъщност това, което се опитвам да постигна, е да въведа директория X (/ opt / ... / home / user / ... каквото и да е), а също и когато я въведа, тя автоматично изброява съдържанието на тази директория.
Направете всичко с 1 единична стъпка или команда.
Ако направите псевдоним, както посочите, той ще изброи директорията, да, но няма да го въведе.
От това, което разбирам, целта на всичко това е, че ако искате например да въведете „/ etc“ чрез командата „cd“, при влизане автоматично ще ви покаже съдържанието на тази директория, нали?
Ако е така, можете да опростите функцията в "псевдоним", където вътре .bashrc поставяте:
псевдоним cd = »ls»
С това, когато в терминал използвате:
cd / и т.н.
Ще влезете в директорията «/ и т.н.» и тя автоматично ще изброи всички файлове и директории, които са там.
Ако погрешно разбрах целта, извинение 😛
Всъщност искам да вляза в директория и след като вляза в нея, да изброя какво съдържа.
Опитах това, което казвате, като декларирах, че cd = ls чрез псевдоним, но не ми се получи.
Конфигурирам го сам и след това правя:
cd / и т.н. /
Но той изброява / etc / ..., но не влиза в тази директория.
Оставям екранна снимка, за да можете да видите: http://img204.imageshack.us/img204/5272/cdlserror.png
Моята грешка 😀
Беше очевидно, че няма да работи по този начин и дори когато опитах:
псевдоним cdls = 'cd $ 1; ls'
По някаква странна причина не работи, той просто изброява директорията, но не влиза в D:
Баш грешка? xD
Извинение за безсмислените коментари! 😀 И аз поемам функцията за моя bashrc 😛
Псевдонимът не е същото като функция, псевдоним, ако искате да бъде същият като няколко команди, трябва да използвате && ... не е като във функциите, че използването; и писането на повече инструкции ще ви свърши работа.
ХАХА не за нищо приятел, няма какво да се извинявам 😀
поздрави
PS: ... по дяволите ... колко носталгичен съм, когато видя логото на Arch ... T_t ...
Знам, че не е същото, но реших, че ще работи (Грешка: P)
При мен работи само използването на «;». вместо "&&" в псевдоним D: (имам два псевдонима като този, това, което не разбирам, е защо не работи с псевдонима, който исках да създам за този случай)
Благодаря и между другото, мисля, че ще остана в блога под заглавието "чест читател" really Наистина харесах съдържанието на блога 😛
ооо, да знам, понякога се отделям от скъпата ми Арка, но, не знам защо, винаги е невъзможно да не се върна при него xD
Поздрави!
Е ... Тукс е мистериозен, прави неща и много пъти не го разбираме, но той има план или цел за всички ... HAHA 😀
Удоволствие да прочета това, което казвам, друг потребител на Arch, който се присъедини към блога хахахаха ... удоволствие 😀
Трябваше да спра да го използвам поради много странни проблеми, които ми даде ядрото ... но все пак заема място в сърцето ми 🙁
хахаха
Не съм срещал потребител на Arch, който да не проявява голяма обич към разпространението, той има „не знам какво, какво знам“: P, може би и ако проблемите, които ви дадох бяха отдавна, можете да помислите за връщане към Arch 😀
Между другото, знаех, че на друго място вече съм прочел името ти (добре, псевдоним, псевдоним, каквото и да е), ти си част от авторите на изкуството за настолни компютри, нали? 🙂
Преди им четях 🙂
Всъщност за изброяване на съдържанието на дадена директория не е необходимо да я въвеждате, така че не мисля, че примерът, който сте избрали, е най-щастлив, хе-хе. С това казано, функциите могат да се използват за много полезни неща.
Например използвам тази функция, за да създам директория и да я въведа незабавно (потвърждавайки, че се използва само един параметър):
function mkcd () {
FNERR="Parametros incorrectos.\nUso: mkcd "
if [ $# -eq 1 ] ; then
mkdir -p "$1" && cd "$1"
else
echo -e $FNERR
fi
}
Хммм ... блогът изяде част от командата, ще се опитам да сложа непълния ред с HTML тагове:
FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"
Това, което исках да постигна, беше да спестя стъпка.
С други думи, да предположим, че искам да въведа директория (/ etc / squid /) и след това да редактирам файл в тази директория и не помня името на файла.
Стъпките обикновено са:
cd / etc / squid /
ls
nano.conf файл
Но с този съвет, който предлагам, превръщам първите 2 стъпки само в 1, така че просто като направите:
cd / etc / squid /
Той автоматично ще изброи съдържанието на директорията и за мен.
Става въпрос просто за запазване на стъпка 😀
Ти ме разбираш?
... трудно ми е да обясня хаха.
Не, обяснението нямаше проблем, имах предвид, че може би примерът, който избрахте, за да илюстрирате върха, не беше идеален, тъй като човек може да направи проста „ls директория“.
Всъщност веднага щом видях функцията, разбрах целта. Аз също използвам различни функции в моя .bash_aliasesНапример това е, което използвам много за управление на историята:
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
}
(С тази функция, ако просто сложа h Получавам последните 25 команди, но ако например сложа h монтиране Получавам последните команди, свързани със сборки).
Взимам вашата роля хехехе ... заслужава да я изуча 😀
страхотна вашата функция! Благодаря
+1
KZKG ^ Гаара
Много добър отговор, той ми служи много добре, не можах да отговоря на него по-горе
Сега ще използвам cdlsf, за да повиша производителността си, много добро име за команда 😀
поздрави
Както правите, за да зададете времето за терминала, вече го бях направил, изтеглих bashrc, но не помня как се казваше.
Добър запис, не знаех трика, ще го приложа на практика, за да видя как работи. xP
Поздрави.
Би било хубаво, ако браузърът ми беше добавен. xD
Поздрави, отново. xD
Какъв браузър използвате?
Е, в друг коментар видях, че сте използвали Firefox 🙂
Да, използвам Firefox, но той става все по-малко и вече не е основният ми браузър, използвам dwb и би било хубаво, ако може да бъде добавен. xP
Поздрави.
И няма ли да прави този псевдоним да създава проблеми в скриптове, когато се опитвате само да cd и да извеждате ls? Особено предпочитам да създавам псевдоними с имена, които другите изпълними файлове не използват, защото не за първи път ми създава проблеми ...
Как получавате прекъснатите линии и времето след всяка команда?
Вижте тук - " https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
Моят принос:
псевдоним ldir = 'ls | grep -v \\. ' ## изброява само директориите (внимавайте, не го преименувайте на ld, тъй като има команда GNU / Linux с това име)
-
псевдоним ll = 'ls -lah –color | awk '\ »{k = 0; за (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8-i )); if (k) printf ("% 0o", k); print} '\' ''
Интересното при този псевдоним е awk, който анализира изхода на ls, резултат? Той показва разрешенията за файлове в осмичен формат до rwx, за мен безкрайно по-практично и по-бързо от буквите.
-
псевдоним lg = 'ls -lah –color | awk '\' '{k = 0; за (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); if (k) printf ("% 0o", k); print} '\' '| grep -i'
Вариант на псевдонима по-горе. Добавих grep в края, така че по този начин, когато правя например:
$ lg цип
Покажете ми само файловете, съдържащи zip във всяка от неговите форми (забележете -i в края) в допълнение към осмичните разрешения и т.н.
-
alias grep = 'grep –color = auto' ## оцветява съответствието на grep
-
Имам да споделям още много, но това малко място ме затяга xD
@KZKG, Персонал: Смятате ли, че отваряте публикация в блога или във форума (към която свързваме всеки път, когато се публикува съвет, свързан с конзолата), за да съберете всички тези малки перли?
Поздрави!
Под връзка ли разбирате това? - » https://blog.desdelinux.net/tag/bash
Не казах нищо, нищо друго не е необходимо, всичко е перфектно маркирано!
Какъв чилиец, това е много добра функция!