কিছু লিনাক্স টার্মিনাল কমান্ডের এই চিহ্নগুলির অর্থ কী? [বন্ধ]


12

আসকউবুন্টুতে, আমি চারপাশে কয়েকটি কমান্ড দেখেছি যেগুলি দেখতে বেশ জটিল এবং সেগুলিতে প্রচুর চিহ্ন রয়েছে। এই কমান্ডগুলি কীভাবে তৈরি করা হয়েছে সে সম্পর্কে আরও ভালভাবে বুঝতে, আমি প্রতীকগুলি কীসের জন্য দাঁড়াচ্ছে তা জানতে চাই।

উদাহরণ স্বরূপ:

find ~/ -name \*.c -exec sed -i "s/cybernetnews/cybernet/g" {} \;

বা আরও জটিল:

echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"

আমি খুব ভাল করে যোগ পরামিতি বুঝতে যেমন -c, --debugপ্রধান commmand নির্দিষ্ট প্রভাব আছে। এর অর্থ manপৃষ্ঠাগুলিতে সন্ধান করা প্রায় সকল ক্ষেত্রেই রয়েছে , সুতরাং এটি আমি যা খুঁজছি তা সত্যিই নয়।

দয়া করে, আমি যে উদাহরণগুলি দিয়েছি তা ব্যাখ্যা করার পরিবর্তে প্রতীকগুলি বিশেষত কী করে তা সংজ্ঞায়িত করার জন্য আপনার উত্তরে চেষ্টা করুন। এটি দেখতে এইরকম হতে পারে:

" means 'argument': the main command uses anything within these symbols as its source
^ is used for ...
# is used for ...

আগাম ধন্যবাদ


আমি যে কমান্ড উপর নির্ভর করে মনে -c -Dকমান্ড 1 কিছু কমান্ড 2. একটি একদম ভিন্ন জিনিস মানে হতে পারে
উরি হেরেরা

আরে আপনি প্রথম কমান্ড পরিবর্তন করেছেন? সম্পাদনাটি কোথায়: এক্স
রিনজুইন্ড

আমি 1 ম মন্তব্যটি পরিবর্তন করেছি, কারণ এটি অ-তথ্যমূলক স্টাফটি ধারণ করে। আমি যতটা সম্ভব আপেক্ষিক উদাহরণগুলি দেখাতে চাই। আমি এটির জন্য উপযুক্ত বিভাগে একটি সম্পাদনা মন্তব্য করেছি। -সি-ডি স্টাফের জন্য ধন্যবাদ, আমি এটি পেয়েছি। আমি প্রশ্ন আপডেট।
এক্সিলারেশন-জি

উত্তর:


14

দেখুন ব্যাশ রেফারেন্স ম্যানুয়াল নামক অধ্যায় শেল-অপারেশন এবং উন্নত ব্যাশ-স্ক্রিপ্টিং গাইড অধ্যায় 3 (বিশেষ অক্ষর)

উবুন্টু / লিনাক্সে শেল স্ক্রিপ্টিং সম্পর্কে আমার যে কোনও সময় নতুন কিছু শিখতে হবে তাদের আমি উল্লেখ করি।

আমি মনে করি আপনি ABS অধ্যায় 3 আপনার উদ্দেশ্য নেভিগেট করার জন্য সবচেয়ে সহজ পাবেন। সমস্ত চিহ্নগুলি পৃষ্ঠার ডানদিকে বাম দিকে তত্ক্ষণাত তার বিবরণ সহ দেখা যাবে।


অ্যাডভান্সড ব্যাশ-স্ক্রিপ্টিং গাইড - অধ্যায় 3 দুর্দান্ত। ধন্যবাদ।
এক্সিলারেশন-জি

