Linuxでコマンドラインを使い始めたばかりの場合は、それがOSの最も強力で便利な機能の1つであることを知っておく価値があります。トピックをどれだけ深く掘り下げたいかによって、学習曲線が急になる場合と急でない場合があります。ただし、専門知識のレベルに関係なく常に役立つLinuxコマンドラインのヒント/コツがいくつかあります。
この一連の記事では、コマンドラインエクスペリエンスがさらに快適になることを期待して、このようなヒントやコツについて説明します。
ただし、先に進む前に、この記事に示されているすべての手順と例がUbuntu14.04LTSでテストされていることを言及する価値があります。使用したコマンドラインシェルはbash(バージョン4.3.11)
Linuxコマンドラインのヒント/コツ
ルートディレクトリとホームディレクトリ、環境変数、ディレクトリのナビゲート方法など、Linuxのコマンドラインの基本を理解していることを前提としていることに注意してください。また、ヒント/コツには、関係する概念の方法と理由が付随することに注意してください(該当する場合)。
2つのディレクトリを簡単に切り替える-クイックヒント
2つのディレクトリを複数回切り替える必要があるコマンドラインで作業を行っているとします。また、これら2つのディレクトリは、完全に異なるブランチにあります。たとえば、それぞれ/home/の下と/usr/の下にあります。あなたならどうしますか?
最も簡単なオプションの1つは、これらのディレクトリへの完全なパスを入力して切り替えることです。アプローチ自体には問題はありませんが、非常に時間がかかります。他のオプションは、2つの別々の端末を開いて、作業を続行することです。しかし、繰り返しになりますが、このアプローチは便利でも、エレガントにも見えません。
この問題には簡単な解決策があることを知って喜ぶでしょう。最初に2つのディレクトリを手動で切り替えるだけです(それぞれのパスを cd に渡します)。 コマンド)、その後、cd-を使用して後続の切り替えを実行できます コマンド。
例:
私は次のディレクトリにいます:
$ pwd
/home/himanshu/Downloads
次に、/usr/ブランチの他のディレクトリに切り替えました。
cd /usr/lib/
これで、次のコマンドを使用して簡単に切り替えることができます。
cd -
これがcd-を示すスクリーンショットです 動作中のコマンド。
ここで言及する価値のある重要な点は、これらすべての間に3番目のディレクトリに切り替えると、 cd- コマンドは、新しいディレクトリと切り替えが行われたディレクトリに対して機能します。
2つのディレクトリを簡単に切り替える-関連する詳細
cd-の方法を知りたい、好奇心旺盛な方へ コマンドは機能します。説明は次のとおりです。ご存知のとおり、cdコマンドには引数としてパスが必要です。これで、コマンドに引数としてハイフン(-)が渡されると、その時点でOLDPWD環境変数に含まれている値に置き換えられます。
これまでに明らかなように、OLDPWD環境変数は前の作業ディレクトリのパスを格納します。この説明は、cdコマンドのマニュアルページがありますが、残念ながら、システムにプリインストールされているマニュアルページが見つからない可能性があります(少なくともUbuntuにはありません)。
ただし、インストールは大したことではありません。次のコマンドを実行するだけです。
sudo apt-get install manpages-posix
次に実行:
男CD
マニュアルページを開くと、次のように明確に示されていることがわかります。
- When a hyphen is used as the operand, this shall be equivalent
to the command:
cd "$OLDPWD" && pwd
言うまでもなく、OLDPWD変数を設定するのはcdコマンドです。したがって、ディレクトリを変更するたびに、前の作業ディレクトリがこの変数に格納されます。これにより、ここでもう1つの重要なポイントが得られます。新しいシェルインスタンスが(手動またはスクリプトの両方で)起動されるときは常に、「以前の作業ディレクトリ」がありません。
この変数を設定するのはcdコマンドであるため、これは論理的です。したがって、cdコマンドを少なくとも1回実行するまで、OLDPWD環境変数には値が含まれません。
先に進むと、直感に反しているように見えるかもしれませんが、 cd- およびcd$ OLDWPD コマンドは、すべての状況で同じ結果を生成するわけではありません。新しいシェルが発売されたばかりの場合の好例です。
上のスクリーンショットから明らかなように、 cd- コマンドは、OLDPWD変数が設定されていないことについて文句を言いました。 cd $ OLDPWD コマンドはエラーを生成しませんでした。実際、現在の作業ディレクトリがユーザーのホームディレクトリに変更されました。
これは、OLDPWD変数が現在設定されていないことを考えると、$OLDPWDは空の文字列にすぎないためです。つまり、 cd $ OLDPWD コマンドは、 cdを実行するのと同じくらい優れています 、デフォルトではホームディレクトリに移動します。
最後に、cd-の出力を抑制することが望ましい状況も経験しました。 コマンドが生成します。つまり、(たとえば、シェルスクリプトを記述しているときに)cd-が必要になる場合があります。 出力に通常のディレクトリパスを生成しないコマンド。このような状況では、次の方法でコマンドを使用できます。
cd-&> / dev / null
上記のコマンドは、ファイル記述子2(STDERR)と記述子1(STDOUT)の両方を/ dev/nullにリダイレクトします。これは、コマンドが生成するエラーも抑制されることを意味します。ただし、一般的な$?を使用して、コマンドの失敗の成功を確認することはできます。テクニック-コマンドecho$? エラーが発生した場合は「1」を生成し、それ以外の場合は「0」を生成します。
または、cd-で問題がない場合 エラーが発生した場合に出力を生成するコマンドの場合は、代わりに次のコマンドを使用できます。
cd-> / dev / null
このコマンドは、ファイル記述子1(STDOUT)のみを/dev/null
にリダイレクトします 。
残念ながら、ここではコマンドライン関連のヒントを1つしか取り上げることができませんでしたが、cd-について多くの詳細な情報について話し合うことができたのは良いことです。 指図。 Linuxボックスのコマンドラインターミナルで、チュートリアルを徹底的に実行し、ここで説明したすべてをテストすることをお勧めします。また、コマンドのマニュアルページに目を通し、そこに記載されているすべての機能を試してください。
問題が発生した場合や疑問がある場合は、以下のコメントでお知らせください。その間、2番目の部分を待ちます。ここでは、ここで行ったのと同じ方法で、より便利なコマンドライン関連のヒント/コツについて説明します。