লিনাক্সে মাথা, লেজ এবং বিড়াল কমান্ডগুলি কার্যকরভাবে ব্যবহার করে ফাইলগুলি পরিচালনা করুন


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

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

1. প্রধান কমান্ড

হেড কমান্ড প্রদত্ত যে কোনও ফাইলের নামের প্রথম দশটি লাইন পড়ে। হেড কমান্ডের প্রাথমিক বাক্য গঠনটি হ'ল:

head [options] [file(s)]

উদাহরণস্বরূপ, নীচের কমান্ডটি ফাইলটির প্রথম দশটি রেখা প্রদর্শন করবে যার নাম ‘/ etc/passwd’ রয়েছে।

# head /etc/passwd 

root:x:0:0:root:/root:/bin/bash 
daemon:x:1:1:daemon:/usr/sbin:/bin/sh 
bin:x:2:2:bin:/bin:/bin/sh 
sys:x:3:3:sys:/dev:/bin/sh 
sync:x:4:65534:sync:/bin:/bin/sync 
games:x:5:60:games:/usr/games:/bin/sh 
man:x:6:12:man:/var/cache/man:/bin/sh 
lp:x:7:7:lp:/var/spool/lpd:/bin/sh 
mail:x:8:8:mail:/var/mail:/bin/sh 
news:x:9:9:news:/var/spool/news:/bin/sh

যদি একাধিক ফাইল দেওয়া হয় তবে মাথা প্রতিটি ফাইলের প্রথম দশটি লাইন আলাদাভাবে প্রদর্শন করবে। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি প্রতিটি ফাইলের দশটি লাইন প্রদর্শন করবে।

# head /etc/passwd /etc/shadow

==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin ==> /etc/shadow <==
root:$6$85e1:15740:0:99999:7:::
bin:*:15513:0:99999:7:::
daemon:*:15513:0:99999:7:::
adm:*:15513:0:99999:7:::
lp:*:15513:0:99999:7:::
sync:*:15513:0:99999:7:::
shutdown:*:15513:0:99999:7:::
halt:*:15513:0:99999:7:::
mail:*:15513:0:99999:7:::
uucp:*:15513:0:99999:7:::

যদি ডিফল্ট দশের চেয়ে বেশি সংখ্যক লাইন পুনরুদ্ধার করতে ইচ্ছুক হয়, তবে ‘-n’ বিকল্পটি পূর্বে প্রাপ্ত লাইনের সংখ্যা বলার জন্য একটি পূর্ণসংখ্যার সাথে ব্যবহার করা হবে। উদাহরণস্বরূপ, নীচের কমান্ডটি প্রথমে ‘/var/log/yum.log’ ফাইলটি থেকে 5 টি লাইন প্রদর্শন করবে।

# head -n5 /var/log/yum.log

Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686
Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686
Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686
Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch
Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch

আসলে, ‘-n’ বিকল্পটি ব্যবহার করার দরকার নেই। উপরের কমান্ডের মতো একই ফলাফল পেতে কেবল হাইফেন এবং ফাঁকা ছাড়াই পূর্ণসংখ্যা নির্দিষ্ট করুন।

# head  -5 /var/log/yum.log

Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686
Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686
Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686
Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch
Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch

হেড কমান্ডটি ‘-সি’ বিকল্পটি ব্যবহার করে যে কোনও পছন্দসই সংখ্যক বাইট প্রদর্শন করতে পারে তারপরে প্রদর্শিত হবে বাইট সংখ্যা। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ড প্রদত্ত ফাইলের প্রথম 45 বাইট প্রদর্শন করবে।

# head -c45 /var/log/yum.log

Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el

2. টেল কমান্ড

টেল কমান্ড আপনাকে কোনও পাঠ্য ফাইলের শেষ দশটি লাইন প্রদর্শন করতে দেয়। উপরের হেড কমান্ডের অনুরূপ, টেল কমান্ড বিকল্পগুলি ‘এন’ সংখ্যা লাইন এবং ‘এন’ সংখ্যার অক্ষরকেও সমর্থন করে।

টেল কমান্ডের মূল বাক্য গঠন:

# tail [options] [filenames]

উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি ‘অ্যাক্সেস.লগ’ নামে একটি ফাইলের শেষ দশটি লাইন প্রিন্ট করবে।

# tail access.log 

1390288226.042      0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html
1390288226.198      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
1390288226.210   1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html
1390288226.284     70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 -
1390288226.362    570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 
1390288226.402      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
1390288226.437    145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html
1390288226.445      0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html
1390288226.605      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
1390288226.808      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html

যদি একাধিক ফাইল সরবরাহ করা থাকে তবে লেজ প্রতিটি ফাইলের শেষ দশটি লাইন নিচের মত মুদ্রণ করবে।

# tail access.log error.log

