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

初心者向けのLinuxreadlinkおよびrealpathコマンドチュートリアル(例付き)

ファイル間にリンクを作成できるlnコマンドについてはすでに説明しました。ただし、これらのリンクを解決できるツールもあります。

このチュートリアルでは、リアルパスの基本について説明します。 およびreadlink 解決されたシンボリックリンクを出力に表示するという意味で類似している(同じではない場合)コマンド。ただし、その前に、ここでのすべての例がUbuntu18.04LTSとDebian10でテストされていることを言及する価値があります。

冒頭ですでに述べたように、realpathコマンドとreadlinkコマンドはどちらも、出力にシ​​ンボリックリンクの解決されたパスを表示します。

構文は次のとおりです。

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

そして、それぞれのマニュアルページの内容は次のとおりです。

Print the resolved absolute file name
print resolved symbolic links or canonical file names

以下は、これらのツールがどのように機能するかについてより良いアイデアを与えるはずのQ&Aスタイルの例です。

シンプルで、ファイルまたはパスを入力として指定するだけです。次の例は、シンボリックリンクを解決するこれらのコマンドの両方を示しています。

そして、パスの操作方法は次のとおりです。

したがって、2つのケースで両方のコマンドがシンボリックリンクを正常に解決したことがわかります。

Q2。ディレクトリを基準にして解決されたパスを出力するにはどうすればよいですか?

realpathコマンドを使用すると、これを簡単に行うことができます。たとえば、これがあなたがやろうとしていることだとしましょう:

realpath /var/local/Downloadslink

ただし、追加の要件は、このコマンドの出力を/ home/himanshuディレクトリに関連させることです。次に、実行する必要のあるコマンドは次のとおりです。

realpath /var/local/Downloadslink --relative-to=/home/himanshu

出力は次のとおりです:

Downloads

したがって、「-relative-to」オプションを使用すると、/ home/himanshuディレクトリを基準にして出力できることがわかります。

Q3。パス内の..を取り除く方法は?

シンボリックリンクの拡張/解決が目的ではない場合もありますが、パス内の..を取り除くことは目的です。 realpathコマンドを使用すると、これを実行できます。

-sコマンドラインオプションを使用するだけです。次に例を示します:

realpath -s ../../var/local/Downloadslink

このコマンドの出力は次のとおりです。

/var/local/Downloadslink

Q4。区切り文字を変更するにはどうすればよいですか?

デフォルトでは、改行が区切り文字として使用されます。ただし、どちらのコマンドも、代わりにNULを区切り文字として使用する方法を提供します。

どちらの場合も使用する必要があるオプションは-zです。

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]
結論

ここで説明したのは、これらのコマンドが提供するほんの一握りのオプション/機能です。これらの練習が終わったら、readlinkとrealpathのmanページ(こことここ)にアクセスして、これらのツールの詳細を確認してください。


Linux
  1. Linuxは初心者向けのコマンドチュートリアルを展開します(例付き)

  2. 初心者向けのLinuxファクターコマンドチュートリアル(例付き)

  3. Linuxユーザー初心者向けコマンドチュートリアル(例付き)

  1. 初心者向けのLinuxtacコマンドチュートリアル(例付き)

  2. 初心者向けのLinuxsumコマンドチュートリアル(例付き)

  3. 初心者向けのLinuxbasenameコマンドチュートリアル(例付き)

  1. Linux yes初心者向けコマンドチュートリアル(例付き)

  2. 初心者向けのLinuxnprocコマンドチュートリアル(例付き)

  3. 初心者向けのLinuxsleepコマンドチュートリアル(例付き)