লিনাক্স একটি গাছ আকারে ডিরেক্টরি কাঠামো মুদ্রণ কমান্ড


510

এমন কোনও লিনাক্স কমান্ড আছে যা আমি কোনও বাশ স্ক্রিপ্ট থেকে কল করতে পারি যা একটি কাঠের আকারে ডিরেক্টরি কাঠামো প্রিন্ট করবে, যেমন,

folder1
   a.txt
   b.txt
folder2
   folder3

7
শুধু চালান find। অথবা find . -not -path '*/\.*'ফাইল এবং ফোল্ডারগুলি দিয়ে শুরু করে আড়াল করতে .। যদি আপনি প্রশ্ন হিসাবে ফাঁকা জায়গাগুলির সাথে আউটপুট পেতে চান তবে এই "সন্ধানী প্রাকদর্শক" স্ক্রিপ্টটি ব্যবহার করুন:find . -not -path '*/\.*' | python -c "import sys as s;s.a=[];[setattr(s,'a',list(filter(lambda p: c.startswith(p+'/'),s.a)))or (s.stdout.write(' '*len(s.a)+c[len(s.a[-1])+1 if s.a else 0:])or True) and s.a.append(c[:-1]) for c in s.stdin]"
ব্যবহারকারী

11
এই জাতীয় প্রশ্নগুলি বন্ধ হওয়ার পরিবর্তে সুপার ইউজারে স্থানান্তরিত হওয়া উচিত নয়?
বাল্মীপুর

12
আমি মনে করি না যে এই প্রশ্নটি "অফ টপিক" হিসাবে বন্ধ হওয়ার দাবিদার। ট্যাগগুলি সঠিক বলে মনে হচ্ছে।
সংকেত বার্ডে

14
স্থানান্তরিত না করে প্রশ্নগুলি বন্ধ করার নীতি সাধারণভাবে স্ট্যাকওভারফ্লো এবং মানব জ্ঞান উভয়ের জন্যই ক্ষতিকারক। গত 3 দিনের মধ্যে, আমি যে সমস্ত প্রশ্নগুলি গুগল করেছিলাম এবং এগুলি পেলাম সেগুলি একই যুক্তির কারণে বন্ধ হয়ে গেছে এবং আর কোনও ক্রিয়াকলাপ ঘটতে সক্ষম হয়নি। এর অর্থ কেউ এটি আপডেট করতে পারে না, কেউই এর চেয়ে ভাল উত্তর দিতে পারে না এবং এটি স্ট্যাকওভারফ্লোটিকে সংক্ষিপ্ত বা অভিজাত দেখায় it যখন কোনও বিষয় এই শর্তে পাওয়া যায় তখন স্ট্যাকওভারফ্লোতে মাইগ্রেশন প্রয়োজন বিবেচনা করা উচিত।
নয়

5
আমি @ নিকইয়েটসের সাথে একমত হয়েছি আমি 2017 সালের সেপ্টেম্বরের শেষের দিকে এখনও এই একই প্রশ্নের উত্তর খুঁজে পাচ্ছি। দীর্ঘমেয়াদে চিন্তা করুন যখন আমরা এই প্রশ্নগুলির উত্তর এবং নীতিগুলি ডিজাইন করি!
অ্যালেক্স

উত্তর:


773

আপনি কি গাছের সন্ধান করছেন ? এটি বেশিরভাগ বিতরণে থাকতে পারে (সম্ভবত একটি installচ্ছিক ইনস্টল হিসাবে)।

