Ls ওরফে কেবল লুকানো ফাইল (ডট ফাইল) দেখান


42

আমি কমান্ডটি ব্যবহার করছি

ls -a | grep '^\.'

শুধুমাত্র লুকানো ফাইলগুলি দেখানোর জন্য। আমি লাইন যুক্ত করেছি

alias hidden='ls -a | grep '^\.'' # show only hidden files

থেকে .bash_aliasesফাইল

কিন্তু এই কাজ করে না. এটি সম্ভবত 'চরিত্র নিয়ে সমস্যা ।

আপনি দয়া করে আমাকে সঠিক ওরফে লিখতে সাহায্য করতে পারেন?


আরও জটিল উদাহরণগুলির সাথে, আপনাকে খুব কমই একক থেকে ডাবল-কোটে স্যুইচ করতে হবে। একে অপরের বিপরীতে উদ্ধৃতিগুলি বাদ দিয়ে এটি করা যেতে পারে। এই উদাহরণস্বরূপ, এটি 'ls -a | grep '"'"'^\.'"'"'দেখতে ভয়ঙ্কর লাগবে (এবং এই উদাহরণটির জন্য এটি সম্পূর্ণ অপ্রয়োজনীয় কারণ আপনি কেবল জোড়া দুটির জন্য ডাবল-কোট সরিয়ে নিতে পারেন) তবে খুব বিরল অনুষ্ঠানে এটি কার্যকর। আপনি -Cপতাকাও চাইতে পারেন (বহু-কলাম আউটপুট জোর করে)। এই চিত্রটি দেখুন imgur.com/a/VIVFP
ডিলান

উত্তর:


26

হয় কোটের অভ্যন্তরীণ জোড়াটি ডাবল কোট করুন:

alias hidden='ls -a | grep "^\."'

অথবা বাইরের জোড়ের উদ্ধৃতিগুলিকে ডাবল কোট করুন:

alias hidden="ls -a | grep '^\.'"

বা সমস্ত উদ্ধৃতিগুলি ডাবল কোট করুন এবং অভ্যন্তরীণ জুটিটি এড়িয়ে চলুন:

alias hidden="ls -a | grep \"^\.\""

বা এটিকে একটি ফাংশন করুন, যাতে কল করার সময় আপনি কিছু যুক্তি পাস করতে পারেন:

hidden() { ls -a "$@" | grep '^\.'; }

90

শেলটির সাথে ডট ফাইলগুলি তালিকাবদ্ধ করুন এবং lsডিরেক্টরিগুলির মাধ্যমে দেখতে না বলুন :

ls -d .*

6
এটি grepবেস - ভিত্তিক পদ্ধতির বিপরীতে, বহু-কলামের তালিকা দেওয়ার অনুমতি দেওয়ার সুবিধা রয়েছে ।
anol

তবে ডিরেক্টরিগুলিও (যেমন উল্লেখ করা হয়েছে) প্রদর্শন করে। এটিকে সরল রাখার কোনও উপায় এবং কেবল ফাইলগুলি দেখানো?
honzajde

@ honzajde প্রশ্নটি ডিরেক্টরিগুলি বাদ দিতে বলেছে না। আপনি যদি ডিরেক্টরিগুলি বাদ দিতে চান তবে আপনি ব্যবহার করতে পারেন ls -d .* | grep -v '^d'(বা কেবলমাত্র zsh)print -lr .*(.)
গিলস 'খারাপ হওয়া বন্ধ করুন'

এটি আমার পক্ষে উবুন্টু 16.04
অ্যান্ড্রু_1510

9
ls -Ad .* #This will list all the hidden files & directories while retaining the color & formatting

অথবা

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

alias lh='ls -Ad .*'

অথবা

একই কাজটি গ্রেপ কমান্ড এবং পাইপ অপারেটরের মাধ্যমে করা যেতে পারে; তবে এটি রঙ এবং বিন্যাস আলগা হবে:

ls -a|grep "^\." 

অথবা

ওরফের মাধ্যমে:

alias lh='ls -a|grep "^\."'

4

আপনি ডাবল উদ্ধৃতি ব্যবহার করতে পারেন:

alias hidden="ls -a | grep '^\.'"

অথবা আরও একক উদ্ধৃতিযুক্ত স্ট্রিংগুলি যুক্ত করে তুলুন

alias hidden='ls -a | grep '\''^\.'\'

বা সমস্ত অভ্যন্তরীণ উদ্ধৃতিতে সরান

alias hidden='ls -a | grep ^\\.'

2

রেকর্ডটির জন্য এটি আমার সাথে কাজ করবে বলে মনে হয় না, যেহেতু ls -aদুটি মুদ্রণ করা হয় (কখনও কখনও আরও কলাম)। -1প্রতিটি ফাইলের নিজস্ব লাইনে রয়েছে তা নিশ্চিত করার জন্য আমি বিকল্পটি ব্যবহার করার পরামর্শ দেব । এটার মতো কিছু:

alias hidden='ls -a1 | grep "^\."'

আমি এটি চেষ্টা ls -a | catকরেছি এখনও 2 কলামে ফলাফল আউটপুট। আমার উল্লেখ করা উচিত আমি সোলারিস ব্যবহার করছি, জিএনইউ এলএস নয়। হতে পারে তাই। সব ক্ষেত্রেই আপনার -1সমাধানটি নিখুঁতভাবে কাজ করেছে এবং আমার হ্যাকিশ কাজের তুলনায় অনেক বেশি মার্জিত। আমি আমার উত্তর আপডেট করছি।
রাহমু