উন্নত বাশ-স্ক্রিপ্টিং গাইডের 3 অধ্যায়ে তালিকাটি অসম্পূর্ণ এবং আংশিক ভুল is অ্যাডভান্সড ব্যাশ স্ক্রিপ্টিং গাইড বাশ শেখার পক্ষে ভাল উত্স নয়। পরিবর্তে mywiki.wooledge.org/BashGuide এবং mywiki.wooledge.org/BashFAQ দেখুন ।
গিরিহা

@ গিরিহা আমি এবিএসকে খুব সহায়ক বলে মনে করেছি, তবে একটি নির্দিষ্ট কমান্ডের প্রতীকগুলির জন্য আমি তার পরিবর্তে ম্যান পৃষ্ঠাগুলি দেখতে চাই এবং আপনার লিঙ্কগুলিও দুর্দান্ত - বুকমার্কড। ধন্যবাদ।
সল্টডন

7

দুর্ভাগ্যক্রমে আপনাকে ম্যান পৃষ্ঠাগুলিতে যেতে হবে, কারণ কোন চিহ্নটি পড়ছে তার উপর নির্ভর করে "চিহ্নগুলি" এর বিভিন্ন অর্থ হতে পারে।

উদাহরণস্বরূপ, আপনার প্রথম কমান্ডে, {} এবং \ এর অর্থ; ফাইন্ড কমান্ডের উপর নির্ভর করে (ম্যান সন্ধান)। সেডের পক্ষে আর্গুমেন্টের উদ্ধৃতিগুলির অর্থ দুটি সেড বা ব্যাশের উপর নির্ভরশীল (এটি একটি উদ্ধৃত প্যারামিটার হিসাবে এটি সম্ভবত শেল জিনিস হতে পারে)। ~ / অবশ্যই একটি বাশ প্যাটার্ন সম্প্রসারণ জিনিস।

দ্বিতীয় জটিল কমান্ডের জন্য, এটি বেশিরভাগ ক্ষেত্রে প্রতিধ্বনিত হয়, সুতরাং আপনি বাশের ম্যান পৃষ্ঠাতে সর্বাধিক তথ্য খুঁজে পাবেন।

এটিতে আপনার মন্তব্যের জবাব দিতে, পুনঃনির্দেশ অক্ষর> <| ফাইলগুলি থেকে এবং এর মধ্যে ফাইলগুলি (চিহ্নগুলির চেয়ে আরও বৃহত্তর এবং কম) পাইপ করতে এবং কমান্ডের আউটপুটটিকে অন্যের ইনপুট (পাইপ |) এর সাথে সংযোগ করতে ব্যবহৃত হয়। আই / ও পুনঃনির্দেশের উপর একটি সুন্দর টিউটোরিয়ালের জন্য এখানে দেখুন , এটি ইউনিক্স শেল এবং টুলসেটের একটি খুব শক্তিশালী নকশা বৈশিষ্ট্য।


ঠিক আছে, এবং কি সম্পর্কে >? এটি একটি চিহ্ন যা আমি প্রায়শই দেখতে পাচ্ছি, আমি ভেবেছিলাম এটির অর্থ 'অনুলিপি' বা অন্য কিছু। এটিও কি এক আদেশ-নির্ভর?
এক্সিলারেশন-জি

1
@ এক্সিলারেশন-জি mywiki.wooledge.org/BashGuide/
ইনপুটআউটপুট#

3

ফাইল শেষ করার জন্য 1 ম এক অনুসন্ধান .cডিরেক্টরির মধ্যে থেকে ~/এবং executes sed(প্রবাহরেখা সম্পাদক) যেখানে sed sজন্য earches cybernetnewsএবং সেটিকে পরিবর্তন cybernet

দ্বিতীয়টি আমাকে বাদ দেয় ... মৃত্যুদন্ড কার্যকর করার সময় একটি খালি ফলাফল দেখায়।


এটি খুব সম্ভবত সম্ভব, কারণ এটি এখানে অন্য একটি প্রশ্ন থেকে নেওয়া হয়েছে। প্রসঙ্গ ছাড়া এটি সম্ভবত কিছুই করে না does
এক্সিলারেশন-জি

