কী কমান্ডের জন্য ওরফে এল এল?


28

কেউ আমাকে বলতে পারেন যে উপনামটি কোন টার্মিনাল কমান্ডের llজন্য? সকল আমি অনলাইনে জানতে পারেন অনেক মানুষ এই বলে যে এটি জন্য উপনাম হল ls -lবা ls -laবা ls -ltr। তবে এটি কেবল ভুল। ফলাফল অন্যরকম দেখাচ্ছে। llএর সিনট্যাক্সটি সনাক্ত এবং দেখার কোনও উপায় আছে কি ?

উত্তর:


76

কোনও নির্দিষ্ট নামটি কী তা বোঝার জন্য আপনি aliasবা typeআদেশগুলি ব্যবহার করতে পারেন :

$ alias ll
alias ll='ls -alF'

$ type ll
ll is aliased to `ls -alF'

তবে খেয়াল করুন যে এলিয়াসগুলি অন্যান্য উপাত্ত ব্যবহার করতে পারে, তাই আপনার এটি পুনরাবৃত্তভাবে পরীক্ষা করতে হবে, উদাহরণস্বরূপ ll, আপনার যে lsকমান্ডটি কল করে তাও পরীক্ষা করা উচিত :

$ alias ls
alias ls='ls --color=auto'

$ type ls
ls is aliased to `ls --color=auto'

সুতরাং llআসলে এর অর্থ:

ls --color=auto -alF

10
মনে রাখবেন যে সাধারণ ক্ষেত্রে, একটি কমান্ডের এক সাথে একাধিক সংজ্ঞা থাকতে পারে। type -a commandnameসমস্ত প্রকাশ করবে - কমান্ডটি আপনার প্যাথএইচ-এর অগ্রাধিকার অনুসারে একটি বা তার বেশি নাম, ফাংশন, বিল্টিন বা এক বা একাধিক এক্সিকিউটেবল ফাইল কিনা তা আপনাকে জানাবে। এই উদাহরণস্বরূপ, একটি আদেশ কমানো দেওয়া কেন প্রত্যাশিত আচরণে পুরোপুরি ফিরে আসে না তা বোঝার ক্ষেত্রে এইগুলি সহায়তা করে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

আমি সুপারিশ করব alias ll='ls -lh'। আপনি ls -lমানব-বান্ধব বি / কিবি / এমআইবি / জিআইবির পরিবর্তে বাইটে মাপ চাইলে চালাতে পারেন।
পিটার কর্ডেস

13

llআপনার মধ্যে সংজ্ঞায়িত একটি উপনাম ~/.bashrc, আপনি যদি এটি পরিবর্তন না করেন তবে ls -alF:

$ grep ll= <~/.bashrc
alias ll='ls -alF'

এই তিনটি বিকল্প হ'ল:

  • -a, - সমস্ত - দিয়ে শুরু হওয়া এন্ট্রিগুলিকে উপেক্ষা করবেন না।
  • -l - একটি দীর্ঘ তালিকা বিন্যাস ব্যবহার করুন
  • -F, --classify - প্রবেশের সূচক (* / => @ | এর মধ্যে একটি) যুক্ত করুন

যেমন

$ grep ls= <~/.bashrc
alias ls='ls --color=auto'

দেখায়, lsনিজেই আবার এটির একটি নাম ls --color=auto:

সাথে --color=auto, lsস্ট্যান্ডার্ড আউটপুট টার্মিনালের সাথে সংযুক্ত থাকলেই রঙ কোড নির্গত হয়। LS_COLORSএনভায়রনমেন্ট ভেরিয়েবল সেটিংস পরিবর্তন করুন। dircolors এটি সেট করতে কমান্ডটি ব্যবহার করুন ।


অগত্যা .bashrc। আপনি যদি আলাদা শেল ব্যবহার করেন তবে এটি শেল -, cshrc, .tchshc, এবং এর জন্য .rc ফাইলে সংজ্ঞায়িত করা হবে।
জামেস্কেফ

@ জেমসএফএফ আমার মনে হয় যে কেউ আলাদা শেল ব্যবহার করে সেও জানে যে এর মধ্যে কোন পূর্বের বর্ণ রয়েছে? - আমি প্রশ্নটি ডিফল্ট উবুন্টু সেটআপ সম্পর্কে বলেছিলাম, যেখানে bashব্যবহারকারীদের জন্য ডিফল্ট শেল এবং উপনামটি llসংজ্ঞায়িত করা হয়েছে /etc/skel/.bashrcযা প্রতিটি নতুনতে অনুলিপি করা হয়েছে ব্যবহারকারীর হোম ডিরেক্টরি। অবশ্যই আপনি আপনার নিজস্ব এলিয়াসগুলি সঞ্চয় করতে কোনও ফাইল ব্যবহার করতে পারেন - আপনার যা প্রয়োজন তা এটির উত্স।
মিষ্টি

