最近、Arch-Linuxシステムをインストールしました。入力すると
echo $PATH
それは(とりわけ)私の/home/user/dir
内のディレクトリを指しています。どこかに設定したことを覚えています。私はrootユーザーとしても持っているので、~/.bashrc
に含めることはできず、/root/.bashrc
にも含めることができません。 /etc/profile
と/etc/bash.bashrc
の中も調べましたが、そこにも見つかりませんでした。
それがどこに設定されているかを見つける方法はありますか?
/etc
内のすべてのファイルでディレクトリを検索してみてください。
Sudo grep -r "/home/user/dir" /etc
-r
スイッチは、/home/user/dir
とそのサブディレクトリ内のすべてのファイルのコンテンツで/etc
をgrep
で検索します。
-dACTION、-directories= ACTION
入力ファイルがディレクトリの場合は、ACTIONを使用して処理します。デフォルトでは、ACTIONはreadです。これは、ディレクトリが通常のファイルであるかのように読み取られることを意味します。 ACTIONがskipの場合、ディレクトリはサイレントにスキップされます。 ACTIONがrecurseの場合、grepは各ディレクトリの下のすべてのファイルを再帰的に読み取ります。これは、-rオプションと同等です。
それが失敗した場合は、検索をallファイルに拡張するだけです。
Sudo grep -r "/home/user/dir" /
または、PATH
変数を変更するすべてのファイルを検索することもできます。
Sudo grep -r "PATH=" /
通常、ユーザーディレクトリをrootとしてグローバルパスに配置することはお勧めできません;)/etc/environment
ファイルを確認しましたか?
@Dennisは私に素敵なアイデアを教えてくれます! /etc
内を検索して見つけましたが、別のコマンドを使用しました。彼のコマンドはファイル名のみを検索しているためです(私が理解している限り)。
私が成功したのは
find / -type f -exec grep -i /home/user/dir '{}' \; -print