==> access.log <== 1390288226.042      0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210   1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284     70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362    570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg  1390288226.402      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437    145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445      0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html ==> error_log <==
[Sun Mar 30 03:16:03 2014] [notice] Digest: generating secret for digest authentication ...
[Sun Mar 30 03:16:03 2014] [notice] Digest: done
[Sun Mar 30 03:16:03 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations

একইভাবে, আপনি নীচের মত "-n" বিকল্পটি ব্যবহার করে শেষ কয়েকটি লাইনও মুদ্রণ করতে পারেন।

# tail -5 access.log

1390288226.402      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
1390288226.437    145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html
1390288226.445      0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html
1390288226.605      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
1390288226.808      0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html

আপনি নীচে দেখানো হিসাবে ‘-c’ যুক্তি ব্যবহার করে অক্ষরের সংখ্যাও মুদ্রণ করতে পারেন।

# tail -c5 access.log

ymantec.com:443 - NONE/- text/html

3. বিড়াল কমান্ড

‘বিড়াল’ আদেশটি বহুল ব্যবহৃত, সর্বজনীন সরঞ্জাম। এটি স্ট্যান্ডার্ড আউটপুটে স্ট্যান্ডার্ড ইনপুট অনুলিপি করে। পাঠ্য ফাইলটি বর্তমান স্ক্রিনে ফিট না হলে কমান্ডটি স্ক্রোলিং সমর্থন করে।

ক্যাট কমান্ডের মূল বাক্য গঠনটি হ'ল:

# cat [options] [filenames] [-] [filenames]

বিড়ালের সবচেয়ে ঘন ঘন ব্যবহার হ'ল ফাইলগুলির বিষয়বস্তু পড়া। পড়ার জন্য একটি ফাইল খোলার জন্য যা দরকার তা হল একটি স্পেস এবং ফাইলের নাম অনুসারে বিড়াল টাইপ করা।

# cat /etc/passwd 

root:x:0:0:root:/root:/bin/bash 
daemon:x:1:1:daemon:/usr/sbin:/bin/sh 
bin:x:2:2:bin:/bin:/bin/sh 
sys:x:3:3:sys:/dev:/bin/sh 
sync:x:4:65534:sync:/bin:/bin/sync 
games:x:5:60:games:/usr/games:/bin/sh 
man:x:6:12:man:/var/cache/man:/bin/sh 
lp:x:7:7:lp:/var/spool/lpd:/bin/sh 
…

বিড়াল কমান্ডও একসাথে অনেকগুলি সংখ্যক ফাইল সংযুক্ত করতে ব্যবহার করত।

# echo 'Hi Tecmint-Team' > 1 
# echo 'Keep connected' > 2 
# echo 'Share your thought' > 3 
# echo 'connect us [email ' > 4
# cat 1 2 3 4 > 5
# cat 5 

Hi Tecmint-Team 
Keep connected 
Share your thought 
connect us [email 

এটি ফাইলগুলি তৈরি করতেও ব্যবহৃত হতে পারে। এটি আউটপুট পুনর্নির্দেশ অপারেটর এবং ফাইলের নাম তৈরি করার পরে ক্যাটকে কার্যকর করেই অর্জন করা হয়।

# cat > tecmint.txt

Tecmint is the only website fully dedicated to Linux.

‘বিড়াল’ কমান্ডের জন্য আমাদের কাস্টম এন্ড মেকার থাকতে পারে। এখানে এটি প্রয়োগ করা হয়।

# cat > test.txt << end 

I am Avishek 
Here i am writing this post 
Hope your are enjoying 
end
# cat test.txt 

I am Avishek 
Here i am writing this post 
Hope your are enjoying

কখনই ‘বিড়াল’ কমান্ডের শক্তিটিকে হ্রাস করবেন না এবং ফাইলগুলি অনুলিপি করার জন্য কার্যকর হতে পারে।

# cat avi.txt

I am a Programmer by birth and Admin by profession
# cat avi.txt > avi1.txt
# cat avi1.txt

I am a Programmer by birth and Admin by profession

এখন বিড়ালের বিপরীতটি কী? হ্যাঁ এটি "টাক"। ‘টাক’ লিনাক্সের অধীনে একটি আদেশ। এ বিষয়ে কিছু কথা বলার চেয়ে ‘টাক’ এর উদাহরণ দেখানো ভাল।

সমস্ত মাসের নাম সহ একটি পাঠ্য ফাইল তৈরি করুন, যেমন একটি লাইনে একটি শব্দ আসে।

# cat month

January
February
March
April
May
June
July
August
September
October
November
December
# tac month

December
November
October
September
August
July
June
May
April
March
February
January

ক্যাট কমান্ড ব্যবহারের আরও উদাহরণের জন্য, 13 বিড়াল কমান্ডের ব্যবহার দেখুন

এখন এ পর্যন্তই. আমি জানার মতো মূল্যবান আরেকটি আকর্ষণীয় নিবন্ধ নিয়ে আবার এখানে থাকব। ততক্ষণ টিউমিন্টের সাথে সংযুক্ত থাকুন এবং সংযুক্ত থাকুন। আমাদের মন্তব্য বিভাগে আপনার মূল্যবান প্রতিক্রিয়া আমাদের দিতে ভুলবেন না।