লিনাক্স - ফাইল তালিকাভুক্ত করার আদেশ (ls ব্যতীত)


27

কল্পনা করুন আপনি কোনও সিস্টেমে কাজ করছেন এবং কেউ দুর্ঘটনাক্রমে lsকমান্ড ( /bin/ls) মুছে ফেলেছে । আপনি কীভাবে বর্তমান ডিরেক্টরিতে ফাইলগুলির একটি তালিকা পেতে পারেন? চেষ্টা করে দেখুন

আমি অনেকগুলি পদ্ধতি চেষ্টা করেছিলাম এবং ইন্টারনেটেও অনুসন্ধান করেছি কিন্তু কিছুই না। আমি lsকমান্ডের পাশে জানতে চাই যে সমস্ত ফাইল তালিকাভুক্ত করতে আমরা কোন আদেশ ব্যবহার করতে পারি।

উত্তর:


35
echo *

... বোর্ন সামঞ্জস্যপূর্ণ শেলগুলিতে ফাইল গ্লোব্বিংয়ের মাধ্যমে বর্তমান ফোল্ডারে ফাইলগুলি প্রদর্শিত হবে।

এটি সমস্ত ফাইলকে এক স্তরের নীচে তালিকাবদ্ধ করে:

echo */*

বাশ-এ, যদি গ্লোবস্টার সেট করা থাকে (এর সাথে সেট করা থাকে shopt -s globstar, এর সাথে সেট করা নেই shopt -u globstar), এটি সমস্ত ফাইলকে পুনরাবৃত্তভাবে তালিকাবদ্ধ করবে:

echo **

10
হোমওয়ার্ক ব্যায়ামের বাইরে, echo *অনুশীলনে কার্যকর, যখন আপনি আপনার সিস্টেমটি স্ক্রু তৈরি করে ফেলেছেন যাতে আপনি কোনও প্রোগ্রাম কার্যকর করতে না পারেন (যেমন আপনি মুছে ফেলেছেন libc.soবা ld.so) তবে আপনার এখনও চালিত শেল রয়েছে।
গিলস

3
Bash4 (আমার মনে হয়) এবং zsh এ echo **/*আপনিও এটি পুনরাবৃত্তভাবে করতে ব্যবহার করতে পারেন ।
রিড

@ রিড: পরীক্ষা হবে। ভাল লাগছে।
0xC0000022L

ভাল, @ গিলস। পুরানো ডিইসি সিস্টেমগুলি থেকে শিখেছি যেগুলি 'বুড়ো' এবং 'এলএস' ফাংশনগুলি তৈরি করতে প্রয়োজনীয় কিছু বুট শর্ত এবং বুট স্ক্রিপ্টগুলিতে / usr বা / বিনের অ্যাক্সেস করতে পারে না।
আর্জেজ

1
সুন্দর, আমি প্রথম ee.ryerson.ca/~elf/hack/recovery.html- এর
মার্ক

23
find -maxdepth 1 
find -maxdepth 1 -ls

কম TAB TAB

সন্ধানকারী-এলএস স্যুইচটি / বিন / এলএস থেকে স্বতন্ত্র এবং এর নিজস্ব ফর্ম্যাট রয়েছে এবং বিশদ তথ্য প্রদর্শন করে:

127432    0 drwxr-xr-x   2 stefan   stefan         48 Apr  8 22:51 ./temp/falsch/.hiddenfalsch
127447    0 lrwxrwxrwx   1 stefan   stefan          9 Apr  8 22:51 ./temp/falsch/linkfalsch -> subfalsch
127427    0 drwxr-xr-x   2 stefan   stefan         48 Apr  8 22:51 ./temp/.hiddenmusik

অন্য, সম্ভাবনা দেখাচ্ছে বিশদ, হয় stat

stat *
  File: `halx0o'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 807h/2055d  Inode: 102701      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  stefan)   Gid: ( 1000/  stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2009-07-23 03:16:15.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200
  File: `ho ho ho'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 807h/2055d  Inode: 115835      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  stefan)   Gid: ( 1000/  stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2010-07-24 14:12:48.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200

10

এটিকে দেখতে দেখতে lsআমি বাশের forলুপটি ব্যবহার করব :

for i in *; do echo $i; done

যদি এটি কাজ না করে, আমি পাইথনটি চেষ্টা করব ;):

python -c "import glob; print '\n'.join(glob.glob('/home/*'))"

import glob; print '\n'.join(glob.glob('/home/*'))ঠিক পাশাপাশি কাজ করবে।
06

6

ভাল ওল 'ভিম;) (বাছাই, ব্রাউজিং ইত্যাদি সহ)

vim .

6
find .

যদিও আপনি সম্ভবত আপনার সীমাবদ্ধ পরামিতিগুলির যে কোনও প্রবেশ করতে চান।


3

