CentOSの-f(上書き確認しない)コマンド

CentOSでは、デフォルトでaliasによるコマンドが作られています。
aliasとは別名の設定を行う事ができ、例えばコピーコマンドで毎回上書き保存確認を
して欲しい時には、「cp -i」実行することになりますが、これをcpと打つだけで「-i」付きの
命令文として実行する事ができるようにするのが、alias(アライアス)です。

CentOSでは、ユーザとrootでデフォルトでaliasの設定があるので、ユーザによって違いがありますが
aliasコマンドで確認できます。

//ユーザでの確認
alias
alias l.=’ls -d .* –color=tty’
alias ll=’ls -l –color=tty’
alias ls=’ls –color=tty’
alias vi=’vim’
alias which=’alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde’

//rootでの確認
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’

以上でわかりますが、CentOSのrootには引数で「-i」が付いています。
この為、-fで上書き確認をしないようにしていても確認が表示されてしまう理由は
rootのコマンドcpは実は「cp -i」になっているので、「cp -f」としても実は「cp -i -f」となり
必ず上書き確認が出てしまう。という事なのです。

という訳で、上書き確認しないでコマンドを実行するには、コマンドの頭に「#」か「バックスラッシュ」を
書いてあげると、aliasを回避できるので、上書き確認なしに実行できるようになります。
#cp -f 123.txt 222.txt

と、ここまで試しに書いていると、ある事に気がつきました。
普通のユーザだと、逆に確認させる時に「-i」をつけてやらないと確認でないんですね。。。

#ちなみに、Fedoraもaliasの回避方法は同じでした。

カテゴリー: Linux パーマリンク