আপনি যখন "কম" পেয়েছেন তখন কি "ক্যাট" ব্যবহার করার কোনও কারণ আছে?


59

আমি catফাইল দেখতে ব্যবহার করতাম । তারপরে আমি শিখেছি যে lessএটি সাধারণত আরও ভাল এবং যদি ফাইলটি কয়েক ডজন সারির চেয়ে দীর্ঘ হয় তবে তা অবশ্যই আবশ্যক।

আমার প্রশ্ন: এর catপরিবর্তে কখনও ব্যবহার করার কোনও কারণ আছে less? এর catচেয়ে আরও ভাল সমাধানের কোন পরিস্থিতি কি আছে ?


17
lessএবং catবিভিন্ন সমস্যার সমাধান করুন এবং তারা তাদের নিজস্ব ডোমেনের ক্ষেত্রে একে অপরের চেয়ে ভাল
ডেভিড হেফারনান

2
আমি কেবল catএর lessপরে আউটপুট পাইপ করতে ব্যবহার করি ।
FUZxxl

1
আমি প্রায়ই ব্যবহার catকনসোলে খুব স্বল্প ফাইল প্রিন্ট করতে, ফাইল /procএবং /sysখুব ভাল ক্যান্ডিডেট। এইভাবে আমি একসাথে একাধিক ফাইলের সামগ্রী দেখতে পাচ্ছি।
ফিউমুরমেল

উত্তর:


20

আমি ব্যক্তিগতভাবে viewস্থিতিশীল সামগ্রী বা tail -fগতিশীল সামগ্রীর জন্য পছন্দ করি ।

যদিও এটি আপনার প্রশ্নের উত্তর দেয় না। একটি কথা আছে "আপনার কম থাকলে কেন বেশি ব্যবহার করুন" ;-)

তবে এমন কিছু ক্ষেত্রে রয়েছে যেখানে আমি বিড়ালকে কম পছন্দ করি: আমি সাধারণত এক্স 11-উইন্ডো নিয়ে কাজ করি। এই উইন্ডোগুলির একটি স্ক্রোল-বাফার রয়েছে যা কয়েকশ লাইনে সেট করা যেতে পারে।

কিছু করার catজন্য - আসুন 200 লাইন বলুন এবং তারপরে স্ক্রোল-বারের সাহায্যে মাউস ব্যবহার করা আমার পক্ষে lessএই ক্ষেত্রে ব্যবহার করার চেয়ে বেশি আরামদায়ক ।


4
দ্বারা viewআপনি স্বাভাবিক মানে vim -R, অথবা আপনি এই নামের অন্য কিছু আছে?
manatwork

না - কেবলমাত্র পঠন-মোডে vi (বা vim)। CentOS ডিফল্টরূপে উপন্যাসটি সেট করে। সুরক্ষিত ডিরেক্টরিতে কোনও ফাইল দেখার সময় এটি এইডসকে ট্রিগার করবে না।
নিলস

2
less +Fকি tail -fকরে।
কিংবদন্তি 2 কে

2
আসলে, viewএকটি উপনাম নয়; এটি একটি লিঙ্ক (থেকে viবা vim)। viদেখে মনে হচ্ছে এ argv[0]যখন এটা শুরু হয় (তা দেখতে নাম নীচে প্রার্থনা করা হয়েছে) এবং যদি যে viewবা rview, এটা সেট শুধুমাত্র পাঠযোগ্য মোড (যেন আপনার দ্বারা টাইপ করা ছিল vim -R)।
জি ম্যান

91

যদিও উভয় আদেশই আপনাকে কোনও ফাইলের সামগ্রী দেখতে দেয় তবে তাদের আসল উদ্দেশ্যগুলি একেবারেই আলাদা।

