কম্পিউটার টিউটোরিয়াল

২০ টি সুপার-হেল্পফুল Bash কমান্ড

এখানে কিছু সবচেয়ে বেশি ব্যবহৃত bash কমান্ড এবং সংক্ষিপ্ত বিবরণ দেওয়া হলো যেগুলো আমি নিয়মিত ব্যবহার করি।

ifconfig

আপনার IP অ্যাড্রেস জানতে ব্যবহৃত। (wlan0-এ দেখুন, inet addr দিয়ে শুরু হওয়া লাইনটি)

[kmurray@radon ~]$ /sbin/ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
...
wlan0 Link encap:Ethernet HWaddr 00:1A:73:0F:0E:FD
 inet addr:192.168.1.139 Bcast:192.168.1.255 Mask:255.255.255.0
...

route -n

ডিফল্ট গেটওয়ের IP অ্যাড্রেস জানতে ব্যবহৃত। (Flags কলামে G থাকা লাইনটি খুঁজুন)

[kmurray@radon ~]$ /sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0

ip

ifconfig এবং route-এর মতোই কাজ করে, আধুনিক টুল।

[kmurray@radon ~]$ /sbin/ip route
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.139
default via 192.168.1.1 dev wlan0 proto static

[kmurray@radon ~]$ /sbin/ip addr
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
...
3: wlan0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1a:73:0f:0e:fd brd ff:ff:ff:ff:ff:ff
inet 192.168.1.139/24 brd 192.168.1.255 scope global wlan0
...

ping

নেটওয়ার্ক কানেক্টিভিটি টেস্ট করতে ব্যবহৃত।

[kmurray@radon ~]$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.23 ms
...
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3268ms
rtt min/avg/max/mdev = 1.149/1.190/1.238/0.032 ms

traceroute

নেটওয়ার্ক কানেক্টিভিটি টুল। কোন হোস্টে পৌঁছানোর জন্য কতটি রাউটার पार করতে হয় তা দেখায়।

[kmurray@radon ~]$ traceroute simplehelp.net
traceroute to simplehelp.net (74.52.95.42), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.121 ms 2.010 ms 2.218 ms
2 24.68.178.1 (24.68.178.1) 25.950 ms * *
...
15 2a.5f.344a.static.theplanet.com (74.52.95.42) 92.695 ms 92.601 ms 91.871 ms

host

ফুলি কোয়ালিফাইড ডোমেন নেমের IP অ্যাড্রেস লুকআপ করতে ব্যবহৃত।

[kmurray@radon ~]$ host simplehelp.net
simplehelp.net has address 74.52.95.42
simplehelp.net mail is handled by 10 aspmx.l.google.com.

dig

অ্যাডভান্সড DNS কোয়েরি টুল।

[kmurray@radon ~]$ dig simplehelp.net a
; <<>> DiG 9.5.0-P2 <<>> simplehelp.net a
;; ANSWER SECTION:
simplehelp.net. 86238 IN A 74.52.95.42
...
[kmurray@radon ~]$ dig simplehelp.net mx
;; ANSWER SECTION:
simplehelp.net. 86317 IN MX 10 aspmx.l.google.com.
...
[kmurray@radon ~]$ dig simplehelp.net ns
;; ANSWER SECTION:
simplehelp.net. 70617 IN NS ns1.theplanet.com.
simplehelp.net. 70617 IN NS ns2.theplanet.com.
...

iwlist

ওয়ায়ারলেস ইন্টারফেস থেকে তথ্য পাওয়া (রুট হিসেবে চালাতে হয়)।

[root@radon ~]# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 – Address: 00:10:18:90:20:DB
ESSID:"Coffee"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=96/100 Signal level:-37 dBm Noise level=-70 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s...
...

এটি দেখায় যে আমার কম্পিউটার বর্তমানে আশেপাশে চারটি ভিন্ন ওয়ায়ারলেস নেটওয়ার্ক দেখছে তাদের নাম, চ্যানেল, সিগন্যাল স্ট্রেংথ, এবং এনক্রিপশন স্ট্যাটাসসহ।

iwconfig

ifconfig-এর মতই, কিন্তু ওয়ায়ারলেস সেটিংসের জন্য।

[kmurray@radon ~]$ /sbin/iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:"Coffee"
Mode:Managed Frequency:2.437 GHz Access Point: 00:10:18:90:20:DB
Bit Rate=54 Mb/s Tx-Power=27 dBm
Link Quality=96/100 Signal level:-37 dBm Noise level=-70 dBm
...

এটি দেখায় আমি বর্তমানে Coffee নামে একটি ওয়ায়ারলেস নেটওয়ার্কের সাথে 54 Mb/s-এ সংযুক্ত আছি এবং সিগন্যাল স্ট্রেংথ খুব ভালো (96%)।

free

কতটুকু মেমরি ও সোয়াপ স্পেস ব্যবহৃত/ফ্রি।

[kmurray@radon ~]$ free -m
total used free shared buffers cached
Mem: 2017 1659 357 0 42 1078
-/+ buffers/cache: 538 1478
Swap: 1983 0 1983

mount

প্যারামিটার ছাড়া ব্যবহার করলে মাউন্ট করা ফাইলসিস্টেমগুলো দেখায়।

[kmurray@radon ~]$ mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw,noatime)
proc on /proc type proc (rw)
...
/dev/sda1 on /media/disk type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)

df

ডিস্ক স্পেস ইউসেজ দেখায়।

