Help us understand the problem. What is going on with this article?

linuxコマンドで出てくる「再帰的」という言葉について調べてみた

More than 1 year has passed since last update.

そもそもなんで「再帰的」という言葉につまづいた?

指定フォルダ配下を再帰検索

find [検索対象フォルダのパス] -type f -name "*[検索したい文字列]*"

上記のようなコマンドを使う機会があり「ん・・・?再帰的ってなんだ?」となった。

再帰的とは?

再帰的定義(Recursive Definition)は、再帰的な定義、すなわち、あるものを定義するにあたってそれ自身を定義に含むものを言う。 無限後退を避けるため、定義に含まれる「それ自身」はよく定義されていなければならない。 同義語として帰納的定義(Inductive Definition)がある。

wiki:再帰的

むちゃくちゃむずかしく書かれている・・・。
もっと簡単な訳はないか探してみたらこちらの訳が参考になった。

「ディレクトリ内に存在するものに一つ一つに対して処理をする」

再帰的ってどんな意味?

初心者エンジニアが自分なりに咀嚼してみると(意訳だけど)

上司の責任は、部下の責任だぞ!

みたいな感じでいいんじゃないかな。(おい)

lsコマンドを使って「再帰的」を実現してみる。

まず、testディレクトリにtest2ディレクトリが含まれている状況を作る。

vagrant@localhost:~/room$ mkdir test
vagrant@localhost:~/room$ ls
test
vagrant@localhost:~/room$ cd test/
vagrant@localhost:~/room/test$ mkdir test2

次に、以下のlsコマンドを使って再帰的な状況を実現する。
このコマンドを実行した時、指定したディレクトリの中を再帰的(つまり、ディレクトリの中に含まれるディレクトリにも処理を適用させる)に表示させる動作をする。

$ ls -R test
# ちなみに、この「-Rオプション」は【再帰的に】の意味のリカーシブ(recursive)の略。
vagrant@localhost:~/room$ ls -R test/
test/:
test2

無事、testディレクトリの中身のtest2ディレクトリにもlsコマンドを適応=再帰的にできました!!

shuheimm
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away