lsattr ./*

getfacl ./* অনুমতিগুলিও প্রদর্শন করবে

grep -l '.*' ./*

awk 'FNR==1 {print FILENAME}' ./* জিএনইউ অ্যাজকের সাথে কাজ করে

debugfs /dev/sdX আপনি যে ll পার্টিশন করতে চান তার সাথে sdX প্রতিস্থাপন করুন, তারপরে আপনি ডিবাগ-এর ভিতরে ls করতে পারেন

debugfs:  cd /
debugfs:  ls -l
      2   40755 (2)      0      0    4096  6-Apr-2011 01:01 .
      2   40755 (2)      0      0    4096  6-Apr-2011 01:01 ..
     11   40700 (2)      0      0   16384  5-Jul-2010 09:59 lost+found
 2392065   40755 (2)      0      0    4096  5-Jul-2010 09:59 boot
 2228225   40755 (2)      0      0    4096  5-Jul-2010 09:59 sys
 1376257   40755 (2)      0      0    4096  5-Jul-2010 09:59 proc
 4915201   40755 (2)      0      0    4096  5-Jul-2010 09:59 dev
 3473409   40755 (2)      0      0   12288 10-Apr-2011 22:05 etc
  98305  100644 (1)      0      0       0  6-Jul-2010 12:05 .autofsck
 3342337   40755 (2)      0      0    4096  5-Apr-2011 15:05 var
 3932161   41777 (2)      0      0    4096 10-Apr-2011 22:11 tmp
  ..........
debugfs:  

lynx ./

mc ধরে নিচ্ছি আপনি মাঝরাতে কমান্ডার ইনস্টল করেছেন


3

অনুরূপ echoসংস্করণ, কিন্তু বৃহত্তর পাঠযোগ্যতা জন্য প্রতি লাইনে একটি এন্ট্রি এই কপি করে প্রিন্ট:

printf %s\\n ./*

অথবা

printf '%s\n' ./*

পুনরাবৃত্তির সাথে (ব্যাশ 4+ এর জন্য; অন্যান্য শাঁসগুলির এটির জন্য আলাদা বিকল্পের প্রয়োজন হয় অথবা গ্লোবস্টারটি ডিফল্টরূপে সক্ষম করা আছে):

shopt -s globstar
printf %s\\n ./**/*

'/ *' এর দরকার নেই, **যদি globstarএকটি সেট সেট করা থাকে তবে সমস্ত ডিরেক্টরিতে একটি সাধারণ পুনরাবৃত্তি হবে । শুধু পরিবর্তন printf '%s' **


1

আচ্ছা আমি যদি ইমাসের শেল মোডের মধ্যে এলএস ব্যবহার করতে না পারি তবে আমি এসেল মোডে বা কেবল একটি ক্লান্ত হয়ে যেতে পারি।


1

আমার যদি বাশ শেল শুরু হয়ে থাকে (বা অন্য কোনও শেল সম্পূর্ণ হওয়ার সাথে), আমি সম্ভবত '*' টাইপ করব তারপরে ট্যাব।

অথবা আমি সাধারণত এক্স শুরু করেছি, আমি কেবল 'নটিলাস'ও করতে পারি, তবে ঠিক এটি মানুষের পক্ষে।

আমি / usr / বিন / lsattr চেষ্টা করতে পারেন

তবে বাস্তব বিশ্বে আমার কাছে যদি এমন ঘটনা ঘটে থাকে তবে আমি সত্যই কী করব :

sudo apt-get install --reinstall coreutils

1

বাশ, বা অনুরূপ ট্যাব-সমাপ্তি সহ একটি শেলটিতে আপনাকে কোনও আসল কমান্ড ব্যবহার করার দরকার নেই: wibbleদুটি ট্যাব অনুসরণ করে আপনি বর্তমান ডিরেক্টরিতে ফাইলগুলির একটি তালিকা পাবেন এবং wibble /bin/দুটি ট্যাব আপনাকে অনুসরণ করবে তা আপনাকে দেখাবে / বিন এর বাম আমি একবার নিজেকে এই পরিস্থিতিতে পেয়েছি (আসলে, আমি কিছু অন্যান্য জিনিস সহ পুরোপুরি বিন / হত্যা করেছি), এবং echo *@ STATUS_ACCESS_DENIED প্রস্তাবিত পদ্ধতির ব্যবহার শুরু করেছিলাম, তবে শেষ পর্যন্ত ট্যাব সমাপ্তি আরও সুবিধাজনক বলে খুঁজে পেয়েছি।


0

সঙ্গে আরেকটি উপায় tree, যে কোন জায়গায় এখানে যাও recursively উল্লেখ না, এটা যায় এবং অসদৃশ সন্ধান করতে বা ম আপনি কোনো ত্রুটি (যেমন: না Permission denied, Not a directory) আপনার কাছে ক্ষেত্রে সুনির্দিষ্ট পাথ পেতে আপনাকে ফাইল ভোজন করতে চান xargsবা অন্যান্য কমান্ড

tree -fai /pathYouWantToList >listOfFiles.list

বিকল্পগুলির অর্থ:

-a     All  files  are  printed.  By default tree does not print hidden files (those beginning with a dot
       `.').  In no event does tree print the file system constructs `.'  (current  directory)  and  `..'
       (previous directory).

-i     Makes tree not print the indentation lines, useful when used in conjunction with the -f option.

-f     Prints the full path prefix for each file.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.