Linux でサブディレクトリを検索する方法: 1. Linux システムにログインし、ターミナルを開いて入力します; 2. 「man ls」コマンドを実行してファイル パスを取得します; 3. 「ls」を入力して実行します-R | grep./" コマンドは、現在のディレクトリ内のすべてのサブディレクトリを取得できます。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux どのようなサブディレクトリがあるかを調べてください。
LINUX のディレクトリの下にあるすべてのサブディレクトリを検索します
#特定の場合は何度もファイル パスが作成されていないため、プログラムの実行時にエラーが発生する可能性があります。
したがって、必要なファイル パスを事前に作成する必要があります。
この記事では、テスト環境のファイルパスが既に存在していることを前提としていますが、新環境ではこのパスは存在しませんので、この際、まずファイルパスを取得する必要があります。
man ls
を使用すると、プロンプトが表示されます。現在のディレクトリ内のすべてのファイルを検索したい場合は、次のコマンドを使用できます:
ls -R
結果は次のように取得されます。以下に示しますが、私たちの目標はパスを見つけることだけであり、サブパスやサブフォルダーを見つけることではありません。
実際、
man grep
を使用するとデータ検索に役立ちます。 実際には、
ls -R | grep ./
と入力するだけで、現在のディレクトリ内のすべてのサブディレクトリを取得できます。
これは学ぶというより考える方法で、find コマンドを直接学習すると、
find . -type f
を使用して上記のパスを直接取得できます。
それでは、新しい環境で非常に多くのパスを素早く作成するにはどうすればよいでしょうか?
上記の結果をコピーし、
を置き換えます
「./」を「 mkdir -p ./ "
「:」を「;」に置き換えます
mkdir -p ./xxxx ;
where 既存のパスそのようなパスが存在しない場合は、その親パスが自動的に作成されるため、元のパス ファイルが置き換えられて空白のままになることを心配する必要はありません。
上記をすべて実行するか、xx.sh ファイルを作成してそのファイルにコマンドを入力することもできます。
実行
sh xx.sh;
パスが多すぎてエディタにコピーして置き換えることができない場合はどうすればよいですか?
上記のステートメントは、まず特定のファイルにリダイレクトします。例:
">" は上書きリダイレクトなので、リダイレクトするときは、最初に hello.sh が存在するかどうかを確認し、存在する場合は上書きされます。
">>" は追加の方向
コマンド解析であり、ここでの . は現在のパスの下にあるすべてのパスを指します。ルート ディレクトリの下にあるすべてのディレクトリを取得するには、/ を使用します。
find . -type f > hello.sh;vi hello.sh;
次のコマンドをエディタに入力します。手動で入力することをお勧めします。コピーすると、コマンド モードに入ることができません。
:%s/\.\//mkdir -p /g :%s/$/;/g :wq
この時点で、sh スクリプトを取得し、ディレクトリを作成する必要がある場所にファイルを作成できます。
sh hello.sh;
以上がLinux にどのようなサブディレクトリがあるかを調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。