ターミナルを使用する場合に非常に役立つヒント(コマンドCDとLSの統合...など)

私は多くの時間を使う人の一人です ターミナル (コンソール、bash、シェル、あなたがそれを呼びたいものは何でも)、XまたはYの理由で、私は常にディレクトリを変更し、それに取り組んでいる必要があります🙂

ほとんどの場合、ディレクトリの変更(例えば: cd / opt /)そしてまた、私はそのディレクトリに何があるのか​​知りたい、私が使用するこの秒を知るために ls.

つまり、次のようになります。

kzkggaara @ geass:〜$ cd / opt /
kzkggaara @ geass:/ opt / $
kzkggaara @ geass:/ opt / $ ls
ネサス

私は何度もそれを言いました...私はかなり怠惰です、私はターミナルで最小限のステップをするのが好きです、それで私は多くの実験の後に私が望むものをちょうど達成した理由です。

以下を参照してください。これは私が入力するだけです。 / opt / 簡単なコマンドで cd / opt /:

ご覧のとおり、XNUMXつのステップで(cd / opt /)ディレクトリに入ると、そのディレクトリの内容も一覧表示されます。...それだけでは不十分であるかのように、色で表示されます😀

これが私がアクセスする例です /等/ とともに cd / etc/:


色は簡単に理解できます。

色なし =ファイル
青色 =フォルダ
緑色 =実行権限のあるファイル

しかし、メインに移りましょう... CDだけを使用して、アクセスするディレクトリを自動的に一覧表示するにはどうすればよいですか?

私たちのアーカイブ .bashrc (私たちの家または個人のフォルダにあります)これを行うのに役立ちます。最初に関数を宣言する必要があります。これを呼び出します。 CDLS:

関数cdls {cd "$ 1"; ls –color;}

この線を私たちの両側に置きます .bashrc ...これを行うためのコマンドは次のとおりです。

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc

あなたは必ずしもこのコマンドでそれをする必要はありません、目標はファイルが .bashrc この行が含まれているので、お好みのテキストエディタでこのファイルを編集してください(マウスパッド、ケイト、gedit、nano、viなど)そしてそれを追加します。
変更を保存し、開いているターミナルを閉じて、新しいターミナルを開きます。

その中で私たちは次のように書いてプレスします [入る]:

cdls $HOME

これは、その端末の個人用フォルダーにアクセスするのに十分なはずであり、そのコンテンツ(色などすべて)も一覧表示されます。

つまり、何 CDLS それはすでに私たちが望むことをします...今私たちは同じことを達成することしかできませんが cd

このために、ファイルに追加します .bashrc 次の行:

alias cd='cdls'

これは私たちが書くときになります cd …私たちが定義するアクションは実際に実行されます CDLS

この前の行を自動的に配置するコマンドを残します。

echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc

しかし、前に言ったように、目標はこの別の行を同じファイルに追加することです。選択したテキストエディタを使用できます。

これが完了したら、ターミナルを閉じて新しいターミナルを開きます...その中に次のように入力してを押します [入る]:

cd /etc/

そしてビンゴ、彼らは入ります の/ etc/また、このフォルダのコンテンツが色付きで一覧表示されます😉(前の写真と同じように)

それは何に役立ちますか? 😀

この関数が何を意味するのか疑問に思っている好奇心旺盛な人のために? …簡単な説明を残しておきます。

関数cdls =ここで、新しい関数を作成していることを定義します。これはcdlsと呼ばれます。
cd "$ 1" =そしてこの関数が行うこと(呼び出す、使用する、または実行するたびに行う)は、最初のパラメーター、つまり...-»«cd / home /»、«に向けてcd(入力)を作成することです。 $ 1»は、「cdの後に書き込むもの」を意味します。この例では、最初のパラメーターは「/ home /」です。
; =これは、その順序がそこで終了するか、実行するアクションを意味します...しかし、関数にはさらに多くのアクションを実行できるため、XNUMX番目のアクションを定義します。
ls –色; =これは、以前に宣言されたアクションに加えて、私たちがいる場所に「ls」を作成し、「ls」が色(–color)でそれを実行することを意味します。

最後に...最も賢いのは、このロジック(関数を取得し、いくつかのアクションを実行するように構成する)には、たとえば...フォルダーを入力したい場合など、多くの可能性があることを理解するでしょう。また、別のものを削除します。つまり、 / home / また、削除します / opt / temp / このための関数は次のようになります。

function asdasd { cd "$1"; rm -Rv "$2"; }