কম আরও বেশি ক্ষমতা সীমা । পরেরটি একবারে স্ক্রিনফুল এক ফাইলের সামগ্রী দেখতে তৈরি করা হয়েছিল। কম পিছনে গতিবিধি এবং আরও ভাল মেমরি পরিচালনার মতো বৈশিষ্ট্য যুক্ত করে (প্রথম লাইনগুলি দেখার আগে পুরো ফাইলটি পড়ার দরকার নেই)।

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

আপনার প্রশ্নের পিছনে, বিড়ালটিকে একটি স্বায়ত্তশাসিত স্ক্রিপ্টে অগ্রাধিকার দেওয়া হবে যাতে ফাইলগুলি কোনও মিথস্ক্রিয়া ছাড়াই পুরোপুরি (বা কনটেটেটেড) পড়তে হয়। ফাইল দেখার ক্ষেত্রে, আমি মনে করি এটি আরও স্বাদের প্রশ্ন।


4
lessসর্বদা ফাইলের মধ্যে অনুসন্ধান করার অনুমতি দেয়, যা catনা।
বার্নহার্ড

@ বার্নহার্ড: বিড়ালের আউটপুট নিয়ে গ্রেপ করার কথা?
ব্যবহারকারী 3527975

23

আমি catযখন ফাইলের কোনও কিছুর উপর ভিত্তি করে একটি কমান্ড টাইপ করতে চাই তখন আমি সাধারণত ব্যবহার করি। catশেল প্রম্পটে অ্যাক্সেস থাকা অবস্থায় আপনি ফাইলটি দেখতে (এটি যদি এটি ছোট হয়) দেখতে আরও সুবিধাজনক। এটি পাইপ আস্তরণের জন্যও অনুমতি দেয়।


3
একটি ফাইলের জন্য, স্ট্যান্ডার্ড ইনপুট পুনর্নির্দেশ করাও সম্ভব এবং প্রায়শই পছন্দনীয়।
এপ্রোগ্রামার

17
এমন কোনও পরিস্থিতি আছে যেখানে বিড়াল একটি আরও ভাল সমাধান?

আপনি যখন আরও একটি ফাইলের সাথে ডিল করছেন এবং সেগুলি মনস্থ করতে চান।

ম্যান পৃষ্ঠা থেকে:

cat f - g
        Output f's contents, then standard input, then g's contents.

15

এমন লোকেরা আছেন যারা হিংস্রতার সাথে তর্ক করেন যে এর একমাত্র উদ্দেশ্য catহ'ল বিড়ালকে এনটেইট করা ফাইল। অন্যান্য প্রতিটি ব্যবহারের জন্য, more(বা less) রয়েছে।

তবে এটি একটি গুরুত্বপূর্ণ বিষয়টিকে বিবেচনায় নিতে ব্যর্থ: catটাইপ করতে গেলে একটি চরিত্র কম। আমি এই কমান্ডগুলি প্রায়শই ব্যবহার করি যে একটি অক্ষর কম হ'ল নন-ব্রেইনার।

আরেকটি কারণ হ'ল আপনি যখন ফাইল তৈরি করতে চান। আমি প্রায়শই ওয়েব থেকে পাঠ্যকে এই জাতীয় কোনও ফাইলে অনুলিপি করি (কমান্ড প্রম্পট দেখানো হয়):

$ cat > filename
<Cmd-V>
<Ctrl-D>
$

এটি হ'ল আমি filenameলেখার অ্যাক্সেসের জন্য একটি ফাইল খুলি , সামগ্রীটি আটকান এবং Ctrl- চাপ দিয়ে স্ট্রিমটি বন্ধ করি D। না lessতা moreকরতে পারে না এবং এটি সম্পাদক খোলার চেয়ে দ্রুত।


4
আপনি যদি শেল হিসাবে zsh ব্যবহার করেন, আপনি এটি সেট আপ করতে পারেন যাতে $<filename( $প্রম্পটটি কোথায় ) স্ট্রিনের সাথে সংযুক্ত $ PAGER কে আহ্বান জানায় filename। এটি টাইপ করার চেয়ে আরও কম অক্ষর cat
কেভিন ক্যাথকার্ট

