l
আমার মেশিনে একটি কমান্ড উপলব্ধ আছে যা কিছু করার জন্য প্রদর্শিত হয় না। which l
কোন আউটপুট উত্পাদন করে। এটি কি আসল আদেশ, এবং এটি আসলে কিছু করে?
l
আমার মেশিনে একটি কমান্ড উপলব্ধ আছে যা কিছু করার জন্য প্রদর্শিত হয় না। which l
কোন আউটপুট উত্পাদন করে। এটি কি আসল আদেশ, এবং এটি আসলে কিছু করে?
উত্তর:
l
একটি হল ওরফে জন্য ls -CF
, যা প্লেইন থেকে ভিন্নভাবে আচরণ করবেls
।
-C
-C
ls
কলাম আকারে মুদ্রণ আউটপুট তোলে । যখন 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
) কী ধরণের ডিভাইস নির্বিশেষে কলাম ফর্মের আউটপুট দেয় stdout
। ls -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*
...
এখানে:
/
মানে এন্ট্রি একটি ডিরেক্টরি।*
মানে এন্ট্রিটি একটি সাধারণ ফাইল এবং এক্সিকিউটেবল (যেমন, এক্সিকিউটেবল অনুমতি রয়েছে )।আরও কয়েকটি সূচক রয়েছে:
@
এর অর্থ এন্ট্রি একটি প্রতীকী লিঙ্ক (এটিও দেখুন man symlink
)।|
এর অর্থ এন্ট্রিটি একটি ফিফো ডিভাইস (মনে রাখবেন, ইউনিক্সের মতো ওএসের অনেকগুলি রিসোর্স ফাইল সিস্টেম এন্ট্রি দ্বারা প্রতিনিধিত্ব করা হয় )।=
মানে এন্ট্রি একটি হল সকেট ।>
মানে প্রবেশ একটি দরজা ।--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
bash
) কমান্ডগুলি সমাধান করে যেগুলিতে /
উপস্থিত হওয়া প্রথম ম্যাচটিতে একটি নেই PATH
, যা উবুন্টুতে ls
রয়েছে /bin/ls
।সুতরাং l
সমাধান ls -CF
যা সমাধান ls --color=auto -CF
।
এই উপনামগুলি বিদ্যমান কারণ তারা সেগুলি ডিফল্টরূপে সেট আপ করেছে তবে প্রতিটি ব্যবহারকারী তাদের উপকরণ পরিবর্তন করতে পারে। দেখুন man alias
, অধ্যায় 25 এবং পরিশিষ্ট এম উন্নত ব্যাশ-স্ক্রিপ্টিং গাইড, এবং আমার "ওরফে" এন্ট্রিগুলি সংরক্ষণ করতে সব সময় প্রবেশ করুন কিভাবে ।
সম্পর্কিত: বিভিন্ন রঙের এলএস মানে কী?
আসলে উভয় 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$
l
এবং প্লেইন ls
এক নয় - এগুলি কেবল সেই নির্দিষ্ট ফাইলগুলির জন্য একই আউটপুট উত্পাদন করতে ঘটেছে , যেহেতু কোনওটি ডিরেক্টরি, এক্সিকিউটেবল, সিমলিংক বা ডিভাইস নোড ছিল না (এবং স্ট্যান্ডার্ড আউটপুটটি টার্মিনাল ছিল)।
alias l='ls -CF'
সুতরাং এটি একই নয়। এছাড়াও, আপনি যদি আরও সুসংগত আউটপুট পেতে চান তবে আপনি চালাতে পারেন alias l
।