私はln
何年もの間シンボリックリンクを書いてきましたが、まだ引数の順序が間違っています。
これは通常、次のような文章を残します。
ln -s a b
その後、出力を見て自分自身に思い出させてください。
私はいつもa -> b
私が読んだ内容がこのようになると想像していましたが、実際にはその逆でしたb -> a
。これは直観にずれる気がするので、いつも自分自身を推測しています。
正しい順序を覚えるのに役立つヒントがある人はいますか?
答え1
私の考えはln
'いいですcp
。 「出所」が先に出なければならない」でした。
答え2
私は以下を使用します:ln
単一のパラメータ型があります(2番目の形式はマンページ)、これは宛先のみを取り、(宛先ln
を知らないで作業する方法のため)、ln
現在のディレクトリにリンクを作成します。 2つの引数型は単一の引数型を補完するため、ターゲットは常に最初の引数です。
答え3
ほとんどのUniceはln
コマンドを次のように記録します。
ln source target
(ここではオプションなどを省略しています)
例:
-
ln [-fs] [-L|-P] source_file target_file
-
ln [-fhLnPs] source [target]
-
ln [-L | -P | -s [-F]] [-f | -iw] [-hnv] source_file [target_file]
アップルシステム
ln [-Ffhinsv] source_file [target_file]
-
/usr/bin/ln [-fns] source_file [target]
-
ln [ -f | -n ] [ -s ] SourceFile [ TargetFile ]
GNUln
マニュアルには奇妙だと言われています。source
ターゲットそしてtarget
リンク名。
-
ln [option]… [-T] target linkname
GNUの単語選択を無視し、ユーティリティはln
次のmv
意味に従います。cp
これターゲットで作成されます源泉。
だから、
ln -s a b
b
へのシンボリックリンクが作成されますa
。つまり、ソースとして使用されるシンボリックリンクを作成するタスクb
のターゲットです。a
製作時に注意してください象徴的なlink, source は、単にシンボリックリンクが指すターゲットを表す文字列です。通常、有用な情報を指しているかどうかを確認するチェックはありません。
$ ln -s "hello world" README.txt
$ ls -l
total 0
lrwxr-xr-x 1 kk wheel 11 Sep 15 11:39 README.txt -> hello world
「ソース」の後に「ターゲット」が続くのではなく、「ターゲット」と「リンク名」を使用するGNUの選択についての個人的な考え方:
2番目のパラメータ(生成される項目)は「リンク名」でなければならず、最初のパラメータ(リンク先)は「ターゲット」でなければならないことが明らかです。ただし、次の場合のみ使用リンク。
時作るリンク、つまり実行中のアクションとln
2番目のパラメータ、つまり生成されたコンテンツは、ln
最初のパラメータ「source」を使用して作成されたアクションの「ターゲット」です。
これは、他の基本ツールのパラメータの同様のソース - >ターゲット順序とともに、GNU以外の文書をln
より自然に見せます。
答え4
誰かが役に立つならば:私はこれを「ln」と考えるのに慣れています。何 どこ「を使用すると、最初の引数(「何」)が既存のファイルであり、2番目の引数(「どこ」)がファイルを置く(リンク)の場所であるかを覚えておくのに役立ちます。そうではありませんが、これ以上のことではありません。
他の標準ファイル操作コマンドは同じ規則を使用するため、およびcp
で同じ操作を実行できますmv
。