CD コマンドを使わずに Linux でディレクトリ/フォルダに入る方法

CD コマンドを使わずに Linux でディレクトリ/フォルダに入る方法

ご存知のとおり、cd コマンドがないと、Linux でディレクトリを切り替えることはできません。それは本当ですが、この問題を解決するのに役立つ shopt という組み込みの Linux コマンドがあります。

shopt は、さまざまな bash シェル オプションを設定および設定解除するために使用されるシェル組み込みコマンドであり、すでにインストールされているため、再度インストールする必要はありません。

はい、このオプションを有効にすると、cd コマンドを使用せずにディレクトリを切り替えることができます。

この記事ではその方法を説明します。これは小さな調整ですが、Windows から移行する Linux 初心者にとっては非常に便利です。

これは Linux 管理者にとっては役に立ちません。なぜなら、私たちは cd コマンドに慣れているので、それなしではそのディレクトリに変更することはないからです。

Linux で cd コマンドを使用せずにディレクトリ/フォルダーを切り替えようとすると、次のエラー メッセージが表示されます。これは Linux では非常に一般的です。

$ ドキュメント/
bash: Documents/: ディレクトリです

これを行うには、ユーザーの .bashrc に次の値を追加する必要があります。

.bashrc とは何ですか?

.bashrc は、ユーザーが対話モードで新しいシェルを開くたびに実行されるシェル スクリプトです。

このファイルには、コマンド プロンプトで入力する任意のコマンドを追加できます。

.bashrc ファイル自体には、ターミナル セッションの一連の構成が含まれています。色付け、補完、シェル履歴、コマンドエイリアスなどの設定と有効化が含まれます。

$ vi ~/.bashrc

次の行を追加します:

shopt -s autocd

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

$ source ~/.bashrc

すべての設定が完了しました。これが機能することを確認するには、これをテストするだけです。

$ ドキュメント/
cd --Documents/
$ デイギーク/
cd -- デイギーク/
$ /home/daygeek/ドキュメント/daygeek
cd -- /home/daygeek/Documents/daygeek
$パスワード
/home/daygeek/ドキュメント/daygeek 

はい、期待通りに正常に動作します。

また、.bashrc に変更を加えなくても、fish shell でも正常に動作します。

これを一時的に行う場合は、次のコマンド(設定または設定解除)を使用します。システムを再起動すると消えます。

# ショップt -s オートCD
# shopt | grep autocd
自動CDオン
# ショップt -u オートCD
# shopt | grep autocd
自動CDオフ

shopt コマンドには他にも多くのオプションが用意されています。それらのオプションを確認するには、次のコマンドを実行します。

$ ショップ
自動CDオン
assoc_expand_once オフ
cdable_vars オフ
cdspellオン
チェックハッシュオフ
チェックジョブオフ
チェックウィンサイズオン
cmdhist オン
compat31 オフ
compat32 オフ
compat40 オフ
compat41 オフ
compat42 オフ
compat43 オフ
compat44 オフ
complete_fullquote オン
direxpand オフ
呪文を唱える
ドットグロブオフ
実行失敗オフ
expand_aliases オン
extdebug オフ
extglob オフ
引用元
フェイルグロブオフ
force_fignore オン
globalbasciiranges オン
グロブスターオフ
gnu_errfmt オフ
追加する
履歴編集オフ
履歴確認オフ
ホストコンプリートオン
huponexit オフ
inherit_errexit オフ
インタラクティブコメント
ラストパイプオフ
石工オフ
localvar_inherit オフ
localvar_unset オフ
login_shell オフ
メール警告オフ
no_empty_cmd_completion オフ
nocaseglob オフ
nocasematch オフ
nullglob オフ
プログコンプオン
progcomp_alias オフ
promptvars オン
制限付きシェルオフ
shift_verbose オフ
ソースパスオン
xpg_echo オフ

さらに、Linux で cd コマンドよりも速くディレクトリを切り替えるのに役立つ他のプログラムもいくつか見つけました。

これらは、pushd、popd、up シェル スクリプト、および bd ツールです。これらのトピックについては、次の記事で取り上げます。

出典: https://www.2daygeek.com/navigate-switch-directory-without-using-cd-command-in-linux/

要約する

上記は、CD コマンドを使用せずに Linux でディレクトリ/フォルダに入る方法について紹介した方法です。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux LCDドライバの書き方を詳しく解説
  • Linux での cd コマンドの使い方の詳細な説明
  • Linux で Squid リバース プロキシを使用して CDN キャッシュ サーバーを構成する方法
  • DNSPodとSquidで独自のCDNを構築する(パート3)CentOS Linuxをインストールする
  • Linux で autojump コマンドを使用して cd コマンドの使用を減らす方法

<<:  JavaScriptでページスクロールアニメーションを実装する

>>:  Mac OS に MySQL 5.7.20 をインストールするための詳細なグラフィックとテキストの説明

推薦する

音楽プレーヤーアプリ(アプリケーションソフトウェア)の分析と再設計 美しい音楽プレーヤーインターフェースの設計方法

無線インタラクションにずっと興味があったので、今回は実践してみようと思います〜この分析と評価は iO...

Docker を使用して Jenkins をインストールするためのサンプル コード

Dockerコンテナのインストール時に遭遇しやすい2つの問題1.ポートはすでに割り当てられています(...

React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセス

最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...

NodeJs の高メモリ使用量のトラブルシューティング実戦記録

序文これは、オンライン コンテナーの拡張によって発生した調査です。最終的には、実際の OOM が原因...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...

webpackコード断片化の実装

目次背景コモンズチャンクプラグイン分割チャンク構成リソースを非同期に読み込む要約する背景高性能なアプ...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

MySQL における in と exists の違いの詳細な説明

1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

HTML でさまざまなスペースの特徴と表現を探る (推奨)

I. 概要HTML テンプレートを作成するときに、テキスト レイアウトの手段としてスペースが使用さ...

Expressを使用してプロジェクトを自動的にビルドするNode.jsのプロセス全体

1. Expressライブラリとジェネレータをインストールするcmdを開いて、次のコマンドを入力しま...

ドメイン名を nginx サービスにバインドする方法

nginx.conf で複数のサーバーを設定します。 http リクエストを処理する際、nginx ...

HTML テーブルの行間隔を変更する方法の例

HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...

CSS の子要素を親要素と高い一貫性を持たせる方法

絶対位置決め方式: (1)親要素を相対配置に設定します。親要素の高さを指定しない場合は、左の子要素の...

Linux での mysql および mysql.sock のインストールに関する問題

最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...