0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rmのaliasを調べていたらskelの話になった件について

Last updated at Posted at 2018-07-19

※コメントでご指摘をいただき調べなおしたところ、最初の記載に誤りがあったので、一部修正しました。

#rmと侠気

侠気(きょうき、おとこぎ)とは、強きをくじき弱きを助ける心だて(広辞苑)、だそうだ。

~~最近のシステムでは、rmrm -iにaliasがはられている。これは侠気なのかもしれない。~~rmにiオプションのaliasがはられている場合、ほんとうにこのファイルを消してもいいのかという迷いや弱さを助けているのだろう。

ちなみに、設定されているaliasを無視したい時は、(POSIXの仕様を工夫して)コマンドの前か途中にバックスラッシュをはさむなどのテクニックが使われる。

#aliasについて

aliases(aliases(5))じゃなくalias。ここではbash(bash(1))やtcsh(tcsh(1))の方向から見ていく。たとえば私のllはこうなっている。ls -lと同じということであり、上記の通り\llと入力すればただのllとなる。

% alias | grep ^ll
ll      ls -l

#いつからrmにはiオプションがついているのか?

でもって先日、ゆたかさんのツイートなどをみてふと思ったのが、

そういえば自分は手動でaliasはってないのに、rmrm -iになってるよねと思ってaliasを見たら設定済みだった。

% alias | grep ^rm
rm      rm -i

寝ている間に小人さんが設定したというケースは除いて、となると、ユーザ作成時にすでにそうなっていたということなの~~だろう。~~だろうか?

#skelを覗く

「覘く」という使い方は常用ではないらしい。--それはともかくとして、useradd(8)をみると、(指定すれば)/etc/skel の中身が新規ユーザの$HOMEにコピーされる、とある。Windowsの世界でいうところのデフォルトプロファイルみたいなもの、ともいえるかもしれない。1

それで/etc/skel/ を見てみてみると、たしかに.bashrcとかがある。(環境によっては、/usr/local 以下にskelディレクトリがあるだろう。)その.bashrcとかに、書いてあるのだった。

(追記)ただし、lsなどのaliasは書いていたが、ズバリrmにiオプションのaliasは無かったように見える。じゃあどこで設定されているのだろうか?

なので、強引にまとめると、ほぼほぼ最近のシステムであれば、rm には -i オプションがaliasで設定されていて、(初学者は)それを気にしないで入力しているということになる。

設定したことが無くても、 alias と入力してrmにiオプションがついていることがあって、その時は、初学者が「rmのiオプション」を知らなくても、「rmを入力したら確認が出るのだな」と思うのだろう。

あとUbuntuでは「超最小構成」ってのがあって、--Ubuntu Minimal Cloud Imagesという--、まあそもそもIoTというか人間じゃないユーザ向け2のやつなんですけど、このへんまでいくと__スクリーンエディタもないっていう状態__なので、勉強にはおすすめかもしれませんね。

#参考など

この記事でPOSIXのことを思い出しました。ありがとうございます。

  1. 窓のデフォルトプロファイルを作る方がめんどくさい(手順が煩雑)な気がするんだけど、Windows10くらいからましになったとかどうとか。:smirk:

  2. 人間じゃないユーザ=逸般人ともいえますよね(ぉ

0
1
1

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?