ターミナルに入力する asdasd / home / / opt / test / 最初のパラメータを入力するためです(/ home /)そしてXNUMX番目を削除します(/ opt / temp /).

とにかく、これには本当にたくさんの潜在的な可能性があります、あなたができる限りそれを利用するのはあなた次第です。

疑問や質問、苦情や提案があれば、喜んでお手伝いします。私は専門家ではありませんが、少なくともお手伝いしたいです😀

よろしく


54コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   blablabla

    そして、これはすべてZshを使用しないためです。

    1.    KZKG ^我愛羅

      私は彼を本当に知りませんでした😉
      ヒントをありがとう、私はそれを監視します。

      しかし、知識は発生しません...何とか習得できるヒントや知識が多ければ多いほど、良いと思いませんか? 🙂

      1.    MSX

        Zshはクィア用で、男性はshを使用します!!! >:D

        実際には

        1.    KZKG ^我愛羅

          HAHAHA no no no ...私はそうは思いませんし、気分を害するかもしれないので、そのようにも言いません。
          誰もが自分に最も適したもの、最も好きなものを使用します😀

          1.    MSX

            😉

            システムをナビゲートするためによく使用するアプリはAutojumpです。
            https://github.com/joelthelion/autojump/blob/master/README.md

        2.    blablabla

          男性は実用的であり、女性とクィアは自分たちの生活を複雑にするのが好きな人です。 これ以上の説明は必要ありません。

          1.    KZKG ^我愛羅

            はい、性的嗜好についてコメントしないようにしてください。 …この種のことには不快な状況がありました。

            それが理解できることを願っています。

          2.    blablabla

            その説明は@msxのためのものでなければなりません。 アイデアは、侮辱や無礼ではなく、真実、客観的、合理的なステートメントで構築されます。

            1.    KZKG ^我愛羅

              上記の私のコメントで、私は彼にそれらのことを言わないように言いました(冗長性を許してください)。
              そして今、私は再びイエスと言いますが、あなただけに向けられたのではなく、それはすべての人に有効です。

              誤解しないでください。意図は、誰かに不快感や不快感を与えることではありませんでした。私は誤解を避けようとしているだけです🙂


          3.    マーティン

            ははは、このコメントを見たばかりです!

            «その説明は@msx用である必要があります。 アイデアは、侮辱や無礼ではなく、真実で客観的かつ合理的な発言で構成されています。」
            レモンの男と一緒に朝食をとるのをやめなさい、あなたはすでに100ドル札のフランクリンのように見えます: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml

            ????

        3.    アベル

          Zshはクィア向けですか?そうですね、私はクィアになるのが好きだと思います。なぜなら、それを使用することを学んだので、私は止まらず、そうしようとは思わないからです。 o_____o

          男性はshを使用しますか?、bashrcを持っている人からのコメントは奇妙なので、あなたは女性だと思います。 xP

          1.    KZKG ^我愛羅

            これは私が行きたくなかったものです。 どうか、ここで戦いを離れましょう、そうですか? 🙂
            誰もが好きなものを使用します... sh、zsh、または好きなものを使用します、そしてまた...誰もが望む性的嗜好を持っています、そのようなことのためにここですでに戦いがありました🙁

          2.    MSX

            ハハハxD

            最近、zshは大きく進化しました。時間があるとすぐに、なんて妄想的でしょう!-ドキュメントをできるだけ読み、それを利用して変更を加えます🙂

            真剣に話してみましょう。zshについて少し気になるのは、Bashと100%互換性がないことだけです。したがって、スクリプトでzshを使用してその可能性を最大限に引き出すと、スクリプトが失敗する可能性が非常に高くなります。一方、bashは、zshを使用している場合でも、シェルスクリプトをbashで記述している場合、zshを使用するのは無駄です... o_O

            それでも、zshはそれだけの価値があると思います。 貝殻といえば、魚を知っていますか? プロジェクトは灰から生まれ、現在はフィッシュフィッシュと呼ばれ、彼らはそれを非常に速く開発しています。

    2.    ハックロパー775

      端末は大文字と小文字を区別するため、zshを作成する必要があると思います

      cd && ls / routeも有効ですが

      書くのは長いですが

      ご挨拶😀

      1.    ハックロパー775

        私は間違っていた、私の指が外れた

        私はこれでそれがリストされ、ディレクトリにアクセスされると言います

        cd && ls /パス

        でも準備をしなさい

        リストするだけですが、それが使用されます

        ls /パス

        同等のコマンドは

        cd /パス&& ls

        よろしく

        1.    KZKG ^我愛羅

          確かに、&&を使用すると同じことが達成されます😀
          唯一の違いは、「cd / opt / && ls」の文字数が「cd / opt /」よりも6文字多いことです。つまり、さらに6つのキーを押す必要があります^-^ U ...少し怠惰ですそのようなもののためにhehe。

          だから私はcd + lsに参加しました…LOL !!

          1.    ハックロパー775

            また、拡張機能で結果をフィルタリングすることも使用しています。

            Ejemplo

            〜/ダウンロード数が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 /ホーム/ユーザー/写真jpg

              ????

              これはあなたが望んでいたことでしたね?

              PS:cd(enter)ls(list)f(filter)でcdlsfを配置しました...しかし、明らかに、関数は好きなように呼び出すことができます。


    3.    これまで

      zshはPOSIXではなく、何よりも開始に時間がかかるので、私はたばこを好むが、より効率的

      1.    blablabla

        まず、zshでPOSIXサポートを有効にできます。 第二に、起動時にロードする関数の数に応じて起動に時間がかかるため、必要なだけ軽くすることができます。 第三に、zshを使用すると、他のどのシェルよりも実用的で効率的です。 第四に、批判する前にそれを使用してください。

        1.    MSX

          5日。 POSIXサポートを有効にする場合、ZSHを使用しても意味がありません。

          私はしばらくそれを使用しています、それは価値がありません、shは短く、Bashは完璧です、適切なエイリアスと関数でBashでできないことは何もありません。

  2.   マルコ

    私はその主題が本当に好きです。 実際、ターミナルや、チャクラなどの特定のディストリビューションで一般的に使用できるコマンドについて、より広範な記事を作成する必要があります。

    1.    KZKG ^我愛羅
  3.   リダル

    このトリックを教える以外に、各コマンドがどのように機能するかを説明したので、非常に興味深いと思いました。

    Linuxの世界で始めてから(少し前に...)あなたをフォローしてきましたが、記事を祝福するためだけにコメントすることをお勧めします😉

    1.    KZKG ^我愛羅

      立ち寄ってコメントを残してくれてありがとう😀
      何かを説明しようと試みるときはいつでも、それをできるだけ明確にするのが好きです...まあ、私はインターネットでチュートリアルを読むことが何であるかをよく知っていて、何も理解していません。

      XNUMX回ようこそ... Tux haha​​の世界へようこそ、そしてブログへようこそ🙂
      ご不明な点がございましたら、お気軽にお問い合わせください。

      ご挨拶とコメントありがとうございます ^ <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMX><XNUMXxBB><XNUMXxBB>

  4.   イワン

    別のウェブサイトからあなたの投稿を読んだのですが、抵抗できませんでした。

    .bashrc内にエイリアスを作成する方が簡単ではないでしょうか。

    エイリアスcd = 'ls'

    1.    KZKG ^我愛羅

      実際に私が達成しようとしているのは、ディレクトリX(/ opt /…/ home / user /…何でも)を入力することです。また、入力すると、そのディレクトリの内容が自動的に一覧表示されます。

      1つのステップまたはコマンドですべてを作成します。

      あなたが示すようにエイリアスを作ると、私はディレクトリをyesとリストしますが、私はそれを入力しません。

      1.    イワン

        私の理解では、これをすべて行う目的は、たとえば、「cd」コマンドで「/ etc」を入力したい場合、入力すると、そのディレクトリの内容が自動的に表示されることです。

        その場合、関数を「エイリアス」に単純化できます。ここで、.bashrc内に次のように配置します。

        エイリアスcd =»ls»

        これにより、端末で使用する場合:

        cd / etc

        ディレクトリ«/ 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 ^我愛羅

              エイリアスは関数と同じではありません。複数のコマンドと同じにしたい場合は、&&を使用する必要があります。関数の場合とは異なり、;を使用します。 そして、より多くの指示を書くことはあなたのために働くでしょう。

              HAHAいや、友達はいない、言い訳はできない😀
              よろしく

              PS:…くそー…アーチのロゴを見るとどれほど懐かしい…。 T_T ...


          2.    イワン

            私はそれが同じではないことを知っていますが、私はそれがうまくいくと思いました(エラー:P)

            «;»を使用することだけが私のために働きます。 エイリアスD内の「&&」の代わりに:(このようなエイリアスがXNUMXつありますが、この場合に作成したいエイリアスで機能しない理由がわかりません)

            ありがとう、ちなみに、私は「頻繁な読者」というタイトルでブログにとどまると思います😀私はブログの内容が本当に好きでした😛

            ooohはい、私は時々自分自身を私の愛するアーチから切り離しますが、理由はわかりません、私が彼に戻らないことは常に不可能ですxD

            ご挨拶!

            1.    KZKG ^我愛羅

              ええと...タックスは神秘的です、彼は物事をします、そして私達が彼を理解しないことが何度もあります、しかし彼は皆のための計画または目的を持っています...ハハ😀

              あなたの言うことを読むことの喜び、ブログに参加する別のArchユーザーhahahaha ...喜び😀

              カーネルが私に与えた奇妙な問題のためにそれを使うのをやめなければなりませんでした...しかしそれはまだ私の心の中で場所を占めています🙁


          3.    イワン

            ハハハ

            ディストリビューションにあまり愛情を持っていないArchユーザーに会ったことはありません。彼は「何を知っているのか、何を知っているのかわからない」と言っています。 Archに戻ることを考えることができます😀

            ちなみに、私はすでにあなたの名前を読んだ他の場所で知っていました(まあ、ニック、仮名、ニックネームなど)、あなたはデスクトップアートの作家の一部ですよね? 🙂
            私は彼らに読んでいました🙂

  5.   ヒューゴー

    実際には、ディレクトリの内容を一覧表示するために入力する必要はないので、選択した例が最も幸せだとは思いません。 そうは言っても、関数は多くの便利なことに使用できます。

    たとえば、この関数を使用してディレクトリを作成し、すぐに入力します(XNUMXつのパラメータのみが使用されていることを確認します)。

    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 ^我愛羅

          私はあなたの役割を果たしていますhehehe ...それを研究する価値があります😀

        2.    アニバル

          あなたの機能は素晴らしいです! ありがとう

        3.    MSX

          +1

  6.   ハックロパー775

    KZKG ^我愛羅

    非常に良い答えそれは私に非常に役立ちました、私はすでに上でそれに答えることができませんでした

    次に、cdlsfを使用して生産性を向上させます。これは、コマンドの非常に良い名前です😀

    よろしく

  7.   クリストファーカストロ

    ターミナルの時刻を設定するのと同じように、私は以前にそれを行っていました。ダウンロードしたのはbashrcでしたが、それが何と呼ばれていたかは覚えていません。

  8.   アベル

    良いエントリー、私はトリックを知りませんでした、私はそれがどのように機能するかを見るためにそれを実践します。 xP

    ご挨拶。

    1.    アベル

      私のブラウザが追加されたらいいのにと思います。 xD

      もう一度、ご挨拶。 xD

      1.    KZKG ^我愛羅

        どのブラウザを使用していますか?
        さて、別のコメントで私はあなたがFirefoxを使っているのを見ました🙂

        1.    アベル

          はい、私はFirefoxを使用していますが、Firefoxはますます少なくなり、メインのブラウザではなくなりました。dwbを使用しているので、追加できれば幸いです。 xP

          ご挨拶。

  9.   ビル

    そして、このエイリアスを実行しても、cdだけでlsを出力しようとしたときに、スクリプトで問題が発生することはありませんか? 問題が発生するのは初めてではないため、他の実行可能ファイルが使用しない名前でエイリアスを作成することを特に好みます...

  10.   イリゴル

    破線と各コマンド後の時間をどのように取得しますか?

  11.   MSX

    私の貢献:
    エイリアスldir = 'ls | grep -v \\。 ' ##ディレクトリのみを一覧表示します(その名前のGNU / Linuxコマンドがあるため、名前をldに変更しないでください)。

    エイリアス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} '\' ''

    このエイリアスの興味深い点は、lsの出力を解析するawkです。 これは、rwxの横にXNUMX進形式でファイルのパーミッションを表示します。私にとっては、文字よりもはるかに実用的で高速です。


    エイリアス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を追加したので、たとえば次のようにします。
    $lgzip
    XNUMX進数のアクセス許可などに加えて、任意の形式のzipを含むファイル(最後に-iがあることに注意してください)のみを表示します。

    エイリアスgrep = 'grep –color = auto' ##一致するgrepに色を付けます

    共有するものは他にもたくさんありますが、この小さな場所でxDがタイトになります

    @ KZKG、スタッフ:ブログやフォーラム(コンソールに関連するヒントが公開されるたびにリンクされます)に投稿を開いて、これらすべての小さな真珠を集めると思いますか?

    ご挨拶!

    1.    KZKG ^我愛羅

      リンクとはこれを意味しますか? -» https://blog.desdelinux.net/tag/bash

  12.   MSX

    私は何も言わなかった、残りの何も必要とされない、すべてが完全にタグ付けされている!

  13.   フランクリンロドリゲス

    なんてチリ人、それはとても良い機能です!