L কমান্ড কি করে?


19

lআমার মেশিনে একটি কমান্ড উপলব্ধ আছে যা কিছু করার জন্য প্রদর্শিত হয় না। which lকোন আউটপুট উত্পাদন করে। এটি কি আসল আদেশ, এবং এটি আসলে কিছু করে?

উত্তর:


20

lএকটি হল ওরফে জন্য ls -CF, যা প্লেইন থেকে ভিন্নভাবে আচরণ করবেls

-C

-Clsকলাম আকারে মুদ্রণ আউটপুট তোলে । যখন stdout একটি টার্মিনাল হয় (কোনও ফাইল বা নন-টার্মিনাল ডিভাইসে পুনর্নির্দেশ করার পরিবর্তে, বা অন্য কোনও কমান্ডে পাইপ করা হয়), অন্তর্ভুক্ত -Cথাকে। তাই দৌড়াদৌড়ি দৌড়ানোর ls -Cমতোই ls। পুনঃনির্দেশিত বা পাইপ দেওয়া হয় তবে এগুলি সমতুল্য নয়ls । উদাহরণ স্বরূপ:

ek@Kip:~/firefox$ ls
application.ini             libfreebl3.chk    libxpcom.so
blocklist.xml               libfreebl3.so     libxul.so
chrome                      libmozalloc.so    mozilla-xremote-client
chrome.manifest             libmozsqlite3.so  omni.ja
components                  libnspr4.so       platform.ini
crashreporter               libnss3.so        plugin-container

...

ek@Kip:~/firefox$ ls | less

application.ini
blocklist.xml
chrome
chrome.manifest
components
crashreporter

...

বিপরীতে, ls -C(বা -l) কী ধরণের ডিভাইস নির্বিশেষে কলাম ফর্মের আউটপুট দেয় stdoutls -C | lessশীর্ষ আউটপুট (তবে পেজযুক্ত lessঅবশ্যই) এর মতো দেখাচ্ছে।

-F

মধ্যে মূল প্রোফাইল পার্থক্য lsএবং lকারণে -Fপতাকা, যা ঘটায় lsএন্ট্রি এটা প্রদর্শনগুলিতে সিম্বলিক প্রত্যয় (ইন্ডিকেটর বলা হয়) সংযোজন করতে হবে। এই সূচকগুলি সনাক্ত করে যে তারা কোন ধরণের ফাইল বা ডিরেক্টরি।

এটি lsউপরের প্রথম কমান্ডের আউটপুটটির সাথে তুলনা করুন :

ek@Kip:~/firefox$ ls -F
application.ini             libfreebl3.chk     libxpcom.so*
blocklist.xml               libfreebl3.so*     libxul.so*
chrome/                     libmozalloc.so*    mozilla-xremote-client*
chrome.manifest             libmozsqlite3.so*  omni.ja
components/                 libnspr4.so*       platform.ini
crashreporter*              libnss3.so*        plugin-container*

...

এখানে:

  • / মানে এন্ট্রি একটি ডিরেক্টরি।
  • *মানে এন্ট্রিটি একটি সাধারণ ফাইল এবং এক্সিকিউটেবল (যেমন, এক্সিকিউটেবল অনুমতি রয়েছে )।
  • কোনও সূচকের অনুপস্থিতির অর্থ এন্ট্রি একটি সাধারণ ফাইল যা কার্যকর করা যায় না।

আরও কয়েকটি সূচক রয়েছে:

--classifyপতাকা ও --indicator-style=classifyহয় সমতুল্য -F

উত্স: জিএনইউ কোরিটিলস ম্যানুয়াল , বিভাগ 10.1.5 সাধারণ আউটপুট বিন্যাস

উপসংহার ইন, l( ls -CF) অনুরূপ কিন্তু না একই হিসাবে ls

এটি মনে রাখাও ভাল:

একই পাঠ্যটি নিয়মিত কমান্ড এবং একটি উপাধি উভয়ই হতে পারে।

