GNU/Linux >> Linux の 問題 >  >> Linux

[Bashのヒント]1つのコマンドでcdとlsを実行する方法

cdのときはいつでも ディレクトリに入れて、次に私が自発的に行うこと- lsを使用してそのディレクトリの内容を一覧表示する 指図。皆さんがこれをやっているかどうかはわかりませんが、皆さんの中にはこの習慣があるのではないかと思います。 cdとlsの機能を1つのコマンドに組み合わせたほうがいいですね。この簡単なガイドでは、LinuxでディレクトリにCDを挿入するたびに、ディレクトリの内容を自動的に一覧表示する方法について説明します。

Bashで1つのコマンドでcdとlsを実行する方法

私はワンライナーコマンドについて話しているのではないことに注意してください。たとえば、以下のような1行のコマンドでcdとlsを実行できます。

$ cd path-to-dir && ls

または、

$ cd path-to-dir ; ls

はい、動作します!ただし、このガイドの範囲ではありません。簡単なBASH関数を使用して実行します 。このトリックは、BASHをサポートするすべてのLinuxおよびUnixライクなディストリビューションで機能します。

~/.bashrcを開きます お気に入りのエディタのファイル:

$ nano ~/.bashrc

最後に次の行を追加します:

cdls() {
        local dir="$1"
        local dir="${dir:=$HOME}"
        if [[ -d "$dir" ]]; then
                cd "$dir" >/dev/null; ls --color=auto
        else
                echo "bash: cdls: $dir: Directory not found"
        fi
}

ここでは、関数名を cdls ()として使用しました 覚えやすいように!この関数には、好きな名前を付けることができます。 ls --color=autoも置き換えます 独自のパラメータ。ファイルを保存して閉じます。

次のコマンドを実行して、変更を有効にします。

$ source ~/.bashrc

これで、以下のようにディレクトリにCDを挿入するたびに、ディレクトリの内容が自動的に一覧表示されます。

例:

$ cdls /var/log/
alternatives.log  btmp                   dpkg.log   kern.log   syslog               wtmp
apt               cloud-init.log         faillog    landscape  syslog.1
auth.log          cloud-init-output.log  installer  lastlog    tallylog
bootstrap.log     dist-upgrade           journal    lxd        unattended-upgrades
[email protected]:/var/log$ pwd
/var/log

~/.bashrcに次のはるかに単純な関数を追加することもできます ファイル。

cdls() {
        cd "[email protected]" && ls;
}

~/.bashrcを入手する 変更を有効にするファイル。また、同じ名前で両方の機能を同時に使用しないでください。 1つの関数を使用するか、別の名前を使用してください(例:cdls およびcl )関数ごとに。

このトリックを知る前に、私は通常次のことを行います:

$ cd /var/log/

そして;

$ ls

または、

$ cd /var/log/ && ls

もう違います!これで、cdするたびに、任意のディレクトリの内容を一覧表示できるようになりました。これは、多数のディレクトリを頻繁に操作する場合に便利です。

1つの欠点 このトリックの1つは、数百、数千のファイルを含むディレクトリにcdするときに、数秒から数分待たなければならないことです。このような場合は、通常のcdを使用してください コマンド。

推奨される読み物:

  • Linuxでフルネームを2回入力せずにファイルの名前を変更する
  • バッシュのヒント-1つのコマンドでcpまたはmvとcdを実行する方法
  • lsコマンドを使用せずにディレクトリの内容を一覧表示するさまざまな方法
  • さまざまなタイプのファイルアーカイブを抽出するためのBash関数

Linux
  1. Linuxでユーザーをロックおよびロック解除する方法

  2. tr コマンドの「-s」、「-t」、および「-c」オプションは Unix でどのように機能しますか?

  3. メールとは何ですか? どのようにナビゲートされますか?

  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. cURLコマンドとは何ですか?その使用方法は?

  3. Linuxでディレクトリとフォルダを削除する方法は?

  1. CentOS7および8にdigをインストールする方法

  2. 1つのコマンドでtarファイルをダウンロードおよび抽出する方法

  3. Linuxテールコマンド:それは何であり、それを使用する方法