আমি সম্ভবত এই আলোচনাটি মিস করেছি, তবে কিছু ভুল হয়ে যায় কিনা তা এখানে দেখুন।
xralf

1

এটিকে কিছুটা জটিল করে তোলা, তবে পার্সিংls এড়ানো ।

llsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -ls; }

lsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -print; }

দুটি শেল ফাংশন findবর্তমান ডিরেক্টরিতে বা কমান্ড লাইনে প্রদত্ত ডিরেক্টরিতে থাকা সমস্ত লুকানো নিয়মিত ফাইলগুলির তালিকা তৈরি করতে ব্যবহার করবে ।

llshফাংশন উত্পন্ন করবে একটি "দীর্ঘ তালিকা" যা শুধুমাত্র সামান্য বেশি বাগাড়ম্বরপূর্ণ হতে হবে ls -l, যখন lshমত তালিকা একটি একক-কলাম উত্পন্ন ls -1


0
find . -type f -name ".*"

অথবা

find . -type f -name ".*" | while read file; do basename $file; done

ওহে! এটি কীভাবে কাজ করে তা বিশদ ব্যাখ্যা করে এবং কেন আপনার মতে এটি প্রশ্নের উত্তর দেয় তা উল্লেখ করে আপনি নিজের উত্তরকে উন্নত করতে পারেন।
ধাগ

0
# add it to ~/.bashrc

    hidden() {  # lists hidden files and directories
        find . -maxdepth 1 -name '.?*' -exec ls --color -d {} \;
        }

    hiddenfiles() { # lists hidden files
        find . -maxdepth 1 -type f -name '.?*' -exec ls --color -d {} \;
        }

    hiddendirs() { # lists directories
        find . -maxdepth 1 -type d -name '.?*' -exec ls --color -d {} \;
        }

-1

আপনার lsসমর্থন -A? থেকে man ls:

    -a, --all
          do not ignore entries starting with .

   -A, --almost-all
          do not list implied . and ..

$ ls --version
ls (GNU coreutils) 8.5
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  
Written by Richard M. Stallman and David MacKenzie.

হ্যাঁ, এটি হয় তবে আমি onlyলুকানো ফাইল চাইতাম ।
xralf

ls -A -1 -d -F .* | egrep -v '/$'
ওয়ালটিনেটর

-3

কেবল নীচের কমান্ডটি টাইপ করুন এবং উপরে বর্ণিত স্টাফগুলির সাথে বিভ্রান্ত করবেন না।

ls -A -1 -d -F .* | egrep -v '/$'

আমার মনে হয় ওপি কীভাবে একটি উপনামটি সঠিকভাবে লিখতে চেয়েছিল।
কাউন্টারমোড

1
এটি তার উত্তর সম্পর্কে ওয়ালটিনেটরের মন্তব্যের একটি অনুলিপি। এই উত্তরটি কার্যকর হওয়ার জন্য আপনাকে সেই নির্দিষ্ট lsপতাকা এবং egrepআদেশটি প্রশ্নের উত্তর কীভাবে এবং কেন দেওয়া উচিত তা ব্যাখ্যা করতে হবে ।
অ্যান্টনি জি - মনিকার পক্ষে ন্যায়বিচার

-3
ls -lart | sed -n "/ \.[A-Za-z0-9][A-Za-z0-9]*/p"

2
আপনি দয়া করে আপনার উত্তরটি পরিষ্কার করতে পারেন, কোডের একটি লাইন ভাল উত্তর হিসাবে গণনা করা হয় না
রোমিও নিনভ

প্রয়োজন অনুসারে তাকে কেবল লুকানো ফাইলের তালিকা তৈরি করতে হবে। সুতরাং আমার কাছে এলএস-অ্যালার্ট দ্বারা লুকানো ফাইল সহ সমস্ত ফাইলের তালিকা রয়েছে। তারপরে আমার কাছে সেই ফাইলগুলি বিন্দু (।) দিয়ে শুরু হওয়া ফাইলগুলি প্রদর্শন করতে ব্যবহার করতে হবে। আমি এই মত আউটপুট পেয়েছি।
শৈলেশ চন্দরিয়া

[g906016 @ hklu2574881: [পিটিএ] ~] s এলএস-অ্যালার্ট | সেড-এন "/ \। [এ-জা-জেড -00 -9] [এ-জা-জেড-০৯] * / পি" -আরউ-আর - r-- 1 জি 906016 জি 906016 658 ডিসেম্বর 2016। .zshrc -rw- r - r-- 1 g906016 g906016 171 Dec 29 2016 .kshrc -rw ------- 1 g906016 g906016 27 ডিসেম্বর 2016। কে 5 লগিন -আরউ-আর - r-- 1 g906016 g906016 176 ডিসেম্বর 2016। bash_profile -rw-R - r-- 1 g906016 g906016 18 ডিসেম্বর 29 2016 .bash_logout -rwxr-xr-x 1 g906016 g906016 0 ডিসেম্বর 29 2016 .dir_colors drwxr-X --- 3 g906016 g906016 4096 29 ডিসেম্বর 2016 .subversion
শৈলেশ চন্দরিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.