2

টার্মিনাল কমান্ড শেখার জন্য আমি যে উত্সটি পেয়েছি তা হ'ল লিনাক্সকম্যান্ড , এটি সর্বাধিক ব্যবহৃত কমান্ডের বিশদ বিবরণ দেয়।


খারাপ লিঙ্ক, আপডেট বা মুছুন দয়া করে।
ফ্লাইংড্রাইফটার

2

আপনি জটিল কমান্ডগুলি আটকানোর সাথে সাথে আপনাকে প্রতীকগুলির পুরো অর্থটি বলা শক্ত।

বিশেষত প্রতিধ্বনি।

মানুষের জন্য প্রতিধ্বনি দেখুন, এটি পালাতে সক্ষম করে তোলে, সুতরাং আরও দেরিতে পালানো।

অন্যান্য চিহ্নগুলির বেশিরভাগটি হ'ল স্ট্রিং ম্যানিপুলেশন।

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

i=foo;echo $i
foo

তবে এটি আরও জটিল হয়ে ওঠে যদি আপনার পরিবর্তনশীল, $ i, এছাড়াও স্ট্রিংয়ের একটি অংশ হয়

echo $ibar # Note: no output

echo ${i}bar # we have output
foobar

এখন আপনি পাশাপাশি স্ট্রিংগুলিও পরিচালনা করতে পারেন, কেবল একটি অংশ মুদ্রণ করতে পারেন

আপনার ক্ষেত্রে

$ {i # * =} = মুদ্রণ $ i, * এবং = এর মধ্যে সংক্ষিপ্ততম স্ট্রিপ আউট, তবে * নিজেই একটি ওয়াইল্ডকার্ড ..

echo ${i#o}
foo

echo ${i#*o}
o

Http://tldp.org/LDP/abs/html/string-manipulation.html দেখুন

এরপরে আমরা একটি সাব শেল আঘাত করলাম (x ...)

বাশ সাব শেলের কমান্ডগুলি প্রক্রিয়া করবে এবং কমান্ডগুলির আউটপুট ফিরিয়ে দেবে।

x = (i এর একটি সাব স্ট্রিং); অবিরত

এখন আমাদের একটি পরীক্ষা আছে, ["$ {! X}"]

দেখুন: http://tldp.org/LDP/abs/html/testconstructs.html

আর এখানেই আমি আপনাকে আর বলতে পারি না।

ব্যাশে, $ {! X একটি খালি স্ট্রিং হতে চলেছে। && == যৌক্তিক এবং || যৌক্তিক বা

পরীক্ষা {খালি স্ট্রিং} এবং ফাঁকা স্ট্রিং বা প্রতিধ্বনি এক্স প্রতিধ্বনি

আপনাকে আরও সিনট্যাক্স দিতে হবে, তবে এটি প্রদর্শিত হচ্ছে যে প্রতিধ্বনিটি কোথাও এটির আউটপুট পাইপ করছে।

আবার [] একটি পরীক্ষা, এবং আমরা একটি [একেবারে শুরুতে) পালিয়ে এসেছি।

প্রতিধ্বনি যা করছে তা আমি কেবল তাই ব্যাখ্যা করতে পারি।

আপনি যখন টার্মিনালে ইকো কমান্ডটি প্রবেশ করেন তখন কোনও আউটপুট না থাকার কারণ এটি কোডের স্নিপিট, ডিফল্টরূপে x বা i সংজ্ঞায়িত হয় না, সুতরাং সমস্ত আউটপুট খালি থাকে।


1

নির্দিষ্ট ভাষায় প্রতীক সম্পর্কে প্রশ্নের জন্য, আপনি সিম্বলহাউন্ড চেষ্টা করতে চাইতে পারেন গুগল খুঁজে পায় না এমন চরিত্রগুলির জন্য আপনি ওয়েবটি অনুসন্ধান করতে পারেন।

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