2
grepএটিতে ফাইলটি পুনর্নির্দেশের প্রয়োজন হয় না , এটি ফাইলের নামটিকে একটি আর্গুমেন্ট হিসাবে গ্রহণ করবে। গ্রেপিং স্টার্টআপ ফাইলগুলি আপনাকে উপন্যাসটি (পুনরায়) সংজ্ঞায়িত কোথায় রয়েছে তা খুঁজে পেতে সহায়তা করবে (নোট করুন এটি কোনও ফাইলে থাকতে পারে /etc- এটি যদি আপনি ব্যবহারকারী স্টার্টআপ ফাইল থেকে অপসারণ করেন তবে এটি আপনাকে কিছুটা মাথা চুলকানো রক্ষা করবে এবং এটি এখনও অব্যাহত থাকবে বা এমনকি এমনকি এর আচরণটি পরিবর্তন করে), আপনি যদি সংজ্ঞাটি কী তাড়াতাড়ি জানতে চান তবে গৃহীত উত্তরে উল্লিখিত উলাম কমান্ডটি কাজটি করবে।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

@ ডেনিস উইলিয়ামসন ফাইলটি খোলার প্রয়োজন নেই bash, তবে এটি আরও ভাল! প্রশ্ন পোস্টে সর্বশেষ বাক্যটি পড়ে এর বিন্যাসটি সনাক্ত llএবং দেখার কোনও উপায় আছে কি ? , আমার উত্তর এর উত্তর দেয়।
মিষ্টান্ন

3

আপনি আপনার। / .Bashrc (বা এমন কোনও ফাইল যেখানে আপনার এলিয়াসগুলি রয়েছে) এ দেখতে পারেন বা আপনি শেলটিতে এই কমান্ডগুলির কয়েকটি লিখতে পারেন:

command -v ll # "command" is a shell built-in that display information about       
              # the command. Use the built-in "help command" to see the 
              # options.
type -p ll # "type" is another built-in that display information about how the 
           # command would be interpreted
grep -r "alias ll=" ~ # and don't worry about de .file that contains your 
                      # alias. This command search recursively  under  each  
                      # folder of your home. So it's something rude.
find ~ -maxdepth 1 -type f | xargs grep "alias ll" # Just look in 
                      # the files (not folders) in your home folder

তবে ব্যবহারকারীর নাম বাদে কেন অনুসন্ধান করুন "। *"? কারণ আপনি এটি আপনার .bashrc এ রাখতে পারেন

source bash_hacks # where the file bash_hacks, in your home directory can 
                  # contain the alias ll='ls -la etc etc'.

যেহেতু "এলএল" এটি একটি উপনাম, এটি কেবল প্রয়োজনীয় নয় যার কেবল একটি অর্থ রয়েছে (ll = 'ls -alF --color'), আপনি নিজের "এলএল" কে অন্য কোমন্ডের মতো ব্যবহার করতে পারেন, আমি জানি না, "আরএম" । আমি মনে করি এটি আরও একটি সম্মেলন (সাধারণ ব্যবহারের পণ্য)।

তবে "এলএল" আপনার প্যাথের যে কোনও ফোল্ডারে সঞ্চিত একটি প্রোগ্রাম হতে পারে। উদাহরণস্বরূপ, আপনার বাড়িতে যদি "বিন" নামে একটি ফোল্ডার থাকে তবে একটি "এলএল" স্ক্রিপ্ট তৈরি করুন যাতে এর মতো কিছু থাকে

#!/bin/bash
ls -lhar

তবে, আপনার প্যাথ যদি নতুন "এলএল" কমান্ড ধারণ করে এমন একটি ফোল্ডার যুক্ত করতে পরিবর্তন করা হয়? আরও আকর্ষণীয় তথ্যের জন্য, আপনি সম্পর্কিত প্রশ্নের জন্য নিম্নলিখিত লিঙ্কটি পরামর্শ করতে পারেন।


0

~ / .Bashrc বা অন্য কোনও স্ক্রিপ্ট পার্স করার দরকার নেই। আপনি aliasটার্মিনালে সমস্ত এলিয়াস টাইপিং কমান্ডের বর্তমান মানগুলি পরীক্ষা করতে পারেন । এটি সমস্ত সংজ্ঞায়িত উপকরণগুলি তাদের স্ক্রিনে তাদের সংজ্ঞা সহ নিয়ে আসবে।


হ্যালো এবং জিজ্ঞাসাবুন্টু স্বাগতম। এই উত্তরটি কীভাবে গ্রহণযোগ্যটির সাথে কিছু যুক্ত করছে?
ব্রুনি

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