@ কেভিন জেনে ভাল লাগল তবে আমি একজন ব্যাশ ব্যবহারকারী।
কনরাড রুডল্ফ

2
ম্যাক ওএস এক্সে আমি ব্যবহার pbpaste > filenameকরি এবং আমি বিশ্বাস করি যে এক্স এর কিছু মিল রয়েছে। আমি এখনও catদ্রুত ফাইল তৈরির জন্য ব্যবহার করি , কেবল পেস্টিংয়ের জন্য নয়।
কোব্বল

@ কোবাল হেহে, আমি অন্য উদ্দেশ্যে pbcopy/ যদিও ব্যবহার করি তা সত্ত্বেও আমি কখনই এটি সম্পর্কে ভাবিনি pbpaste
কনরাড রুডলফ

1
এটি আসলে দুটি অক্ষরই কম - আপনাকে qপ্রস্থান করতে চাপতে হবে less: ডি
মার্টিন ভন উইট্টিচ


4

আমি ব্যবহার catকরতে grep(একাধিক) ফাইল।

cat <filename1> [<filename2> <filename3>] | grep -i "string of interest"

আমি জানি grepফাইলের নামগুলি সমর্থন করে, তবে আপনি যদি আলাদা অনুসন্ধানের পদগুলির জন্য একই ফাইলটি গ্রেপ করে থাকেন তবে কোনও কমান্ড সম্পাদনা করা যেখানে অনুসন্ধান শব্দটি লাইনের শেষ জিনিস যেখানে সহজ হয় তারপরে লাইনের মধ্য দিয়ে সিআরটিএল + তীর-কীটি ফিরে আসতে হয়।


4

cat একাধিক বাইনারি ফাইলকে একটি বড় হিসাবে সংযুক্ত করতে ব্যবহার করা যেতে পারে:

cat data.001 data.002 data.003 > bigdata.dat

3

আমি ব্যবহার করি less -FX, যা কোনও স্ক্রিনে কোনও ফাইল প্রদর্শিত হতে পারে lessএমন আচরণ catকরে। less(1)ম্যানপেজ থেকে :

-F or --quit-if-one-screen
       Causes less to automatically exit if the entire file can be dis-
       played on the first screen.

-X or --no-init
       Disables sending the termcap initialization and deinitialization
       strings  to  the  terminal.   This is sometimes desirable if the
       deinitialization string does something unnecessary, like  clear-
       ing the screen.

2

আমার ধারণা, এখন ইউনিক্স বৈকল্পিকের স্বচ্ছতার কারণে, অনেক লোককে তাদের সিস্টেমগুলি পরিচালনা করতে হবে না (একটি উদ্দীপনা সহ)। যখন জিনিসগুলি বাড়তিস্থানে চলে আসে আপনি কেবল পুনরায় বুট করতে এবং আপনার সিস্টেমে সীমাবদ্ধ পরিবেশ বলা যেতে পারে।

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


2

এবং lessসমস্ত জিএনইউ / লিনাক্স বিতরণে প্রাক ইনস্টলড নেই। (যেমন। জেন্টু) catসর্বত্র, সম্ভবত।


2

catপর্দায় থাকবে। সবকিছু lessঅদৃশ্য হয়ে যায়।

ভোলকার সিগেল দ্বারা / দ্বারা স্পষ্ট:

আউটপুট catপর্দায় থাকে। lessবন্ধ হওয়ার পরে অদৃশ্য হয়ে দেখানো সমস্ত কিছুই।


1

সুবিধাসমূহ বাড়ানোর ক্ষেত্রে একটি সমস্যা থাকতে পারে, যেমন 'কম' এর মধ্যে আপনি কোনও ফাইল সম্পাদনা করতে 'ভি' টিপতে পারেন বা '!' শেল কমান্ড প্রেরণ।

