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関数