`Ls` দিয়ে কীভাবে রঙ বন্ধ করবেন?


50

এটা তোলে থেকে রঙ আউটপুট আছে স্বাভাবিকভাবে সুন্দর ls, grepইত্যাদি কিন্তু কি আপনি চান না যখন এটি (যেমন একটি স্ক্রিপ্ট যেখানে আপনি অন্য কমান্ড ফলাফল বংশীধ্বনিতুল্য করছেন হিসেবে) সেখানে একটি সুইচ এটি বন্ধ করে দিতে পারেন কি? যদি এটি ডিফল্ট না হয় তবে এটি বন্ধ না ls -Gকরে ( কয়েকটি বিএসডি-প্রাপ্ত সংস্করণ সহ ls) এটি ls +Gচালু করে। অন্য কিছু আছে যে আছে?


4
দেরীতে তবে যে কেউ অনুসন্ধান করছেন: জিএনইউর জন্য lsএবং grepপাইপিংয়ের সময় আপনাকে কিছু করার দরকার নেই কারণ --color=autoইতিমধ্যে রঙটি বন্ধ হয়ে যায় যখন এর আউটপুটটি পাইপ হয়, বা আসলে টিটিআই ছাড়া আর কিছু হয় না; এটাই 'অটো' মানে। তেমনি ফ্রিবিএসডি ls -Gবা 'ক্লিক্লোর' অক্ষম করা আছে ... যদি আউটপুট কোনও টার্মিনালে নির্দেশ না করা হয় ... CLICOLOR_FORCE ... 'না করে।
dave_thompson_085

উত্তর:


69

এর জন্য রঙিন আউটপুট lsসাধারণত আজকের দিনে বেশিরভাগ ডিস্ট্রোতে একটি উপামের মাধ্যমে সক্ষম করা হয়।

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

আপনি সর্বদা একটি ব্যাকস্ল্যাশ সহ উপসর্গের দ্বারা কোনও অ্যালায়াম অস্থায়ীভাবে অক্ষম করতে পারেন।

$ \ls

উপরের কাজটি করা হলে এটি কেবলমাত্র একটি অনুরোধের জন্য ওরফে শর্ট সার্কিট করবে। আপনি যে কোনও উপনাম অক্ষম করতে চাইলে আপনি এটি ব্যবহার করতে পারেন।


3
আপনি command lsঅবশ্যই ব্যবহার করতে পারেন তবে এটি কিছুটা দ্রুত।
আইকনোক্লাস্ট

নিখুঁত কৌশল! শীর্ষস্থানীয় `have থাকতে স্ক্রিপ্টগুলি আপডেট করতে হবে`
ভিয়েতনাম

1
আমি
loved

27

জিএনইউ দিয়ে lsআপনি ls --color=neverরঙিন আউটপুট স্পষ্টভাবে অক্ষম করতে নির্দিষ্ট করতে পারেন । ( alias ls='ls --color=auto'আপনার চালানোর পরেও যদি তা থাকে ls --color=neverতবে তা প্রসারিত হবে ls --color=auto --color=neverএবং পরবর্তী বিকল্পটি প্রাধান্য পাবে))


1
এটি সত্যই আমি উত্তরটি খুঁজছিলাম, তবে আমি এসএমএলের উত্তরটিকে নির্বাচিত হিসাবে রাখব কারণ এটি বিএসডি-উদ্ভূত সংস্করণ (ওএস এক্স, সোলারিস এবং অবশ্যই বিএসডি) এর মতো নন-জিএনইউ এর ক্ষেত্রে পরিচালনা করে।
আইকনোক্লাস্ট

3

আপনি সহজেই (ডস হিসাবে) ব্যবহার করতে পারেন:

dir

এটি রঙ ছাড়াই ফলাফলগুলি দেখায়, আপনি যুক্তিগুলিকে অনুরূপ যুক্ত করতে lsপারেন -l


2
alias ls=ls

অথবা

unalias ls

এটি স্থায়ীভাবে রঙগুলি অক্ষম করে।


3
অবশ্যই এটি শটগান দিয়ে একটি ফ্লাই হত্যার মতো কিছু: আপনি অন্যান্য বিকল্পগুলি হারিয়ে lsফেলেছেন যা আপনি এলিয়াসে যুক্ত করেছেন এবং আপনি কেবল একটি একক আদেশের পরিবর্তে পুরো অধিবেশনে হেরে গেছেন।
আইকনোক্লাস্ট 5'15

সে কারণেই আমি "স্থায়ীভাবে" বলেছিলাম :-)
স্লাইक्स

2

অনেকগুলি লিনাক্স ডিস্ট্রিবিউশনে এটি ব্যবহারকারীদের মধ্যে ডিফল্টরূপে চালু হয় .bashrc

~/.bashrcদেখে মনে হয় এমন লাইনটি সম্পাদনা করুন এবং সরিয়ে দিন:

alias ls='ls --color=auto'

আপনি যদি ভবিষ্যতে এই মেশিনে উত্পন্ন সমস্ত নতুন অ্যাকাউন্টের জন্য এই বৈশিষ্ট্যটি অক্ষম করতে চান তবে একই লাইনটি এখান থেকে সরান:

/etc/skel/.bashrc 

1