আপনি কিছু ব্যবহারকারীকে এমন কোনও ফাইল দেখার মঞ্জুরি দিতে চাইতে পারেন যা কেবলমাত্র সুপারভাইজার দ্বারা পঠিত হতে পারে, তবে সেই ব্যবহারকারীদের ফাইল সম্পাদনা করতে বা সাধারণভাবে সুপারভাইজার সুবিধাগুলি ব্যবহার করার অনুমতি দেয় না। আপনি এটিকে '/ etc / sudoers' সম্পাদনা করে 'সুডো / বিন / ক্যাট / ইত্যাদি / গুরুত্বপূর্ণ ফাইল' ব্যবহার করার অনুমতি দিতে পারেন। আপনি 'সুডো / ইউএসআর / বিন / কম / ইত্যাদি / গুরুত্বপূর্ণ ফাইল' অনুমতি দিতে চান না, কারণ তারা ফাইলটি সম্পাদনা করতে 'ভি' ব্যবহার করতে পারে, বা 'ব্যবহার করতে পারে!' সম্পূর্ণ সুপারসার সুবিধার সাথে একটি শেল চালু করতে।

অবশ্যই, ব্যবহারকারীরা 'সুডো / বিন / বিড়াল / ইত্যাদি / গুরুত্বপূর্ণ ফাইলটি ব্যবহার করতে পারেন সুরক্ষা ঝুঁকি ছাড়াই 'কম' এবং এখনও 'কম' ব্যবহার করুন।


1

দুটো আলাদা are lessএটি একটি অ-স্ট্যান্ডার্ড পেজার ( moreএটি স্ট্যান্ডার্ড এক), পাঠ্য দেখার জন্য ব্যবহৃত catহয় , যদিও এটি একটি স্ট্যান্ডার্ড ইউটিলিটি, যে কোনও ধরণের এবং ডেটা স্ট্রিমের সংখ্যাকে একত্রে সংযুক্ত করার জন্য ব্যবহৃত হয়।

কিছু পরিস্থিতিতে তারা একই কাজটি করতে পারে বলে মনে হতে পারে তবে তারপরে আবারও অন্যান্য উপযোগিতা রয়েছে does


0

সুবিধার জন্য. বিড়ালের 3 টি অক্ষর রয়েছে যখন কম / বেশি 4 টি অক্ষর থাকে। এবং টাইপ করা বিড়ালটি কেবল আপনার বাম হাতের প্রয়োজন।


1
কেন কেবল আপনার বাম হাত ব্যবহার করা একটি সুবিধা? আমি টার্মিনালে মাউস ব্যবহার করি না ...
বার্নহার্ড

0

পর্দার অক্ষরগুলি কীভাবে দেখানো যায় সে ক্ষেত্রে lessকী catকরতে পারে তা করতে পারে; এবং আরো অনেক কিছু.

কিন্তু সেখানে একটি খুব ভাল কিছু ক্ষেত্রে জন্য বিড়াল ব্যবহার করতে কারণ নেই
lessশুধু অত্যন্ত জটিল এটা খুবই সহজ সমস্যা নিক্ষেপ করা। আমার কাছে অনেকগুলি বিকল্প রয়েছে যা catম্যান পৃষ্ঠায় সম্পর্কিত সম্পর্কিতগুলি খুঁজে পাওয়া শক্ত ।


একটিতে ট্যাবগুলি দেখাতে চান Makefile?

ইন man cat, প্রথম বিকল্পটি হ'ল -A
বর্ণনা সহায়ক নয়: -vET
কিন্তু দীর্ঘ বিকল্প নাম একেবারে সঠিক ধ্বনি: --show-all

এবং cat -A Makefileআমার যা প্রয়োজন তা করে।


এখন, এটি জন্য যান less


0

পাইপ এবং ফাইলগুলি হিসাবে যদি আউটপুটটি টার্মিনাল (tty) না হয় তবে 'কম' এবং 'আরও' উভয়ই ঠিক 'বিড়াল' এর মতো কাজ করবে both

