Надзвичайно корисна порада, якщо ви використовуєте термінал (Приєднайтеся до команди CD за допомогою LS ... та багатьох інших)

Я одна з тих, хто використовує багато часу термінал (консоль, 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 /).

У будь-якому випадку, це насправді БАГАТО потенціалу хе-хе, це від вас залежить, скористайтеся цим якомога більше.

Якщо у вас є сумніви чи запитання, скарги чи пропозиції, я із задоволенням вам допоможу, я далеко не фахівець, але принаймні мені подобається допомагати 😀

привіт


54 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   блаблабла - сказав він

    І все це за невикористання Zsh.

    1.    KZKG ^ Гаара - сказав він

      Я насправді не знав його 😉
      Дякую за підказку, я буду стежити за цим.

      Однак знання не мають місця ... чим більше порад та знань вдається набути, тим краще, чи не здається вам? 🙂

      1.    MSX - сказав він

        Zsh для квірків, чоловіки використовують sh !!! >: D

        В реальності

        1.    KZKG ^ Гаара - сказав він

          ХАХАХА ні, ні, ні ... я так не думаю, і теж не кажіть так, бо деякі можуть образитися.
          Кожен використовує те, що йому найбільше підходить, що найбільше подобається 😀

          1.    MSX - сказав він

            😉

            Додаток, який я часто використовую для навігації у своїй системі, - Autojump:
            https://github.com/joelthelion/autojump/blob/master/README.md

        2.    блаблабла - сказав він

          Чоловіки практичні, жінки та квір - ті, хто любить ускладнювати своє життя. Подальші роз'яснення не потрібні.

          1.    KZKG ^ Гаара - сказав він

            Будь ласка, спробуйте не коментувати сексуальні уподобання так? ... Були незручні ситуації для такого роду речей.

            Сподіваюся, це зрозуміло.

          2.    блаблабла - сказав він

            Це роз’яснення має бути для @msx. Ідеї ​​будуються на правдивих, об’єктивних та раціональних висловлюваннях, а не на образу та грубості.

            1.    KZKG ^ Гаара - сказав він

              У своєму коментарі вище я сказав йому не говорити цих речей (вибачте надмірність).
              І зараз я знову кажу «так», але не спрямований лише на вас, це справедливо для всіх.

              Не сприймайте це неправильно, намір не полягав у тому, щоб хтось почував себе незручно чи погано, я просто намагаюся уникнути непорозуміння 🙂


          3.    Мартін - сказав він

            Ха-ха-ха, я щойно побачив цей коментар!

            «Це роз’яснення має бути для @msx. ідеї будуються з правдивими, об'єктивними та раціональними висловлюваннями, а не з образами чи грубістю ".
            Перестань снідати з лимонами, ти вже схожий на Франкліна на рахунку в 100 доларів: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml

            😀

        3.    Абель - сказав він

          Zsh це для педиків? Ну, я думаю, мені тоді подобається бути педиком, тому що з того часу, як я навчився цим користуватися, я не зупинявся і не маю наміру. o_____o

          Чи вживають чоловіки sh?, Цей коментар дивний від когось, у кого повний bashrc, тому я вважаю, що ти жінка. xP

          1.    KZKG ^ Гаара - сказав він

            Це те, до чого я не хотів діставатися. Будь ласка, залишимо бій тут, так? 🙂
            Кожен використовує все, що хоче ... ш, зш, або все, що хоче, а також ... кожен має сексуальні уподобання, які хоче мати, тут вже були сутички за подібні речі 🙁

          2.    MSX - сказав він

            ха-ха-ха xD

            Останнім часом zsh сильно розвинувся, як тільки в мене є час - ха, як маячно! - Я збираюся прочитати якомога більше його документації, щоб скористатися нею та внести зміни 🙂

            А якщо бути серйозним: єдине, що мене трохи турбує щодо zsh, це те, що він не на 100% сумісний з Bash, тому, якщо ми використовуємо zsh у наших скриптах, використовуючи весь його потенціал, дуже, дуже можливо, що зазначений сценарій не працює в bash, з іншого боку З іншого боку, якщо навіть якщо ми використовуємо zsh, ми пишемо наші сценарії оболонки на bash, марно використовувати zsh ... o_O

            Незважаючи на це, я думаю, що zsh того вартий. Говорячи про шкаралупу, ви знаєте Рибу? Проект піднявся з попелу, зараз його називають fishfish, і вони його дуже швидко розробляють.

    2.    hackloper775 - сказав він

      Я думаю, що zsh слід писати, оскільки термінал дуже чутливий до регістру

      Хоча cd && ls / route також є дійсним

      Хоча це довше писати

      Вітаю 😀

      1.    hackloper775 - сказав він

        Я помилився, у мене відірвався палець

        Я вважаю, що з цим він перерахований і доступ до каталогу

        cd && ls / path

        але просто готуйся

        хоча використовується лише перелік

        ls / шлях

        команда, яка є еквівалентом, є

        cd / path && ls

        привіт

        1.    KZKG ^ Гаара - сказав він

          Дійсно, за допомогою && досягається те саме 😀
          Єдина різниця полягає в тому, що "cd / opt / && ls" має на 6 символів більше, ніж просто "cd / opt /", тобто мені довелося б натиснути ще 6 клавіш ^ - ^ U ... Я трохи лінивий для подібних речей хе-хе.

          Ось чому я приєднався до cd + ls ... LOL !!

          1.    hackloper775 - сказав він

            Я також використовую те, що я фільтрую результати за розширеннями.

            приклад

            У мене багато файлів у ~ / Завантаження понад 100, і я хочу лише побачити .png, щоб зробити це.

            cd завантаження && ls * png

            Що мені потрібно додати або зробити, щоб фільтрувати результати в простішому коді?

            привіт

            1.    KZKG ^ Гаара - сказав він

              Простий 😉
              Ви створюєте функцію, наприклад, 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) ... але, очевидно, ви можете викликати функцію як завгодно.


    3.    будь-коли - сказав він

      zsh - це не POSIX, і до того ж, щоб почати, потрібно більше часу, тому я вважаю за краще бути педиком, але більш ефективним

      1.    блаблабла - сказав він

        По-перше, у zsh ви можете ввімкнути підтримку POSIX. По-друге, потрібен час для запуску відповідно до того, скільки функцій ви завантажуєте на початку, тому він може бути настільки легким, наскільки ви хочете. По-третє, з zsh один практичніший та ефективніший, ніж з будь-якою іншою оболонкою. По-четверте, використовуйте його перед критикою.

        1.    MSX - сказав він

          5-й. Коли ви вмикаєте підтримку POSIX, більше не має сенсу використовувати ZSH.

          Я використовую його деякий час, це не варто, sh короткий, а Bash ідеальний, у Bash нічого не можна зробити з відповідними псевдонімами та функціями.

  2.   Марко - сказав він

    Мені дуже подобається тема. насправді вони повинні створити кілька більш обширних статей про команди, які можна використовувати загалом у терміналі та в певних дистрибутивах, таких як Чакра.

    1.    KZKG ^ Гаара - сказав він

      Подивіться на цю публікацію 😉
      https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/

  3.   Рідальний - сказав він

    Мені це було дуже цікаво, адже окрім викладання цього трюку, ви пояснили, як працює кожна команда.

    Я стежу за тобою з самого початку у світі Linux (не так давно ...), і мені запропонували коментувати, лише щоб привітати вас зі статтею

    1.    KZKG ^ Гаара - сказав він

      Дякуємо, що завітали і залишили нам коментар 😀
      Кожного разу, коли я наважуся щось пояснити, я люблю це робити якомога чіткіше ... ну, я добре знаю, що таке читати підручники в Інтернеті і взагалі нічого не розуміти ха-ха-ха.

      Ласкаво просимо двічі ... ласкаво просимо у світ Тукса ха-ха, а також ласкаво просимо до блогу 🙂
      Якщо у вас є якісь запитання, знайте, повідомте нам хе-хе.

      Вітаю та дякую за коментар ^ ⁻ ^

  4.   Іван - сказав він

    Я щойно прочитав вашу публікацію з іншого веб-сайту, і я не втримався:

    Чи не було б простіше, просто створити псевдонім всередині .bashrc?

    псевдонім cd = 'ls'

    1.    KZKG ^ Гаара - сказав він

      Насправді те, що я намагаюся досягти, це ввести каталог X (/ opt / ... / home / user / ... будь-що), а також, коли я ввійду в нього, він автоматично перераховує вміст цього каталогу.

      Зробіть все одним кроком або командою.

      Створюючи псевдонім, як ви вказуєте, тоді я б перерахував каталог, так, але я б не вводив його.

      1.    Іван - сказав він

        Наскільки я розумію, метою всього цього є те, що якщо ви хочете, наприклад, ввести "/ etc" через команду "cd", при вході він автоматично покаже вам вміст цього каталогу, так?

        Якщо так, ви можете спростити функцію до "псевдоніма", де всередину .bashrc ви помістите:

        псевдонім cd = »ls»

        При цьому, коли в терміналі ви використовуєте:

        CD / тощо

        Ви ввійдете в каталог «/ etc», а також він автоматично перерахує всі файли та каталоги, які там є.

        Якщо я неправильно зрозумів мету, вибачення 😛

        1.    KZKG ^ Гаара - сказав він

          По суті, я хочу зайти в каталог і, потрапивши в нього, перерахувати, що він містить.
          Я спробував те, що ви кажете, оголосивши, що cd = ls, псевдонімом, але у мене це не спрацювало.
          Я налаштовую це сам, а потім виконую:
          cd / etc /

          Але в ньому є список / etc /…, але він не потрапляє в цей каталог.
          Я залишаю скріншот, щоб ви бачили: http://img204.imageshack.us/img204/5272/cdlserror.png

          1.    Іван - сказав він

            Моя помилка 😀

            Було очевидно, що це не буде працювати так, і навіть коли я спробував:

            псевдонім cdls = 'cd $ 1; ls'

            З якоїсь дивної причини він не працює, він просто перелічує каталог, але не потрапляє в D:

            Помилка Bash? xD

            Вибачення за безглузді коментарі! 😀 І я беру функцію для мого bashrc 😛

            1.    KZKG ^ Гаара - сказав він

              Псевдонім - це не те саме, що функція, псевдонім, якщо ви хочете, щоб він був таким самим, як кілька команд, вам потрібно використовувати && ... це не так, як у функціях, що за допомогою; і написання додаткових інструкцій вам підійде.

              ХАХА ні за що, друг, ні за що вибачитися
              привіт

              PS: ... блін ... Мене засмучує, коли я бачу логотип Arch ... T_T ...


          2.    Іван - сказав він

            Я знаю, що це не те саме, але я думав, що це спрацює (Помилка: P)

            Мені підходить лише те, що використання «;». замість "&&" всередині псевдоніма D: (у мене є два таких псевдоніми, чого я не розумію, чому це не працює з псевдонімом, який я хотів створити для цього випадку)

            Дякую і, до речі, я думаю, що буду залишатися в блозі під заголовком "частий читач" 😀 Мені дуже сподобався вміст блогу 😛

            ооо так, я знаю, я іноді відокремлююсь від моєї дорогої Арки, але, не знаю чому, завжди неможливо не повернутися до нього

            Привіт!

            1.    KZKG ^ Гаара - сказав він

              Ну ... Тукс загадковий, він робить речі, і багато разів ми його не розуміємо, але у нього є план чи мета для всіх ... HAHA 😀

              Приємно читати те, що ви говорите, ще один користувач Arch, який приєднується до блогу ха-ха-ха-ха ... задоволення 😀

              Мені довелося припинити його використовувати через дуже дивні проблеми, які мені дало ядро ​​... але воно все ще займає місце в моєму серці 🙁


          3.    Іван - сказав він

            Лол

            Я не зустрічав користувача Arch, який не дуже любить розповсюдження, у нього є "Не знаю що, що я знаю": P, можливо, і якщо проблеми, які я тобі дав, були давно, ти міг подумати про повернення до Арх

            До речі, я знав, що десь ще я читав ваше ім'я (ну, псевдонім, псевдонім, що завгодно), ви є частиною настільних авторів, так? 🙂
            Я їм колись читав 🙂

  5.   Хьюго - сказав він

    Насправді для переліку вмісту каталогу не потрібно вводити його, тому я не думаю, що обраний вами приклад є найщасливішим, хе-хе. З огляду на це, функції можна використовувати для багатьох корисних речей.

    Наприклад, я використовую цю функцію для створення каталогу та введення його негайно (перевіряючи, що використовується лише один параметр):

    function mkcd () {
    FNERR="Parametros incorrectos.\nUso: mkcd "
    if [ $# -eq 1 ] ; then
    mkdir -p "$1" && cd "$1"
    else
    echo -e $FNERR
    fi
    }

    1.    Хьюго - сказав він

      Мда ... блог з’їв частину команди, я спробую поставити неповний рядок з тегами HTML:

      FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"

    2.    KZKG ^ Гаара - сказав він

      Що я хотів зробити, це врятувати собі крок.
      Іншими словами, припустимо, я хочу зайти в каталог (/ etc / squid /), а потім відредагувати файл у цьому каталозі, і я не пам’ятаю назви файлу.

      Зазвичай такі кроки:
      cd / etc / squid /
      ls
      файл nano.conf

      Але з цією порадою, яку я пропоную, я перетворюю перші 2 кроки лише в 1, так що просто виконавши:
      cd / etc / squid /

      Він також автоматично перерахує вміст каталогу для мене.
      Це просто збереження кроку 😀

      Ти розумієш мене?

      ... мені важко пояснити ха-ха.

      1.    Хьюго - сказав він

        Ні, пояснення не мало проблем, я мав на увазі, що, можливо, приклад, який ви обрали для ілюстрації підказки, був не ідеальним, оскільки можна зробити простий "каталог 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 ^ Гаара - сказав він

          Я беру твою роль хе-хе ... вона заслуговує на її вивчення 😀

        2.    Anibal - сказав він

          чудова ваша функція! Дякую

        3.    MSX - сказав він

          +1

  6.   hackloper775 - сказав він

    KZKG ^ Гаара

    Дуже гарна відповідь, вона мені дуже добре послужила, я не міг відповісти на неї вже вище

    Тепер я буду використовувати cdlsf для підвищення своєї продуктивності, дуже хороша назва для команди 😀

    привіт

  7.   Крістофер Кастро - сказав він

    Як і ви, щоб встановити час до терміналу, я це вже робив раніше, це був bashrc, який я завантажив, але не пам’ятаю, як він називався.

  8.   Абель - сказав він

    Хороший запис, я не знав фокусу, я застосую його на практиці, щоб побачити, як це працює. xP

    Привіт.

    1.    Абель - сказав він

      Було б непогано, якби мій браузер був доданий. xD

      Привіт, ще раз. xD

      1.    KZKG ^ Гаара - сказав він

        Яким браузером ви користуєтесь?
        Ну, в іншому коментарі я побачив, що ви використовували Firefox 🙂

        1.    Абель - сказав він

          Так, я використовую Firefox, але він стає все менше і менше, і це вже не мій головний браузер, я використовую dwb, і було б непогано, якби його можна було додати. xP

          Привіт.

  9.   Білл - сказав він

    І чи не буде цей псевдонім викликати проблеми у сценаріях при спробі просто cd, а також вивести ls? Я особливо волію створювати псевдоніми з іменами, які не використовуються іншими виконуваними файлами, оскільки це не перший раз, коли це створює мені проблеми ...

  10.   іригол - сказав він

    Як отримати штрихові рядки та час після кожної команди?

  11.   MSX - сказав він

    Мій внесок:
    псевдонім 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, Персонал: Як ви думаєте, ви відкриваєте допис у блозі чи на форумі (на який ми посилаємось кожного разу, коли публікується підказка, пов’язана з консоллю), щоб зібрати всі ці маленькі перлини?

    Привіт!

    1.    KZKG ^ Гаара - сказав він

      Під посиланням ви розумієте це? - » https://blog.desdelinux.net/tag/bash

  12.   MSX - сказав він

    Я нічого не сказав, більше нічого не потрібно, все ідеально позначено!

  13.   Франклін Родрігес - сказав він

    Який чиліець, це дуже гарна функція!