আমি কীভাবে কম কমান্ড ব্যবহার করে বা ম্যান পৃষ্ঠাগুলির মধ্যে লিনাক্স কমান্ড কার্যকর করব?


9

আমি সাধারণত পাইপ কমান্ড lsদিয়ে lessএকটি কমান্ড চালানো যখন এটি যেমন আমি একটি ফাইল জুড়ে আসা যে আমি মুছে দিতে তাই আমি কমান্ড প্রয়োগ চাই চাই পৃষ্ঠা সংখ্যা লাগিয়ে হয় চাই rm {filename}থাকাকালীন এখনো পৃষ্ঠা সংখ্যা লাগিয়ে। আমিও আশা করতে চাই যে ম্যান পেজগুলি বারণ করার সময় আমি একই পদ্ধতিটি ব্যবহার করতে পারি। না হলে কীভাবে আলাদা?

উত্তর:


8

আপনি !কম ব্যাং ( ) ব্যবহার করে কমান্ড লাইন অ্যাক্সেস করতে পারেন ।

সুতরাং উদাহরণস্বরূপ, যদি আপনি টাইপ করেন:

touch temp.txt
ls | less
!rm temp.txt

এবং temp.txt চলে উচিত।

সম্পাদনা: ডিফল্টরূপে মনে হয় মানুষ এখন পৃষ্ঠায় কম ব্যবহার করে (কোনও কারণে আমি ভেবেছিলাম এটি ব্যবহার করা হয়েছিল more, সম্ভবত অতীতেও এটি হয়েছিল)। আপনি একই কৌশলটি ব্যবহার করতে পারেন তবে এটির কাজটি চালানোর জন্য এটি পুরো পাথ (যেমন। / হোম / ব্যবহারকারী / ...) প্রয়োজন।

এর কারণ হল আমন্ত্রণকারী লোকটি বর্তমান ওয়ার্কিং ডিরেক্টরিটি পরিবর্তন করে। আমার মেশিনে (xubuntu, ব্যবহার করে xfce-terminal) এটি যায় /usr/share/man। যদি আপনার কনসোল সিডাব্লুডি প্রদর্শন করে তবে আপনি এটি পরিবর্তন দেখতে পারেন বা এটি manপ্রবেশ করে এটি ভিতরে থেকে দেখতে পারেন :

!pwd

মানুষ আসলে সিডব্লিউডি পরিবর্তন করে, তাই আপনার পুরো পথটি ব্যবহার করা দরকার।
রব

@ রব - এর অর্থ কী man actually changes CWD?
চিনাবাদামমনেকি

আমার স্ট্যাটাস বারে আমার সিডাব্লুডি দেখাতে tmux সেট আপ করেছি। এরকম man man(অথবা কিছু) আমার CWD পরিবর্তন হবে যখন মানুষ খোলা আছে। আমার লিনাক্স মেশিনটি এই মুহুর্তে উপলভ্য নয় এবং আমি সিডাব্লুডি চেক করার অন্য কোনও উপায় সম্পর্কে নিশ্চিত নই, তবে আমার কাছে মনে হচ্ছে এটি এটি করছে like
রব

@ রব - সুতরাং আপনি বলতে চাইছেন যে আপনি কেবল টিএমউক্স ব্যবহার করছেন, আপনি যখন কমান্ডের অবস্থান man {command}থেকে কমান্ডটি চালাবেন তখন এটি বর্তমান কার্যক্ষম ডিরেক্টরি পরিবর্তন করে ? /home/{user}man
চিনাবাদামমনেকি

এটি আমি যে আচরণ দেখেছি তা ব্যাখ্যা করবে। এখন, কেন এটি সিডব্লিউডি পরিবর্তন হচ্ছে, এটি অন্য একটি প্রশ্ন ...
অ্যাশ

4

এটি করার সাধারণ উপায় হ'ল বর্তমান কাজটি স্থগিত করে, আদেশটি কার্যকর করে এবং পুরানো কাজটি আবার শুরু করা।

ls | less (পাঠ্য পড়ুন, ফাইলের নামটি লক্ষ্য করুন)
Control-zবর্তমান সক্রিয় কমান্ড স্থগিত করতে

আপনার এটির মতো একটি লাইন পাওয়া উচিত: [1]+ Stopped ls | less
([1] কাজের নম্বর।)

rm testfile

fgঅথবা fg %1 (1 টি চাকরির নম্বর)

আপনি একই সাথে একাধিক প্রক্রিয়া স্থগিত করতে পারেন। যেমন
ls | less
Control-z (output: [1]+ Stopped ls | less)
man rm
Control-z (output: [2]+ Stopped man rm)
rm -i testfile*

fg %1কাজ পুনরায় শুরু করতে 1 (পটভূমিতে ম্যান পৃষ্ঠাটি খোলা রেখে), বা
fg %2চাকরি পুনরায় শুরু করতে 2 (ম্যান আরএম)

আপনার যদি একাধিক স্থগিত প্রক্রিয়া থাকে তবে আপনি সেগুলি তালিকাভুক্ত করতে পারেন jobs

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