Centos7 এ এটি সেট করা হচ্ছে /etc/profile.d/colorls.sh... এই স্ক্রিপ্টের শেষ 3 লাইনগুলি হ'ল :

alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

আপনার যদি ইচ্ছা এবং অনুমতি থাকে ... অনাকাঙ্ক্ষিত লাইনটি মন্তব্য করা কৌশলটি করা উচিত।


অথবা unalias ls ll lআপনার .bashrcযদি অনুমতি না থাকে তবে
এভ্যাসেজ

0

রঙ বন্ধ করতে: unalias ls

রঙটি চালু করতে: ওরফে ls = 'ls - রঙ = অটো'

সাময়িকভাবে রঙটি অক্ষম করতে: s ls -ltr


0

আরও কিছু হতে পারে। lsরঙগুলি ব্যবহার করা উচিত নয় যতক্ষণ না মনে করে যে এটি ইন্টারেক্টিভ কিছুতে সংযুক্ত রয়েছে। আপনি অন্য প্রোগ্রামে পাইপ দেওয়ার সময় জিনিসগুলিকে রঙিন করা উচিত নয়।

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

কারণ lsআপনার LS_COLORSপরিবেশের পরিবর্তনশীলটিকে সমর্থন করে কিনা তা দেখুন । Trapd00r / LS_COLORS কেমন tht কাজ দেখায়। ডারকোলারস আপনাকে মিনিট এবং প্রতি ফাইল টাইপের রঙগুলিকে সামঞ্জস্য করতে দেয়। যদি আপনি সেট না করেন LS_COLORSতবে রঙিং চালু করা থাকে lsনা তবে ফাইলের ধরণ এবং বৈশিষ্ট্যগুলি নির্ধারণের জন্য সিস্টেম কলগুলি একটি গোছা তৈরি করবে যাতে এটি কী জিনিসগুলিতে রঙিন তা নির্ধারণ করতে পারে। শার্লকের পিছনে থাকা লোকেরা দেখতে পেল যে সেটিংস LS_COLORSএড়াতে পারে এবং গতিতে 40x উন্নতি করতে পারে । তারা কী পেয়েছে তা দেখতে তাদের বিষণ্ণ বিবরণ পড়ুন।

আমি সমস্ত ফাইলের ধরণগুলি ডিফল্ট রঙগুলি ব্যবহার করতে পারি:

$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'

আমি এখানে এলএস_সিওএলআরএস ফাইলটি ডার্কালারদের খাওয়ালাম:

BLK                   0
CAPABILITY            0
CHR                   0
DIR                   0
DOOR                  0
EXEC                  0
FIFO                  0
FILE                  0
LINK                  0
MULTIHARDLINK         0
NORMAL                0
ORPHAN                0
OTHER_WRITABLE        0
SETGID                0
SETUID                0
SOCK                  0
STICKY                0
STICKY_OTHER_WRITABLE 0

জন্য grep, যদি পুলিশের সমর্থন দেখতে GREP_COLORSবা GREP_OPTIONS


নোট করুন যে এটি এখনও lsনির্বাচিত রঙগুলির জন্য GNU আউটপুট এড়ানোর সিকোয়েন্স তৈরি করে। আউটপুট তুলনা করুন ls --color=always | od -aযে সঙ্গে ls --color=never | od -aএই সেটিং সঙ্গে LS_COLORS
কুসালানন্দ

আসল কৌশলটি হ'ল ls | od -aপালিয়ে যাওয়া নির্গত হয় না এবং আমি এটিই চাই। lsযখন টার্মিনালে আউটপুট প্রেরণ করা হবে তখন কেবল সেই সিকোয়েন্সগুলি নির্গত করা উচিত। যদি আপনি এটি বলুন, তবে তা নিশ্চিত হয়েই চলেছে। সুতরাং, এটি করবেন না।
brian d foy

-1

@ ব্রায়ান-ডি-ফয়েয়ের উত্তরে যোগ করা, বেশিরভাগ সময় সাধারণ বিরক্তিকর রঙ থাকে আপনার উদাহরণের পরিবর্তনের জন্য ডিরেক্টরিটির অদৃশ্য নীল বা "OTHER_WRITABLE" এর চটকদার সবুজ, তাই আসুন আমাদের 24- ব্যবহার করুন বিট প্রদর্শন :)

export LS_COLORS='di=04;01;38;5;33:ow=04;01;38;5;33;48;2;60;10;0'

কেবল ডিরেক্টরি রঙ এবং এর অন্যান্য লিখনযোগ্য রঙের নতুন সংজ্ঞা দিতে

04: underline;
01: bold/brighter;
38;5;33: redifined-blue;
48;2;60;10;0: dark red background

ডি এএনএসআই কোড সম্পর্কে আরও পড়ুন


1
হাতে থাকা প্রশ্নটি জিএনইউর আউটপুট থেকে সমস্ত রঙ অপসারণ সম্পর্কে ls, পৃথক রঙ কীভাবে পরিবর্তন করা যায় তা নয়।
কুসালানন্দ

ঠিক আছে, কীভাবে "এলএস 'দিয়ে একটি নির্দিষ্ট রঙ বন্ধ করে দেওয়া হবে: কেবলমাত্র OTHER_WRITABLE বন্ধ করতে LS_COLORS =' আউ = 00 'রফতানি করুন
ইগি লেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.