コマンドエイリアスを「今だけ」無効にしたい [小技(Linux)]
意外と知られてないということにびっくりしたのでさくっと書いておく。
Linuxを使っていると、誰にも何も頼んでいなくても自動的にコマンドエイリアスがいくつか設定された状態になっている。
こんな具合に。
lsコマンドがカラフルに表示されてみたり、ファイルを消そうとrmコマンドを実行すると、いちいちファイルを消しますか?みたいな質問をしてくるのである。
もしかしたら、職場や学校などで設置しているサーバにはこれら以外にも様々なエイリアスを設定し、快適なオペレーション環境を構築しているかもしれない。
が…
ごくまれに…
この便利なはずのエイリアスがとてつもなく邪魔くさく感じられて仕方がないケースもありうる。
例えば、「カラフルなlsコマンドの結果が気に入らないので、色無しで表示させたいが、今実行する1回だけalias ls='ls --color=tty'を無効にしたい!」とかいう場合。
このようなコマンドエイリアスが指定されていると、例えば
ls -la /tmp
と実行した時、実はls --color=tty -la /tmpと実行したことになり、結果的にカラフルな表示になるのである。
コマンドエイリアスを、そのターミナルからログオフするまでずーっと無効にしたいなら、unaliasコマンドを使えばよろしい。
が、今実行する1回だけという場合は、簡単に明示的にエイリアスを無効にする方法がある。
それは…
コマンドの頭に \ を付ける
だけ。そんだけ。
つまり、 ls -la と実行したなら、カラフルな表示になるところ、 \ls -la と実行すると、地味な表示となるのである。
こんなエイリアスがある場合、
と、聞かれる。まあ、rm -fとすれば良いのだが、こういう場合にも、
と、このようにエイリアスが無かったことになってコマンドが実行されるのである。
さりげなく使ってみよう!(笑)
Linuxを使っていると、誰にも何も頼んでいなくても自動的にコマンドエイリアスがいくつか設定された状態になっている。
[root@test-server tmp]# alias alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
こんな具合に。
lsコマンドがカラフルに表示されてみたり、ファイルを消そうとrmコマンドを実行すると、いちいちファイルを消しますか?みたいな質問をしてくるのである。
もしかしたら、職場や学校などで設置しているサーバにはこれら以外にも様々なエイリアスを設定し、快適なオペレーション環境を構築しているかもしれない。
が…
ごくまれに…
この便利なはずのエイリアスがとてつもなく邪魔くさく感じられて仕方がないケースもありうる。
例えば、「カラフルなlsコマンドの結果が気に入らないので、色無しで表示させたいが、今実行する1回だけalias ls='ls --color=tty'を無効にしたい!」とかいう場合。
このようなコマンドエイリアスが指定されていると、例えば
ls -la /tmp
と実行した時、実はls --color=tty -la /tmpと実行したことになり、結果的にカラフルな表示になるのである。
コマンドエイリアスを、そのターミナルからログオフするまでずーっと無効にしたいなら、unaliasコマンドを使えばよろしい。
が、今実行する1回だけという場合は、簡単に明示的にエイリアスを無効にする方法がある。
それは…
コマンドの頭に \ を付ける
だけ。そんだけ。
つまり、 ls -la と実行したなら、カラフルな表示になるところ、 \ls -la と実行すると、地味な表示となるのである。
[root@test-server tmp]# alias rm alias rm='rm -i'
こんなエイリアスがある場合、
[root@test-server tmp]# touch testfile [root@test-server tmp]# rm testfile rm: remove 通常の空ファイル `testfile'?
と、聞かれる。まあ、rm -fとすれば良いのだが、こういう場合にも、
[root@test-server tmp]# touch testfile [root@test-server tmp]# \rm testfile [root@test-server tmp]#
と、このようにエイリアスが無かったことになってコマンドが実行されるのである。
さりげなく使ってみよう!(笑)
コメント 0