আমি মনে করি এটি নিরাপদ বলে মনে হয় যে আপনি যে কোনও ইউনিক্স-টাইপ সিস্টেমে 'বিড়াল' সর্বদা উপস্থিত থাকবেন। যে কোনও সিস্টেমে 'কম' এবং / বা 'বেশি' উপস্থিতি কম অনুমানযোগ্য।

সুতরাং স্ক্রিপ্টগুলিতে, আপনার যদি কেবল একটি পৃষ্ঠা-বিন্যাস অপারেশন প্রয়োজন হয় তবে ইউনিক্স-টাইপ সিস্টেমে আপনার স্ক্রিপ্টটি যেখানে ব্যবহৃত হবে সেখানে 'বিড়াল' অবশ্যই উপস্থিত রয়েছে।


1
ঠিক আছে, এটি moreসিঙ্গেল ইউনিক্স স্পেসিফিকেশন দ্বারা বাধ্যতামূলকভাবে দেখা যায় তা উপলব্ধি করা নিরাপদ ।
কুসালানন্দ

দুঃখজনকভাবে, যদিও এটি এর মতো আদেশ দেওয়া হতে পারে তবে আমার অভিজ্ঞতায় এটি সর্বদা উপস্থিত থাকে না। এটি লক্ষণীয় যে এখানে অনেকগুলি ইউনিক্স-মতো সিস্টেম রয়েছে যা ইউনিক্স বলে দাবি করে না। আমি মনে করি যে কেউ একজন lessবা একজন moreউপস্থিত থাকবেন এমন বিষয়ে যথেষ্ট আত্মবিশ্বাসী হতে পারে তবে আমি মনে করি যে কেউ একটি নির্দিষ্ট ব্যক্তিকে বিশ্বাস করতে পারে না, বা এটি একটি 'সত্য' বাস্তবায়নও হয় না ... প্রায়শই একজন একে অপরের সাথে বিচ্ছিন্ন হয়, কখনও কখনও তারা ' একটি ন্যূনতম লাইটওয়েট সংস্করণ।
ব্যবহারকারী 208007

-1

গ্রেপের মাধ্যমে বিড়ালকে পাইপ দেওয়া দরকারী:

cat <filename> | grep -i "string of interest"

4
grepযুক্তি হিসাবে কোনও ফাইলের নাম নেয় তা উল্লেখ না করে আপনি পুনর্নির্দেশ ব্যবহার করতে পারেন। পাইপ ব্যয়বহুল।
ক্রিস ডাউন

25
অভিনন্দন, আপনি 'বিড়ালের অকেজো ব্যবহার' পুরস্কার জিতেছেন!
ThatGraemeGuy

4
@ টিম কেনেডি - "যখন আপনি পেয়েছেন less" প্রশ্নের শিরোনামে রয়েছে ...
ক্রিস ডাউন

5
সম্মত। আমি নিয়মিত এটি করি। আমি যদি বিভিন্ন অনুসন্ধানের পদগুলির জন্য কোনও ফাইলকে একাধিকবার গ্রেপ করতে চাই তবে এটি আরও সহজ। গ্রেপ চায় grep [search term] [filename]তাই, আমি যদি টার্মিনালের ইতিহাস ব্যবহার করি তবে অনুসন্ধান শব্দটি সম্পাদনা করা আরও বেদনা। গ্রেপ-এ পাইপ দিয়ে, অনুসন্ধান শব্দটি লাইনের শেষ জিনিস এবং সম্পাদনা করা সহজ।
ভুয়া নাম

10
আপনি এখনও ব্যবহার না করেই চান ক্রমটি পেতে পারেন cat: < [filename] grep [search term]এবং < filename tail -n 1000 | grep pattern। পুনর্নির্দেশ কমান্ড লাইনের যে কোনও জায়গায় যেতে পারে।
ক্যামহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.