~> tree -d /proc/self/
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
|   `-- 3 -> /proc/15589/fd
|-- fdinfo
|-- net
|   |-- dev_snmp6
|   |-- netfilter
|   |-- rpc
|   |   |-- auth.rpcsec.context
|   |   |-- auth.rpcsec.init
|   |   |-- auth.unix.gid
|   |   |-- auth.unix.ip
|   |   |-- nfs4.idtoname
|   |   |-- nfs4.nametoid
|   |   |-- nfsd.export
|   |   `-- nfsd.fh
|   `-- stat
|-- root -> /
`-- task
    `-- 15589
        |-- attr
        |-- cwd -> /proc
        |-- fd
        | `-- 3 -> /proc/15589/task/15589/fd
        |-- fdinfo
        `-- root -> /

27 directories

রক্ষণাবেক্ষণকারীর ওয়েব পৃষ্ঠা থেকে নেওয়া নমুনা।

সর্বাধিক পুনরাবৃত্তির গভীরতা নির্দিষ্ট করতে আপনি বিকল্পটি -L #যেখানে #কোনও সংখ্যার দ্বারা প্রতিস্থাপন করা যাবে তা যুক্ত করতে পারেন ।

-dফাইলগুলি প্রদর্শন করতে সরান ।


54
এটি দেখার জন্য কোনও দর্শনার্থীর জন্য নোট: -dফাইলগুলি প্রদর্শন করতেও সরান !
আফার

29
এটি দেখার জন্য যে কোনও দর্শনার্থীর জন্য নোট করুন: ম্যান পেজটি আপনার জন্য আরও বেশি পতাকার একটি ট্রাকের লোডের তালিকা করে :)
oivvio

42
ম্যাক ওএস এক্স brew install tree
ডাব্লু

2
সাইগউইনে ইনস্টল করতে apt-cyg install tree(ধরে নিই যে আপনি অ্যাপট-সিগ ইনস্টল করেছেন)
ব্লকলুপ

2
এমনকি উবুন্টু 16.04 এর সাথে আসে না। ব্যবহার apt-get install treeএটি ইনস্টল করা হবে।
রোমিও সিয়েরা

331

আপনি এটি ব্যবহার করতে পারেন:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

এটি কয়েক সেকেন্ডের মধ্যে ফাইল ছাড়াই বর্তমান সাব-ডিরেক্টরিগুলির একটি গ্রাফিকাল উপস্থাপনা প্রদর্শন করবে , যেমন /var/cache/:

   .
   |-apache2
   |---mod_cache_disk
   |-apparmor
   |-apt
   |---archives
   |-----partial
   |-apt-xapian-index
   |---index.1
   |-dbconfig-common
   |---backups
   |-debconf

সূত্র


7
যদি আপনি এটি ফাঁকা জায়গায় চান, আরও ওপি অনুরোধের মতো, তবে এটি: ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\// /g' -e 's/^/ /'
বেন

কোনও উপায়েই আমি এটিকে ডটফাইলগুলি উপেক্ষা করতে পারি? যেমন বিষয়বস্তু তালিকা থেকে এটি প্রতিরোধ .git?
জিএমএ


32
ফাইল মুদ্রণ করে না।
টোম জ্যাটো - মনিকা

36
ফাইল সহ: find . | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
জাভাশেরিফ

18

আপনার .Bashrc- এ হাসুর সমাধান যুক্ত করতে চেষ্টা করুন:

alias lst='ls -R | grep ":$" | sed -e '"'"'s/:$//'"'"' -e '"'"'s/[^-][^\/]*\//--/g'"'"' -e '"'"'s/^/   /'"'"' -e '"'"'s/-/|/'"'"

6
এটি সরাসরি অনুলিপি করা হলে প্রথম লাইনের শেষে নতুন লাইনের চরিত্রটি সম্পর্কে সতর্ক থাকুন
রাহুল

2
চমৎকার ওরফে। তবে শেষে '' (2 একক উদ্ধৃতি অক্ষর) অনুপস্থিত। এটি এটি ছাড়াও কাজ করে, তবে ... আপনি যদি আরও কিছু কমান্ড শেষে যুক্ত করতে চান তবে দেখবেন আক্ষরিক সম্পূর্ণ হয়নি। সুতরাং এটি যাওয়া উচিত alias lst='ls -R | grep ":$" | sed -e '"'"'s/:$//'"'"' -e '"'"'s/[^-][^\/]*\//--/g'"'"' -e '"'"'s/^/ /'"'"' -e '"'"'s/-/|/'"'"''
হিরো কো

6

এই কমান্ডটি ফোল্ডার এবং ফাইল উভয়ই প্রদর্শন করতে কাজ করে

find . | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"

উদাহরণ আউটপুট:

.
 |-trace.pcap
 |-parent
 | |-chdir1
 | | |-file1.txt
 | |-chdir2
 | | |-file2.txt
 | | |-file3.sh
 |-tmp
 | |-json-c-0.11-4.el7_0.x86_64.rpm

উত্স: @javasheriff থেকে মন্তব্য এখানে । এটি একটি মন্তব্য হিসাবে নিমজ্জিত এবং উত্তর হিসাবে এটি পোস্ট করা ব্যবহারকারীদের এটি সহজেই স্পট করতে সহায়তা করে।


পাইথন 3 এর জন্য আমি find . |grep -vE 'pyc|swp|__init' | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"ভালভাবে কাজ করতে পেলাম
প্যাট্রোকুইট

3

আমি @ হাসুর উত্তরের সাথে আউটপুটটি সুন্দর করে দিচ্ছি:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//──/g' -e 's/─/├/' -e '$s/├/└/'

এটি treeএখনকার ফলাফলের মতো :

.
├─pkcs11
├─pki
├───ca-trust
├─────extracted
├───────java
├───────openssl
├───────pem
├─────source
├───────anchors
├─profile.d
└─ssh

আপনি এর একটি নামও তৈরি করতে পারেন:

alias ltree=$'ls -R | grep ":$" | sed -e \'s/:$//\' -e \'s/[^-][^\/]*\//──/g\' -e \'s/─/├/\' -e \'$s/├/└/\''

বিটিডাব্লু, treeকিছু পরিবেশে যেমন মিনজিডব্লিউ উপলব্ধ নয়। সুতরাং বিকল্প সহায়ক।


উইন্ডোতে গিটব্যাশ শেষ প্রকাশটি পছন্দ করে না, এটি বলে যে এটি সমাপ্ত নয়
লিওস লিটারাক

2

ডিরেক্টরি ট্রি মুদ্রণের জন্য আপনি ফাইন্ড এবং অ্যাডক কমান্ডের সংমিশ্রণটিও ব্যবহার করতে পারেন। বিশদগুলির জন্য, দয়া করে " লিনাক্স ফাইন্ড এবং অ্যাডক মিলিত কমান্ডগুলি ব্যবহার করে মাল্টিলেভেল ট্রি ডিরেক্টরি কাঠামো কীভাবে প্রিন্ট করবেন " দেখুন

find . -type d | awk -F'/' '{ 
depth=3;
offset=2;
str="|  ";
path="";
if(NF >= 2 && NF < depth + offset) {
    while(offset < NF) {
        path = path "|  ";
        offset ++;
    }
    print path "|-- "$NF;
}}'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.