এটি সাধারণত এমন বিকল্পগুলি নির্দিষ্ট করতে ব্যবহৃত হয় যা ব্যাপকভাবে অত্যন্ত কার্যকর এবং ক্ষতিকারক উভয়ই হিসাবে বিবেচিত হয়, যেমন স্বয়ংক্রিয় রঙিনকরণ (যেখানে রঙটি যখন stdoutপুনঃনির্দেশিত হয় বা টার্মিনাল হয় তখন রঙ প্রয়োগ করা হয় যাতে বর্ণগুলি বর্ণনার জন্য কার্যত গ্যারান্টিযুক্ত থাকে)।

এই নীতি দ্বারা, lsনিজেই একটি উপনাম।

ek@Kip:/$ alias ls
alias ls='ls --color=auto'

সুতরাং আপনি চালানোর সময় কি কমান্ড সত্যিই কার্যকর করা হয় l? এইটা:

/bin/ls --color=auto -CF
  1. শেল ( bash) কমান্ডগুলি সমাধান করে যেগুলিতে /উপস্থিত হওয়া প্রথম ম্যাচটিতে একটি নেই PATH, যা উবুন্টুতে lsরয়েছে /bin/ls
  2. এলিয়াসে এলিয়াস থাকতে পারে। এলিয়াস রেজোলিউশন পুনরাবৃত্ত হয় না (একটি উপাধি নিজে কল করতে পারে না, যদিও এটি একই নামযুক্ত একটি নিয়মিত কমান্ড কল করতে পারে)। তবে এটি বাসা বাঁধে সমর্থন করে

সুতরাং lসমাধান ls -CFযা সমাধান ls --color=auto -CF

উপকরণ পরিবর্তন করা যেতে পারে।

এই উপনামগুলি বিদ্যমান কারণ তারা সেগুলি ডিফল্টরূপে সেট আপ করেছে তবে প্রতিটি ব্যবহারকারী তাদের উপকরণ পরিবর্তন করতে পারে। দেখুন man alias, অধ্যায় 25 এবং পরিশিষ্ট এম উন্নত ব্যাশ-স্ক্রিপ্টিং গাইড, এবং আমার "ওরফে" এন্ট্রিগুলি সংরক্ষণ করতে সব সময় প্রবেশ করুন কিভাবে

সম্পর্কিত: বিভিন্ন রঙের এলএস মানে কী?


6

আসলে উভয় lsএবং lসমান

raja@badfox:~/Pictures$ l
des.png
Screenshot from 2012-09-22 19:37:03.png
Screenshot from 2012-09-22 19:37:11.png
Screenshot from 2012-09-22 19:37:12.png
Untitled.png
raja@badfox:~/Pictures$ ls
des.png
Screenshot from 2012-09-22 19:37:03.png
Screenshot from 2012-09-22 19:37:11.png
Screenshot from 2012-09-22 19:37:12.png
Untitled.png

এর অর্থ এখানে অন্তর্নির্মিত সিস্টেম উরফ রয়েছে means যদি আপনি দেখতে চান, আপনার টার্মিনালটি খুলুন এবং টাইপ করুন aliasতবে আপনি এর মতো আউটপুট পাবেন

raja@badfox:~/Pictures$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias lock='gnome-screensaver-command -l'
alias ls='ls --color=auto'
alias sms='php .sms.php'
raja@badfox:~/Pictures$ 

রহস্য সমাধান করা হয়েছে :)
আর্মান্ড

6
@ অ্যালিসন lএবং প্লেইন lsএক নয় - এগুলি কেবল সেই নির্দিষ্ট ফাইলগুলির জন্য একই আউটপুট উত্পাদন করতে ঘটেছে , যেহেতু কোনওটি ডিরেক্টরি, এক্সিকিউটেবল, সিমলিংক বা ডিভাইস নোড ছিল না (এবং স্ট্যান্ডার্ড আউটপুটটি টার্মিনাল ছিল)।
এলিয়াহ কাগান

আপনি দেখতে পাচ্ছেন, alias l='ls -CF'সুতরাং এটি একই নয়। এছাড়াও, আপনি যদি আরও সুসংগত আউটপুট পেতে চান তবে আপনি চালাতে পারেন alias l
wjandrea

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