LoginSignup
48
29

More than 5 years have passed since last update.

unlinkコマンドは使い方に注意しないといけない危険なコマンド

Last updated at Posted at 2017-11-14

unlinkに関して勘違いをしていたのでメモ.

シンボリックリンクを貼る際に使うコマンドln. 第一引数にリンク元,第二引数に作成するリンクを指定する.

$ ln -s hoge fuga
$ ls -n
total 8
lrwxr-xr-x  1 user  staff  4 11 15 01:36 fuga -> hoge
-rw-r--r--  1 user  staff  0 11 15 01:36 hoge

上記のコマンドによってhogeのシンボリックリンクfugaを作成.

そして、コマンドunlinkはシンボリックリンクを削除するために用いるコマンド.

$ unlink fuga

このようにシンボリックリンクを削除する.

今回私は間違って、

$ unlink hoge

のようにリンク元を引数に指定してしまった。
その後、改めてリンク先を指定し、もう一度シンボリックリンクを貼ろうとすると、hogeが無いとエラーが発生.
確認してみるとたしかにhogeがなくなっている...

あれ?unlinkってリンク以外も削除しちゃうの?
unlinkの説明を見てみると、

NAME
     rm, unlink -- remove directory entries

SYNOPSIS
     rm [-dfiPRrvW] file ...
     unlink file
.
.

つまり、オプションを指定しないrmと動作は同じ.

これからはunlinkの使い方に気をつけたい.

48
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
48
29