[kmurray@radon ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 190M 19M 162M 11% /boot
tmpfs 1009M 1.1M 1008M 1% /dev/shm
gvfs-fuse-daemon 60G 44G 16G 74% /home/kmurray/.gvfs
/dev/sda1 31G 29G 2.5G 93% /media/disk

এটি দেখায় /dev/sda1 ৯৩% ফুল—ফাইল ডিলিট বা ডিস্ক আপগ্রেড করতে হলে।

du

ডিরেক্টরির ডিস্ক স্পেস ইউসেজ দেখায়।

[kmurray@radon ~]$ du -hc Documents/N95/tutorials/
380K Documents/N95/tutorials/done/bluetooth gps
...
52M Documents/N95/tutorials/
52M total

এটি দেখায় আমার N95 টিউটোরিয়াল ডিরেক্টরি মোট ৫২MB ব্যবহার করছে এবং প্রতিটি সাব-ডিরেক্টরির সাইজ ব্রেকডাউন।

head

ফাইলের প্রথম কয়েক লাইন দেখান।

[kmurray@radon ~]$ head /var/log/yum.log
Jun 13 22:30:33 Installed: bash-completion-20060301-10.noarch
...
Jun 14 06:34:43 Updated: audit-libs-1.7.4-1.fc9.i386

ডিফল্টভাবে head প্রথম ১০ লাইন দেখায়। head -20 /var/log/yum.log দিলে প্রথম ২০ লাইন দেখাবে।

tail

ফাইলের শেষ কয়েক লাইন দেখান।

[kmurray@radon ~]$ tail /var/log/yum.log
Oct 30 23:19:56 Updated: 6:kdebase-libs-4.1.2-5.fc9.i386
...
Oct 30 23:20:42 Updated: 6:kdemultimedia-4.1.2-2.fc9.i386

ডিফল্টভাবে tail শেষ ১০ লাইন দেখায়। tail -30 /var/log/yum.log দিলে শেষ ৩০ লাইন দেখাবে।

grep

ফাইলের ভিতর নির্দিষ্ট স্ট্রিং সার্চ করতে (gzipped ফাইলে সার্চের জন্য zgrep ব্যবহার করুন)।

[kmurray@radon ~]$ grep firefox /var/log/yum.log
Jun 19 16:19:33 Updated: firefox-3.0-1.fc9.i386
Jul 24 04:48:06 Updated: firefox-3.0.1-1.fc9.i386
Oct 18 03:13:52 Updated: firefox-3.0.2-1.fc9.i386

এটি দেখায় "firefox" এই ফাইলে তিনবার লিস্ট করা হয়েছে।

type

কোন ডিরেক্টরিতে একটি কমান্ড অবস্থিত তা জানতে।

[kmurray@radon ~]$ type ping
ping is hashed (/bin/ping)

অর্থাৎ ping /bin-এ অবস্থিত।

locate

ফাইলসিস্টেমে যেকোনো ফাইল লোকেট করতে।

[kmurray@radon ~]$ locate *.rpm
/home/kmurray/Download/VirtualBox-2.0.2_36488_fedora9-1.i386.rpm
/home/kmurray/Download/VirtualBox-2.0.4_38406_fedora9-1.i386.rpm
/home/kmurray/Download/skype-2.0.0.72-fc5.i586.rpm
/home/kmurray/Download/synaptics-0.14.6-8.fc9.i386.rpm

এই কম্পিউটারে চারটি rpm ফাইল আছে, সবই /home/kmurray/Download-এ।

file

ফাইলের টাইপ নির্ধারণ করতে।

[kmurray@radon ~]$ file /bin/ping
/bin/ping: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
ping একটি বাইনারি ফাইল।

[kmurray@radon ~]$ file Mythbusters.S02E04.flv
Mythbusters.flv: Macromedia Flash Video
Mythbusters.S02E04.flv একটি ভিডিও।

[kmurray@radon ~]$ file /var/log/yum.log
/var/log/yum.log: ASCII text
/var/log/yum.log একটি প্লেইন টেক্সট ফাইল।

history

কমান্ড লাইনে আপনি যা কমান্ড চালিয়েছেন তার ইতিহাস দেখান।

[kmurray@radon ~]$ history

991 du -hc Documents/N95/tutorials/
992 ls /var/log/messages
993 tail /var/log/messages
...
1022 cd

আমি সবচেয়ে বেশি কোন কমান্ড ব্যবহার করি তা জানতে নিচের পাঁচ কমান্ড পাইপ করেছি:

history | awk '{print $2}' | sort | uniq | less

awk '{print $2}' শুধু সেকেন্ড কলাম দেখাবে, sort অ্যালফাবেটিক্যালি সাজাবে, uniq ডুপ্লিকেট কাটাবে, এবং less আউটপুট পেজ 바이 পেজ দেখাবে।

আপনার ফেভারিট bash কমান্ড থাকলে নিচে কমেন্টে শেয়ার করুন।

  1. লিনাক্স নতুনদের জন্য বেসিক Bash কমান্ড

  2. লিনাক্স টার্মিনাল মাস্টার করার জন্য অপরিহার্য বাশ কমান্ডস ও টিপস

  3. বিকাশকারীদের জন্য টপ ১০ অপরিহার্য রেডিস CLI কমান্ড

  4. Discord কমান্ডের সম্পূর্ণ গাইড: দক্ষতা ও মডারেশন বাড়ান