Is there a command to get the maximum folder depth of entire system?












0















Short version: Is there a command and/or set of commands and/or utility to know what is the maximum depth of folders on my filesystem ?



Long version: I'm on Mac OS X. I'd like to know what is the deepest folder there is on my system (I don't care for access rights). This is because I want to launch a command on the root / and it will be recursive and I don't want it to hang (unexpected results). So I need to know how many levels of folders there are between / and the deepest folder.



I searched on Google and forums but couldn't find anything conclusive. I read that the HFS+ filesystem I'm using has no limit in depth, but maybe there is a limit in path name length ?



EDIT: Someone tried by filling up the fs but it's a dirty solution... I'd like a "cleaner" one if possible. Actually, finding the maximum depth on my actual system would be enough without testing out the limits.



Thanks for your help !










share|improve this question























  • Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

    – Daniel Beck
    Nov 30 '13 at 19:48











  • Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

    – achedeuzot
    Nov 30 '13 at 20:04
















0















Short version: Is there a command and/or set of commands and/or utility to know what is the maximum depth of folders on my filesystem ?



Long version: I'm on Mac OS X. I'd like to know what is the deepest folder there is on my system (I don't care for access rights). This is because I want to launch a command on the root / and it will be recursive and I don't want it to hang (unexpected results). So I need to know how many levels of folders there are between / and the deepest folder.



I searched on Google and forums but couldn't find anything conclusive. I read that the HFS+ filesystem I'm using has no limit in depth, but maybe there is a limit in path name length ?



EDIT: Someone tried by filling up the fs but it's a dirty solution... I'd like a "cleaner" one if possible. Actually, finding the maximum depth on my actual system would be enough without testing out the limits.



Thanks for your help !










share|improve this question























  • Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

    – Daniel Beck
    Nov 30 '13 at 19:48











  • Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

    – achedeuzot
    Nov 30 '13 at 20:04














0












0








0


0






Short version: Is there a command and/or set of commands and/or utility to know what is the maximum depth of folders on my filesystem ?



Long version: I'm on Mac OS X. I'd like to know what is the deepest folder there is on my system (I don't care for access rights). This is because I want to launch a command on the root / and it will be recursive and I don't want it to hang (unexpected results). So I need to know how many levels of folders there are between / and the deepest folder.



I searched on Google and forums but couldn't find anything conclusive. I read that the HFS+ filesystem I'm using has no limit in depth, but maybe there is a limit in path name length ?



EDIT: Someone tried by filling up the fs but it's a dirty solution... I'd like a "cleaner" one if possible. Actually, finding the maximum depth on my actual system would be enough without testing out the limits.



Thanks for your help !










share|improve this question














Short version: Is there a command and/or set of commands and/or utility to know what is the maximum depth of folders on my filesystem ?



Long version: I'm on Mac OS X. I'd like to know what is the deepest folder there is on my system (I don't care for access rights). This is because I want to launch a command on the root / and it will be recursive and I don't want it to hang (unexpected results). So I need to know how many levels of folders there are between / and the deepest folder.



I searched on Google and forums but couldn't find anything conclusive. I read that the HFS+ filesystem I'm using has no limit in depth, but maybe there is a limit in path name length ?



EDIT: Someone tried by filling up the fs but it's a dirty solution... I'd like a "cleaner" one if possible. Actually, finding the maximum depth on my actual system would be enough without testing out the limits.



Thanks for your help !







macos command-line






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 30 '13 at 17:15









achedeuzotachedeuzot

1157




1157













  • Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

    – Daniel Beck
    Nov 30 '13 at 19:48











  • Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

    – achedeuzot
    Nov 30 '13 at 20:04



















  • Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

    – Daniel Beck
    Nov 30 '13 at 19:48











  • Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

    – achedeuzot
    Nov 30 '13 at 20:04

















Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

– Daniel Beck
Nov 30 '13 at 19:48





Note that the linked post determines the deepest possible path. You seem to be asking for the longest actually existing path.

– Daniel Beck
Nov 30 '13 at 19:48













Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

– achedeuzot
Nov 30 '13 at 20:04





Yes, I'm asking for the longest actually existing path. That link was the only thing I found on Google that was approximately what I was searching.

– achedeuzot
Nov 30 '13 at 20:04










3 Answers
3






active

oldest

votes


















2














The following traverses your entire file system looking for directories only, removes everything that's not a forward slash (path item delimiter), and prints the longest trail (at least on my system, sort behavior may depend on locale).



find / -type d | sed 's|[^/]||g' | sort | tail -n1


Count the resulting slashes, which is one for every directory except root, so if the deepest directory path were /Users/danielbeck, the result would be //. Of course, there could be files in that directory.






share|improve this answer
























  • yeah. that's better. :-)

    – Sirex
    Nov 30 '13 at 19:45











  • Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

    – achedeuzot
    Nov 30 '13 at 20:01



















1














Based on Daniel Beck's answer but for those who like counting machines



find / -type d | sed 's|[^/]||g' | sort | tail -n1 | egrep -i -o / | wc -l



If the deepest directory path were /Users/danielbeck, the result would be 2






share|improve this answer































    0














    easiest way ?



    mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a


    your deepest dir is now that.



    less easy way ? Probably something like:



    for i in `find .`; do echo $i | tr -d -c '/n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1


    i.e: show all file paths, rips out anything that isn't /. Count how many there were, then show the highest number.



    something like that - feel free to improve it, pretty sure the /tmp file can be avoided using an in-memory file of some sort.






    share|improve this answer


























    • When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

      – achedeuzot
      Nov 30 '13 at 20:02











    • This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

      – slhck
      Nov 30 '13 at 20:22













    • Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

      – Sirex
      Dec 1 '13 at 4:47











    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f682483%2fis-there-a-command-to-get-the-maximum-folder-depth-of-entire-system%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    The following traverses your entire file system looking for directories only, removes everything that's not a forward slash (path item delimiter), and prints the longest trail (at least on my system, sort behavior may depend on locale).



    find / -type d | sed 's|[^/]||g' | sort | tail -n1


    Count the resulting slashes, which is one for every directory except root, so if the deepest directory path were /Users/danielbeck, the result would be //. Of course, there could be files in that directory.






    share|improve this answer
























    • yeah. that's better. :-)

      – Sirex
      Nov 30 '13 at 19:45











    • Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

      – achedeuzot
      Nov 30 '13 at 20:01
















    2














    The following traverses your entire file system looking for directories only, removes everything that's not a forward slash (path item delimiter), and prints the longest trail (at least on my system, sort behavior may depend on locale).



    find / -type d | sed 's|[^/]||g' | sort | tail -n1


    Count the resulting slashes, which is one for every directory except root, so if the deepest directory path were /Users/danielbeck, the result would be //. Of course, there could be files in that directory.






    share|improve this answer
























    • yeah. that's better. :-)

      – Sirex
      Nov 30 '13 at 19:45











    • Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

      – achedeuzot
      Nov 30 '13 at 20:01














    2












    2








    2







    The following traverses your entire file system looking for directories only, removes everything that's not a forward slash (path item delimiter), and prints the longest trail (at least on my system, sort behavior may depend on locale).



    find / -type d | sed 's|[^/]||g' | sort | tail -n1


    Count the resulting slashes, which is one for every directory except root, so if the deepest directory path were /Users/danielbeck, the result would be //. Of course, there could be files in that directory.






    share|improve this answer













    The following traverses your entire file system looking for directories only, removes everything that's not a forward slash (path item delimiter), and prints the longest trail (at least on my system, sort behavior may depend on locale).



    find / -type d | sed 's|[^/]||g' | sort | tail -n1


    Count the resulting slashes, which is one for every directory except root, so if the deepest directory path were /Users/danielbeck, the result would be //. Of course, there could be files in that directory.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 30 '13 at 19:43









    Daniel BeckDaniel Beck

    92.6k12232286




    92.6k12232286













    • yeah. that's better. :-)

      – Sirex
      Nov 30 '13 at 19:45











    • Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

      – achedeuzot
      Nov 30 '13 at 20:01



















    • yeah. that's better. :-)

      – Sirex
      Nov 30 '13 at 19:45











    • Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

      – achedeuzot
      Nov 30 '13 at 20:01

















    yeah. that's better. :-)

    – Sirex
    Nov 30 '13 at 19:45





    yeah. that's better. :-)

    – Sirex
    Nov 30 '13 at 19:45













    Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

    – achedeuzot
    Nov 30 '13 at 20:01





    Great, I got ////////////////////////// if anyone is interested (that's 26 folders deep).

    – achedeuzot
    Nov 30 '13 at 20:01













    1














    Based on Daniel Beck's answer but for those who like counting machines



    find / -type d | sed 's|[^/]||g' | sort | tail -n1 | egrep -i -o / | wc -l



    If the deepest directory path were /Users/danielbeck, the result would be 2






    share|improve this answer




























      1














      Based on Daniel Beck's answer but for those who like counting machines



      find / -type d | sed 's|[^/]||g' | sort | tail -n1 | egrep -i -o / | wc -l



      If the deepest directory path were /Users/danielbeck, the result would be 2






      share|improve this answer


























        1












        1








        1







        Based on Daniel Beck's answer but for those who like counting machines



        find / -type d | sed 's|[^/]||g' | sort | tail -n1 | egrep -i -o / | wc -l



        If the deepest directory path were /Users/danielbeck, the result would be 2






        share|improve this answer













        Based on Daniel Beck's answer but for those who like counting machines



        find / -type d | sed 's|[^/]||g' | sort | tail -n1 | egrep -i -o / | wc -l



        If the deepest directory path were /Users/danielbeck, the result would be 2







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 14 at 9:57









        Jack.LJack.L

        112




        112























            0














            easiest way ?



            mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a


            your deepest dir is now that.



            less easy way ? Probably something like:



            for i in `find .`; do echo $i | tr -d -c '/n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1


            i.e: show all file paths, rips out anything that isn't /. Count how many there were, then show the highest number.



            something like that - feel free to improve it, pretty sure the /tmp file can be avoided using an in-memory file of some sort.






            share|improve this answer


























            • When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

              – achedeuzot
              Nov 30 '13 at 20:02











            • This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

              – slhck
              Nov 30 '13 at 20:22













            • Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

              – Sirex
              Dec 1 '13 at 4:47
















            0














            easiest way ?



            mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a


            your deepest dir is now that.



            less easy way ? Probably something like:



            for i in `find .`; do echo $i | tr -d -c '/n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1


            i.e: show all file paths, rips out anything that isn't /. Count how many there were, then show the highest number.



            something like that - feel free to improve it, pretty sure the /tmp file can be avoided using an in-memory file of some sort.






            share|improve this answer


























            • When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

              – achedeuzot
              Nov 30 '13 at 20:02











            • This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

              – slhck
              Nov 30 '13 at 20:22













            • Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

              – Sirex
              Dec 1 '13 at 4:47














            0












            0








            0







            easiest way ?



            mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a


            your deepest dir is now that.



            less easy way ? Probably something like:



            for i in `find .`; do echo $i | tr -d -c '/n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1


            i.e: show all file paths, rips out anything that isn't /. Count how many there were, then show the highest number.



            something like that - feel free to improve it, pretty sure the /tmp file can be avoided using an in-memory file of some sort.






            share|improve this answer















            easiest way ?



            mkdir /a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a


            your deepest dir is now that.



            less easy way ? Probably something like:



            for i in `find .`; do echo $i | tr -d -c '/n' | wc -m >> /tmp/counts; done; sort -nr /tmp/counts | head -n 1


            i.e: show all file paths, rips out anything that isn't /. Count how many there were, then show the highest number.



            something like that - feel free to improve it, pretty sure the /tmp file can be avoided using an in-memory file of some sort.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 30 '13 at 19:38

























            answered Nov 30 '13 at 19:32









            SirexSirex

            9,72843252




            9,72843252













            • When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

              – achedeuzot
              Nov 30 '13 at 20:02











            • This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

              – slhck
              Nov 30 '13 at 20:22













            • Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

              – Sirex
              Dec 1 '13 at 4:47



















            • When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

              – achedeuzot
              Nov 30 '13 at 20:02











            • This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

              – slhck
              Nov 30 '13 at 20:22













            • Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

              – Sirex
              Dec 1 '13 at 4:47

















            When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

            – achedeuzot
            Nov 30 '13 at 20:02





            When I tried it, it somehow stopped after some time and went unresponsive... Thanks for the idea !

            – achedeuzot
            Nov 30 '13 at 20:02













            This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

            – slhck
            Nov 30 '13 at 20:22







            This will break if any path contains a space in its name. Don't parse the output of find or ls: mywiki.wooledge.org/ParsingLs

            – slhck
            Nov 30 '13 at 20:22















            Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

            – Sirex
            Dec 1 '13 at 4:47





            Yeah, it sucks. I know. Personally I'd just do the mkdir and move onto the next problem.

            – Sirex
            Dec 1 '13 at 4:47


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f682483%2fis-there-a-command-to-get-the-maximum-folder-depth-of-entire-system%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

            Eduardo VII do Reino Unido