シェルからエイリアスを永久に削除するにはどうすればよいですか


28

コンピューターの近くにいなかったとき、誰かがそれを手に入れてls、ルートフォルダーにエイリアスを設定しました。彼はそれをに設定しました'yes NeverGonnaGiveYouUp'。ルートフォルダーにimを入力するlsと、NeverGonnaGiveYouUpの無限ループが発生します。それは私を夢中にさせており、それを取り除く方法がわかりません。

私はすでに試したunaliasし、unalias -aしかし、それらは単に一時的に削除します。シェルを閉じて再度開くと、再び表示されます。このがらくたを取り除くにはどうすればよいですか?


2
の出力はgrep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile何ですか?シェルとディストリビューションによっては、他にもいくつかのファイルを見る必要があります。しかし、これは私たちに出発点を与えるはずです
。– heemayl

5
リックロールカーネルモジュールLOL
moonbutt74

回答:


24

unaliasが問題を削除した場合(一時的であっても)、エイリアスであることを確認しています。〜/ .bashrcにunalias lsを追加することで、「ブルートフォース」アウトできます。

echo "unalias ls" >> ~/.bashrc

これは、bashrcが読み取られるたびに実行され、エイリアスを削除します。
それはあなたにいくらかの平和を買いますが、いくつかのファイルがエイリアスを再起動するコードをまだ含んでいるという実際の問題を解決しません。どのファイルに問題があるかを見つける必要があります。

bashを使用する場合:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

これは、定義を取得した可能性のあるファイルの良いリストです。その検索で何も表示されない場合、または他のシェルを使用する場合は、さらにサポートが必要な場合はお知らせください。


16

unaliasコマンドは、現在のログインセッションの間、エイリアスをオフにしました。エイリアスは、una​​liasコマンドによって.bashrcファイルから削除されません。ユーザーが再度ログインすると、そのエイリアスが再び有効になります。

.bashrcは隠しファイルです。次のように入力してエイリアスのリストを確認できます。

$ alias

シェル構成ファイル〜/ .bashrcを確認すると、必要なエイリアスを永久に削除できます。

 vi ~/.bashrc

エイリアスを見つけるには:

  $ type --all ls

エイリアスを削除します。

unalias gs

マニュアルの詳細

unalias -aは、現在のシェル実行環境からすべてのエイリアス定義を削除します。


-1

Ubuntu 16.04 LTSの場合、次のコマンドを使用できます

cat /dev/null > ~/.bash_aliases

これ~/.bash_aliasesにより、lsエイリアスだけでなく、で定義されたものはすべて削除されます(エイリアスは定義されていません)。
スティーブンキット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.