Linuxコマンド整理の3:ln

1744 ワード

Lnコマンド
機能:
ファイルをリンクします.ハードリンク(hard link)とソフトリンク(symbolic link)に分けられます.既定はハードリンクです.
構文:
ln[-f|-n][-s]SourceFile[TargetFile]ファイルへのリンク
ln [ -f | -n] [ -s ] SourceFile ... TargetDirectory 1つ以上のファイルをディレクトリにリンク
使い方説明:Windowsのショートカットのような感じがします.
共通パラメータとオプション:
−fは、lnコマンドに既存の宛先パスを置換させる.宛先パスが既に存在し、-fフラグが指定されていない場合、lnコマンドは新しいリンクを作成するのではなく、標準エラーに診断メッセージを書き、残りのSourceFilesへのリンクを続行します.-nリンクが既存のファイルである場合、ファイルの内容を上書きしないことを指定します.-fフラグはこのフラグをリセットした.これはデフォルトの動作です.-sはlnコマンドにシンボルリンクの作成を促します.シンボルリンクには、リンクされているファイルの名前が含まれています.リンクを開く操作を実行すると、リファレンスファイルが使用されます.シンボルリンクのstat呼び出しは、リンクのターゲットファイルを返します.リンクの情報を取得するにはlstat呼び出しを完了する必要があります.readlink呼び出しを使用して、シンボルリンクの内容を読み込むことができます.シンボルリンクは、ファイルシステムにまたがってディレクトリを指す可能性があります. 
使用例
1.ファイルのソフトリンク
ln  –s  /home/linc linc
2.フォルダのソフトリンク
ln -s ~/android/sdk/*/tmp/testsdk/
3.ソフトリンクの削除
上にandroid adkのソフトリンクを作成しましたが、どうやって削除しますか?元のファイルも削除しますか?
従来の経験はrm/tmp/testsdkの後ろに「/」反スラッシュがないことである.さもないと元のファイルを削除します.
rm -i -r testsdk
rm: descend into directory `testsdk'? y
rm: remove symbolic link `testsdk/build-tools'? y
rm: remove symbolic link `testsdk/tools'? y
rm: remove symbolic link `testsdk/add-ons'? y
rm: remove symbolic link `testsdk/platforms'? y
rm: remove symbolic link `testsdk/platform-tools'? y
rm: remove symbolic link `testsdk/extras'? y
rm: remove symbolic link `testsdk/temp'? y
rm: remove symbolic link `testsdk/docs'? y
rm: remove symbolic link `testsdk/system-images'? y
rm: remove symbolic link `testsdk/sdk'? y
rm: remove symbolic link `testsdk/sources'? y
rm: remove symbolic link `testsdk/samples'? y
rm: remove directory `testsdk'? y
保険のため「-i」パラメータを尋ねました.