Я одна з тих, хто використовує багато часу термінал (консоль, bash, shell, як ви хочете це назвати), з причин X чи Y мені доводиться постійно міняти каталог, працюючи над ним 🙂
У переважній більшості випадків зміна каталогу (Наприклад: cd / opt /), і я також хочу знати, що знаходиться в цьому каталозі, щоб знати цю секунду, яку я використовую ls.
Тобто це було б так:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Нессус
Я вже неодноразово говорив це ... Я досить лінивий, мені подобається робити якнайменше кроків у терміналі, тому після довгих експериментів я досяг саме того, що хотів.
Дивіться наступне, що є нічим іншим, як моїм входом / opt / за допомогою простої команди cd / opt /:
Як бачите, за один крок (cd / opt /) Я заходжу в каталог і ТАКЖЕ в ньому перелічується вміст цього каталогу, і ... як би цього було недостатньо, він показує його мені кольорами 😀
Ось приклад мого доступу / тощо / з CD / тощо/:
Без кольору = Файли
Колір блакитний = Папки
Зелений колір = Файли з дозволами на виконання
Але, перейдемо до головного ... Як, блін, я також можу використовувати просто cd для автоматичного переліку каталогу, до якого я отримую доступ?
Наш архів .bashrc (знаходиться в нашому домашньому або особистому каталозі) допоможе нам це зробити, спочатку потрібно оголосити функцію, яку ми будемо викликати компакт-диски:
функція cdls {cd "$ 1"; ls –color;}
Ми ставимо цей рядок по обидва боки нашого .bashrc ... ось команда для цього:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
Вам НЕ обов’язково робити це за допомогою цієї команди, мета полягає в тому, щоб файл .bashrc містить цей рядок, тому просто відредагуйте цей файл за допомогою улюбленого текстового редактора (коврик для миші, kate, gedit, nano, vi тощо) і додайте його.
Вони зберігають зміни, закривають відкритий термінал і відкривають новий.
У ньому ми напишемо наступне і натиснемо [Введіть]:
cdls $HOME
Цього має бути достатньо для доступу до нашої особистої папки в цьому терміналі, і там також буде вказаний його вміст (із кольорами та всім іншим).
Я маю на увазі, що компакт-диски він вже робить те, що ми хочемо ... тепер ми можемо досягти того самого, але за допомогою cd
Для цього ми додаємо у файл .bashrc наступний рядок:
alias cd='cdls'
Це зробить, коли ми напишемо cd ... Дія, яку ми визначаємо, буде фактично виконана компакт-диски
Я залишаю команду, яка автоматично помістить цей попередній рядок:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Але, як я вже говорив раніше, мета полягає в тому, щоб додати цей інший рядок до того самого файлу, для нього ви можете використовувати текстовий редактор на ваш вибір.
Після цього закрийте термінал і відкрийте новий ... у ньому напишіть наступне та натисніть [Введіть]:
cd /etc/
І бінго, вони увійдуть / Etc/ а також буде вказано вміст цієї папки з кольорами 😉 (як на попередній фотографії)
Для чого це корисно? 😀
Для цікавих, хто цікавиться, що означає ця функція? ... Я залишаю вам просте пояснення:
функція cdls = Тут ми визначаємо, що ми створюємо нову функцію, і вона буде називатися cdls
компакт-диск "$ 1" = І що ця функція буде робити (вона буде робити кожен раз, коли ми її викликаємо, використовуємо або виконуємо), це зробити cd (enter) до 1-го параметра, тобто ... - »« cd / home / »,« $ 1 »означає« те, що ми пишемо після cd », у цьому прикладі 1-й параметр -« / home / ».
; = Це означає, що наказ закінчується на цьому, або дія, яку потрібно виконати ... але функція може мати більше дій, і ми визначимо другу зараз.
ls –колор; = Це означає, що на додаток до будь-якої дії, заявленої раніше, він також зробить "ls" там, де ми знаходимося, а "ls" зробить це кольором (–color).
Останнє ... найрозумніші зрозуміють, що ця логіка (беручи функцію та налаштовуючи її на виконання кількох дій) має багато, багато потенціалу, наприклад ... якщо я хочу ввести папку, а також видалити інший, тобто я хочу ввести / home / а також видалити / opt / temp / функцією для цього буде:
function asdasd { cd "$1"; rm -Rv "$2"; }
І набравши в терміналі asdasd / home / / opt / test / це було б, оскільки він введе 1-й параметр (/ home /) і видаліть другу (/ opt / temp /).
У будь-якому випадку, це насправді БАГАТО потенціалу хе-хе, це від вас залежить, скористайтеся цим якомога більше.
Якщо у вас є сумніви чи запитання, скарги чи пропозиції, я із задоволенням вам допоможу, я далеко не фахівець, але принаймні мені подобається допомагати 😀
привіт
І все це за невикористання Zsh.
Я насправді не знав його 😉
Дякую за підказку, я буду стежити за цим.
Однак знання не мають місця ... чим більше порад та знань вдається набути, тим краще, чи не здається вам? 🙂
Zsh для квірків, чоловіки використовують sh !!! >: D
В реальності
ХАХАХА ні, ні, ні ... я так не думаю, і теж не кажіть так, бо деякі можуть образитися.
Кожен використовує те, що йому найбільше підходить, що найбільше подобається 😀
😉
Додаток, який я часто використовую для навігації у своїй системі, - Autojump:
https://github.com/joelthelion/autojump/blob/master/README.md
Чоловіки практичні, жінки та квір - ті, хто любить ускладнювати своє життя. Подальші роз'яснення не потрібні.
Будь ласка, спробуйте не коментувати сексуальні уподобання так? ... Були незручні ситуації для такого роду речей.
Сподіваюся, це зрозуміло.
Це роз’яснення має бути для @msx. Ідеї будуються на правдивих, об’єктивних та раціональних висловлюваннях, а не на образу та грубості.
У своєму коментарі вище я сказав йому не говорити цих речей (вибачте надмірність).
І зараз я знову кажу «так», але не спрямований лише на вас, це справедливо для всіх.
Не сприймайте це неправильно, намір не полягав у тому, щоб хтось почував себе незручно чи погано, я просто намагаюся уникнути непорозуміння 🙂
Ха-ха-ха, я щойно побачив цей коментар!
«Це роз’яснення має бути для @msx. ідеї будуються з правдивими, об'єктивними та раціональними висловлюваннями, а не з образами чи грубістю ".
Перестань снідати з лимонами, ти вже схожий на Франкліна на рахунку в 100 доларів: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
😀
Zsh це для педиків? Ну, я думаю, мені тоді подобається бути педиком, тому що з того часу, як я навчився цим користуватися, я не зупинявся і не маю наміру. o_____o
Чи вживають чоловіки sh?, Цей коментар дивний від когось, у кого повний bashrc, тому я вважаю, що ти жінка. xP
Це те, до чого я не хотів діставатися. Будь ласка, залишимо бій тут, так? 🙂
Кожен використовує все, що хоче ... ш, зш, або все, що хоче, а також ... кожен має сексуальні уподобання, які хоче мати, тут вже були сутички за подібні речі 🙁
ха-ха-ха 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 !!
Я також використовую те, що я фільтрую результати за розширеннями.
приклад
У мене багато файлів у ~ / Завантаження понад 100, і я хочу лише побачити .png, щоб зробити це.
cd завантаження && ls * png
Що мені потрібно додати або зробити, щоб фільтрувати результати в простішому коді?
привіт
Простий 😉
Ви створюєте функцію, наприклад, cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
Використовувати це буде:
cdlsf / opt / png
І це перелічить вам лише файли . Png en / opt /
Тобто 1-й параметр (у прикладі / opt /) буде каталогом, до якого ви хочете отримати доступ, і 2-м параметром (у прикладі 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 (не так давно ...), і мені запропонували коментувати, лише щоб привітати вас зі статтею
Дякуємо, що завітали і залишили нам коментар 😀
Кожного разу, коли я наважуся щось пояснити, я люблю це робити якомога чіткіше ... ну, я добре знаю, що таке читати підручники в Інтернеті і взагалі нічого не розуміти ха-ха-ха.
Ласкаво просимо двічі ... ласкаво просимо у світ Тукса ха-ха, а також ласкаво просимо до блогу 🙂
Якщо у вас є якісь запитання, знайте, повідомте нам хе-хе.
Вітаю та дякую за коментар ^ ⁻ ^
Я щойно прочитав вашу публікацію з іншого веб-сайту, і я не втримався:
Чи не було б простіше, просто створити псевдонім всередині .bashrc?
псевдонім cd = 'ls'
Насправді те, що я намагаюся досягти, це ввести каталог X (/ opt / ... / home / user / ... будь-що), а також, коли я ввійду в нього, він автоматично перераховує вміст цього каталогу.
Зробіть все одним кроком або командою.
Створюючи псевдонім, як ви вказуєте, тоді я б перерахував каталог, так, але я б не вводив його.
Наскільки я розумію, метою всього цього є те, що якщо ви хочете, наприклад, ввести "/ etc" через команду "cd", при вході він автоматично покаже вам вміст цього каталогу, так?
Якщо так, ви можете спростити функцію до "псевдоніма", де всередину .bashrc ви помістите:
псевдонім cd = »ls»
При цьому, коли в терміналі ви використовуєте:
CD / тощо
Ви ввійдете в каталог «/ etc», а також він автоматично перерахує всі файли та каталоги, які там є.
Якщо я неправильно зрозумів мету, вибачення 😛
По суті, я хочу зайти в каталог і, потрапивши в нього, перерахувати, що він містить.
Я спробував те, що ви кажете, оголосивши, що cd = ls, псевдонімом, але у мене це не спрацювало.
Я налаштовую це сам, а потім виконую:
cd / etc /
Але в ньому є список / etc /…, але він не потрапляє в цей каталог.
Я залишаю скріншот, щоб ви бачили: http://img204.imageshack.us/img204/5272/cdlserror.png
Моя помилка 😀
Було очевидно, що це не буде працювати так, і навіть коли я спробував:
псевдонім cdls = 'cd $ 1; ls'
З якоїсь дивної причини він не працює, він просто перелічує каталог, але не потрапляє в D:
Помилка Bash? xD
Вибачення за безглузді коментарі! 😀 І я беру функцію для мого bashrc 😛
Псевдонім - це не те саме, що функція, псевдонім, якщо ви хочете, щоб він був таким самим, як кілька команд, вам потрібно використовувати && ... це не так, як у функціях, що за допомогою; і написання додаткових інструкцій вам підійде.
ХАХА ні за що, друг, ні за що вибачитися
привіт
PS: ... блін ... Мене засмучує, коли я бачу логотип Arch ... T_T ...
Я знаю, що це не те саме, але я думав, що це спрацює (Помилка: P)
Мені підходить лише те, що використання «;». замість "&&" всередині псевдоніма D: (у мене є два таких псевдоніми, чого я не розумію, чому це не працює з псевдонімом, який я хотів створити для цього випадку)
Дякую і, до речі, я думаю, що буду залишатися в блозі під заголовком "частий читач" 😀 Мені дуже сподобався вміст блогу 😛
ооо так, я знаю, я іноді відокремлююсь від моєї дорогої Арки, але, не знаю чому, завжди неможливо не повернутися до нього
Привіт!
Ну ... Тукс загадковий, він робить речі, і багато разів ми його не розуміємо, але у нього є план чи мета для всіх ... HAHA 😀
Приємно читати те, що ви говорите, ще один користувач Arch, який приєднується до блогу ха-ха-ха-ха ... задоволення 😀
Мені довелося припинити його використовувати через дуже дивні проблеми, які мені дало ядро ... але воно все ще займає місце в моєму серці 🙁
Лол
Я не зустрічав користувача Arch, який не дуже любить розповсюдження, у нього є "Не знаю що, що я знаю": P, можливо, і якщо проблеми, які я тобі дав, були давно, ти міг подумати про повернення до Арх
До речі, я знав, що десь ще я читав ваше ім'я (ну, псевдонім, псевдонім, що завгодно), ви є частиною настільних авторів, так? 🙂
Я їм колись читав 🙂
Насправді для переліку вмісту каталогу не потрібно вводити його, тому я не думаю, що обраний вами приклад є найщасливішим, хе-хе. З огляду на це, функції можна використовувати для багатьох корисних речей.
Наприклад, я використовую цю функцію для створення каталогу та введення його негайно (перевіряючи, що використовується лише один параметр):
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; for (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; for (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 в кінці), окрім восьмеричних дозволів тощо.
-
псевдонім grep = 'grep –color = auto' ## забарвлює відповідність grep
-
Я маю набагато більше, щоб поділитися, але це маленьке місце є жорстким xD
@KZKG, Персонал: Як ви думаєте, ви відкриваєте допис у блозі чи на форумі (на який ми посилаємось кожного разу, коли публікується підказка, пов’язана з консоллю), щоб зібрати всі ці маленькі перлини?
Привіт!
Під посиланням ви розумієте це? - » https://blog.desdelinux.net/tag/bash
Я нічого не сказав, більше нічого не потрібно, все ідеально позначено!
Який чиліець, це дуже гарна функція!