Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

परिचय

आवश्यक Linux कमांड की इस व्यापक गाइड के साथ अपने Linux सिस्टम की पूरी क्षमता को अनलॉक करें। चाहे आप एक अनुभवी प्रशासक हों या अभी शुरुआत कर रहे हों, कुशल सर्वर प्रबंधन, स्क्रिप्ट लेखन और समस्या निवारण के लिए इन कमांड में महारत हासिल करना महत्वपूर्ण है। इस ट्यूटोरियल में, आप फ़ाइल प्रबंधन, प्रोसेस नियंत्रण, उपयोगकर्ता पहुंच, नेटवर्क कॉन्फ़िगरेशन और सिस्टम डीबगिंग के लिए सबसे अधिक उपयोग किए जाने वाले और शक्तिशाली कमांड सीखेंगे।

आप 50+ अवश्य जानने योग्य Linux कमांड सीखेंगे जो आपको Linux पावर यूजर में बदल देंगे। बेसिक से एडवांस तक, ये कमांड किसी भी कार्य से निपटने के लिए आपके पसंदीदा टूल बन जाएंगे जो आपके रास्ते में आता है।

मुख्य निष्कर्ष

  • Linux कमांड उद्देश्य के अनुसार व्यवस्थित हैं: फ़ाइल प्रबंधन (ls, cp, mv, rm), प्रोसेस नियंत्रण (ps, kill, top), उपयोगकर्ता अनुमतियाँ (chmod, chown, sudo), और नेटवर्किंग (ssh, ping, wget)।
  • man कमांड किसी भी Linux कमांड के लिए अंतर्निहित दस्तावेज़ीकरण प्रदान करता है और जब आपको सिंटैक्स या विकल्प विवरण की आवश्यकता होती है तो यह प्राथमिक संदर्भ है।
  • टेक्स्ट आउटपुट या फ़ाइलों में खोज के लिए grep का उपयोग करें, फ़ाइल सामग्री का पूर्वावलोकन करने के लिए head/tail, और फ़ाइलों की तुलना करने के लिए diff/cmp।
  • फ़ाइल अनुमतियों को chmod (मोड बिट्स बदलें) और chown (स्वामी बदलें) के साथ प्रबंधित किया जाता है, जो सर्वर सुरक्षा और एक्सेस नियंत्रण के लिए महत्वपूर्ण हैं।
  • tar, zip, और unzip जैसे कमांड आर्काइविंग और कम्प्रेशन को संभालते हैं; ssh और scp सुरक्षित रिमोट एक्सेस और फ़ाइल ट्रांसफर को संभालते हैं।
  • प्रोसेस प्रबंधन कमांड (ps, kill, killall, top) सिस्टम स्वास्थ्य की निगरानी और अनुत्तरदायी प्रोसेस को समाप्त करने के लिए आवश्यक हैं।

पूर्वापेक्षाएँ

हम इन कमांड को एक Ubuntu सर्वर पर चलाएंगे, लेकिन आप किसी भी आधुनिक Linux वितरण पर अनुसरण कर सकते हैं। आप हमारे Ubuntu पर प्रारंभिक सर्वर सेटअप की गाइड का पालन करके इस ट्यूटोरियल के लिए एक Ubuntu सर्वर सेट अप कर सकते हैं।

DigitalOcean ऐप प्लेटफॉर्म का उपयोग करके GitHub से अपने फ्रंटएंड एप्लिकेशन डेप्लॉय करें। DigitalOcean को अपने ऐप को स्केल करने पर ध्यान केंद्रित करने दें।

चलिए शुरू करते हैं!

एक नियमित उपयोगकर्ता के रूप में आपको अवश्य जानने योग्य शीर्ष 50 Linux कमांड

  1. ls - Linux में निर्देशिकाओं को सूचीबद्ध करने के लिए सबसे अधिक उपयोग की जाने वाली कमांड
  2. pwd - Linux में वर्तमान कार्य निर्देशिका प्रिंट करने की कमांड
  3. cd - निर्देशिकाओं के माध्यम से नेविगेट करने के लिए Linux कमांड
  4. mkdir - Linux में निर्देशिकाएं बनाने के लिए उपयोग की जाने वाली कमांड
  5. mv - Linux में फ़ाइलों को स्थानांतरित या नाम बदलें
  6. cp - Linux में फ़ाइलों को कॉपी करने के लिए mv के समान उपयोग
  7. rm - फ़ाइलों या निर्देशिकाओं को हटाएं
  8. touch - रिक्त/खाली फ़ाइलें बनाएं
  9. ln - अन्य फ़ाइलों के लिए सिम्बोलिक लिंक (शॉर्टकट) बनाएं
  10. clear - टर्मिनल डिस्प्ले साफ़ करें
  11. cat - टर्मिनल पर फ़ाइल सामग्री प्रदर्शित करें
  12. echo - कमांड के बाद आने वाले किसी भी टेक्स्ट को प्रिंट करें
  13. less - टर्मिनल में पेज्ड आउटपुट प्रदर्शित करने के लिए Linux कमांड
  14. man - सभी Linux कमांड के लिए मैनुअल पेज एक्सेस करें
  15. uname - OS के बारे में बुनियादी जानकारी प्राप्त करने के लिए Linux कमांड
  16. whoami - सक्रिय उपयोगकर्ता नाम प्राप्त करें
  17. tar - Linux में फ़ाइलों को निकालने और संपीड़ित करने की कमांड
  18. grep - आउटपुट के भीतर एक स्ट्रिंग खोजें
  19. head - ऊपर से निर्दिष्ट संख्या में लाइनें लौटाएं
  20. tail - नीचे से निर्दिष्ट संख्या में लाइनें लौटाएं
  21. diff - दो फ़ाइलों के बीच अंतर खोजें
  22. cmp - आपको जांचने की अनुमति देता है कि दो फ़ाइलें समान हैं या नहीं
  23. comm - diff और cmp की कार्यक्षमता को जोड़ता है
  24. sort - आउटपुट करते समय फ़ाइल की सामग्री को सॉर्ट करने के लिए Linux कमांड
  25. export - Linux में पर्यावरण चर निर्यात करें
  26. zip - Linux में फ़ाइलों को ज़िप करें
  27. unzip - Linux में फ़ाइलों को अनज़िप करें
  28. ssh - Linux में सिक्योर शेल कमांड
  29. service - Linux में सेवाओं को शुरू और रोकने की कमांड
  30. ps - सक्रिय प्रोसेस प्रदर्शित करें
  31. kill and killall - प्रोसेस ID या नाम से सक्रिय प्रोसेस को मारें
  32. df - डिस्क फाइलसिस्टम जानकारी प्रदर्शित करें
  33. mount - Linux में फाइल सिस्टम माउंट करें
  34. chmod - फ़ाइल अनुमतियों को बदलने की कमांड
  35. chown - फ़ाइलों या फ़ोल्डरों का स्वामित्व देने की कमांड
  36. ifconfig - नेटवर्क इंटरफेस और IP पते प्रदर्शित करें
  37. traceroute - गंतव्य तक पहुंचने के लिए सभी नेटवर्क हॉप्स को ट्रेस करें
  38. wget - इंटरनेट से फ़ाइलों को सीधे डाउनलोड करें
  39. ufw - फ़ायरवॉल कमांड
  40. iptables - बेस फ़ायरवॉल जिसके साथ अन्य सभी फ़ायरवॉल यूटिलिटी इंटरफेस करती हैं
  41. apt, pacman, yum, rpm - वितरण के आधार पर पैकेज मैनेजर
  42. sudo - Linux में विशेषाधिकार बढ़ाने की कमांड
  43. cal - कमांड-लाइन कैलेंडर देखें
  44. alias - अपने नियमित रूप से उपयोग किए जाने वाले कमांड के लिए कस्टम शॉर्टकट बनाएं
  45. dd - प्रमुख रूप से बूटेबल USB स्टिक बनाने के लिए उपयोग किया जाता है
  46. whereis - किसी कमांड के लिए बाइनरी, स्रोत और मैनुअल पेज का पता लगाएं
  47. whatis - पता करें कि कोई कमांड किसके लिए उपयोग किया जाता है
  48. top - उनके सिस्टम उपयोग के साथ सक्रिय प्रोसेस को लाइव देखें
  49. useradd and usermod - एक नया उपयोगकर्ता जोड़ें या मौजूदा उपयोगकर्ता डेटा बदलें
  50. passwd - मौजूदा उपयोगकर्ताओं के लिए पासवर्ड बनाएं या अपडेट करें

फ़ाइल और निर्देशिका कमांड

कमांड विवरण उदाहरण
lsनिर्देशिका सामग्री सूचीबद्ध करें।ls
cdनिर्देशिका बदलें।cd /path/to/directory
pwdवर्तमान निर्देशिका दिखाएं।pwd
mkdirनई निर्देशिका बनाएं।mkdir new_directory
rmdirखाली निर्देशिका हटाएं।rmdir empty_directory
rmफ़ाइलों या निर्देशिकाओं को हटाएं।rm file.txt
touchखाली फ़ाइल बनाएं।touch new_file.txt
cpफ़ाइलों या निर्देशिकाओं को कॉपी करें।cp file.txt /path/to/destination
mvफ़ाइलों को स्थानांतरित या नाम बदलें।mv file.txt /path/to/new_location
catफ़ाइल सामग्री प्रदर्शित करें।cat file.txt
nano / vimटर्मिनल में फ़ाइलें संपादित करें।nano file.txt
findनिर्देशिका पदानुक्रम में फ़ाइलों की खोज करें।find . -name "file.txt"
grepपैटर्न का उपयोग करके टेक्स्ट खोजें।grep "pattern" file.txt
tarफ़ाइलों को आर्काइव और संपीड़ित करें।tar -cvf archive.tar file1.txt file2.txt
dfफाइल सिस्टम का डिस्क उपयोग दिखाएं।df
duनिर्देशिका/फ़ाइल आकार दिखाएं।du -sh /path/to/directory
chmodफ़ाइल अनुमतियाँ बदलें।chmod 755 file.txt
chownफ़ाइल स्वामी बदलें।chown user:group file.txt
mountफाइलसिस्टम माउंट करें।mount /dev/sdb1 /mnt
umountफाइलसिस्टम अनमाउंट करें।umount /mnt

नेटवर्किंग कमांड

कमांड विवरण नमूना उपयोग
pingहोस्ट से कनेक्टिविटी टेस्ट करें।ping google.com
ifconfig / ip aनेटवर्क इंटरफेस प्रदर्शित करें।ifconfig या ip a
netstat / ssनेटवर्क कनेक्शन दिखाएं।netstat -tuln या ss -tuln
wgetHTTP/FTP के माध्यम से फ़ाइलें डाउनलोड करें।wget https://example.com/file.zip
curlURL सिंटैक्स का उपयोग करके डेटा ट्रांसफर करें।curl -O https://example.com/file.zip
nc (Netcat)नेटवर्क डीबगिंग और डेटा ट्रांसफर।nc -zv 192.168.1.1 80
tcpdumpनेटवर्क पैकेट कैप्चर और विश्लेषण करें।tcpdump -i eth0
iptablesफ़ायरवॉल नियम कॉन्फ़िगर करें।iptables -A INPUT -p tcp --dport 22 -j ACCEPT
tracerouteनेटवर्क होस्ट तक पैकेट के पथ को ट्रेस करें।traceroute example.com
nslookupडोमेन नाम या IP एड्रेस मैपिंग प्राप्त करने के लिए DNS क्वेरी करें।nslookup example.com
sshरिमोट होस्ट से सुरक्षित रूप से कनेक्ट करें।ssh user@example.com

प्रोसेस और सिस्टम मॉनिटरिंग कमांड

कमांड विवरण उदाहरण कमांड
psचल रहे प्रोसेस दिखाएं।ps aux
topडायनामिक प्रोसेस व्यूअर।top
htoptop का उन्नत संस्करण।htop
killकिसी प्रोसेस को सिग्नल भेजें।kill <PID>
killallनाम से प्रोसेस मारें।killall <process_name>
uptimeसिस्टम अपटाइम और लोड।uptime
whoamiवर्तमान लॉग-इन उपयोगकर्ता।whoami
envपर्यावरण चर प्रदर्शित करें।env
straceकिसी प्रोसेस के सिस्टम कॉल ट्रेस करें।strace -p <PID>
systemctlsystemd सेवाएं प्रबंधित करें।systemctl status <service_name>
journalctlसिस्टम लॉग देखें।journalctl -xe
freeमेमोरी उपयोग प्रदर्शित करें।free -h
vmstatवर्चुअल मेमोरी आंकड़े रिपोर्ट करें।vmstat 1
iostatCPU और I/O आंकड़े रिपोर्ट करें।iostat
lsofप्रोसेस द्वारा खुली फ़ाइलें सूचीबद्ध करें।lsof
dmesgकर्नेल रिंग बफर संदेश प्रिंट करें।dmesg

उपयोगकर्ता और अनुमति प्रबंधन कमांड

कमांड विवरण उदाहरण कमांड
passwdउपयोगकर्ता पासवर्ड बदलें।passwd <username>
adduser / useraddनया उपयोगकर्ता जोड़ें।adduser <username> या useradd <username>
deluser / userdelउपयोगकर्ता हटाएं।deluser <username> या userdel <username>
usermodउपयोगकर्ता खाता संशोधित करें।usermod -aG <group> <username>
groupsसमूह सदस्यता दिखाएं।groups <username>
sudoरूट के रूप में कमांड निष्पादित करें।sudo <command>
chageउपयोगकर्ता पासवर्ड समाप्ति जानकारी बदलें।chage -l <username>
idउपयोगकर्ता पहचान जानकारी प्रदर्शित करें।id <username>
newgrpनए समूह में लॉग इन करें।newgrp <group>

फ़ाइल ट्रांसफर और सिंक्रनाइज़ेशन कमांड

कमांड विवरण उदाहरण कमांड
scpSSH पर सुरक्षित रूप से फ़ाइलें कॉपी करें।scp user@remote:/path/to/file /local/destination
rsyncफ़ाइलों और निर्देशिकाओं को कुशलतापूर्वक सिंक करें।rsync -avz /local/directory/ user@remote:/path/to/destination
ftpफाइल ट्रांसफर प्रोटोकॉल का उपयोग करके फ़ाइलें ट्रांसफर करें।ftp ftp.example.com
sftpSSH फाइल ट्रांसफर प्रोटोकॉल का उपयोग करके सुरक्षित रूप से फ़ाइलें ट्रांसफर करें।sftp user@remote:/path/to/file
wgetवेब से फ़ाइलें डाउनलोड करें।wget https://example.com/file.zip
curlसर्वर से या सर्वर पर डेटा ट्रांसफर करें।curl -O https://example.com/file.zip

टेक्स्ट प्रोसेसिंग कमांड

कमांड विवरण उदाहरण कमांड
awkपैटर्न स्कैनिंग और प्रोसेसिंग।awk '{print $1}' file.txt
sedटेक्स्ट फ़िल्टर/संशोधित करने के लिए स्ट्रीम एडिटर।sed 's/old/new/g' file.txt
cutटेक्स्ट लाइनों से सेक्शन हटाएं।cut -d':' -f1 /etc/passwd
sortटेक्स्ट लाइनों को सॉर्ट करें।sort file.txt
grepटेक्स्ट में पैटर्न खोजें।grep 'pattern' file.txt
wcशब्द, लाइनें और कैरेक्टर गिनें।wc -l file.txt
pasteफ़ाइलों की लाइनों को मर्ज करें।paste file1.txt file2.txt
joinकॉमन फील्ड पर दो फ़ाइलों की लाइनों को जोड़ें।join file1.txt file2.txt
headफ़ाइलों का पहला भाग आउटपुट करें।head -n 10 file.txt
tailफ़ाइलों का अंतिम भाग आउटपुट करें।tail -n 10 file.txt

शेल यूटिलिटीज़ और शॉर्टकट कमांड

कमांड विवरण उदाहरण कमांड
aliasकमांड के लिए शॉर्टकट बनाएं।alias ll='ls -la'
unaliasएक alias हटाएं।unalias ll
historyपहले दर्ज कमांड दिखाएं।history
clearटर्मिनल स्क्रीन साफ़ करें।clear
rebootसिस्टम रीबूट करें।reboot
shutdownसिस्टम बंद करें।shutdown now
dateसिस्टम दिनांक और समय प्रदर्शित या सेट करें।date
echoटेक्स्ट की एक लाइन प्रदर्शित करें।echo "Hello, World!"
sleepनिर्दिष्ट समय के लिए देरी करें।sleep 5
timeकमांड निष्पादन की अवधि मापें।time ls
watchएक प्रोग्राम को समय-समय पर निष्पादित करें, आउटपुट फुलस्क्रीन दिखाएं।watch -n 5 df -h

अब आइए इनमें से प्रत्येक कमांड को थोड़ा गहराई से समझते हैं। हमारे पास उन व्यक्तिगत कमांड में से प्रत्येक के लिए पहले से ही बहुत सारे मौजूदा लेख हैं। आपकी सुविधा के लिए, हम सभी मौजूदा लेखों के लिंक जोड़ देंगे, और नए विषयों के कवर होने पर लेख को अपडेट करना जारी रखेंगे।

Linux में ls कमांड

ls कमांड का उपयोग वर्तमान कार्य निर्देशिका में फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करने के लिए किया जाता है। यह सबसे अधिक उपयोग की जाने वाली Linux कमांड में से एक है जिसे आपको अवश्य जानना चाहिए।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप ऊपर की छवि में देख सकते हैं, बिना किसी आर्गुमेंट के स्वयं कमांड का उपयोग करने से हमें निर्देशिका में सभी फ़ाइलों और निर्देशिकाओं के साथ एक आउटपुट मिलेगा। कमांड आउटपुट में डेटा प्रदर्शित करने के मामले में बहुत लचीलापन प्रदान करती है।

ls कमांड का उपयोग करने के बारे में और जानें

कमांड सूची पर वापस जाएं ↑

Linux में pwd कमांड

pwd कमांड आपको टर्मिनल पर वर्तमान कार्य निर्देशिका प्रिंट करने की अनुमति देती है। यह एक बहुत ही बुनियादी कमांड है और इसका उद्देश्य बहुत अच्छी तरह से पूरा करती है।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

अब, आपके टर्मिनल प्रॉम्प्ट में आमतौर पर वैसे भी पूरी निर्देशिका होनी चाहिए। लेकिन अगर ऐसा नहीं है, तो यह उस निर्देशिका को देखने के लिए एक त्वरित कमांड हो सकती है जिसमें आप हैं। इस कमांड का एक अन्य अनुप्रयोग स्क्रिप्ट बनाते समय होता है जहां यह कमांड हमें उस निर्देशिका को खोजने की अनुमति दे सकती है जहां स्क्रिप्ट सहेजी गई है।

कमांड सूची पर वापस जाएं ↑

Linux में cd कमांड

टर्मिनल के भीतर काम करते समय, निर्देशिकाओं के भीतर घूमना बहुत आवश्यक है। cd कमांड उन महत्वपूर्ण Linux कमांड में से एक है जिन्हें आपको अवश्य जानना चाहिए, और यह आपको निर्देशिकाओं के माध्यम से नेविगेट करने में मदद करेगा। बस cd टाइप करें इसके बाद निर्देशिका, जैसा कि नीचे दिखाया गया है।

root@ubuntu:~# cd <directory path> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप ऊपर की कमांड में देख सकते हैं, मैंने बस cd /etc/ टाइप किया /etc निर्देशिका में जाने के लिए। हमने वर्तमान कार्य निर्देशिका प्रिंट करने के लिए pwd कमांड का उपयोग किया।

कमांड सूची पर वापस जाएं ↑

Linux में mkdir कमांड

mkdir कमांड आपको टर्मिनल के भीतर से निर्देशिकाएं बनाने की अनुमति देती है।

root@ubuntu:~# mkdir <folder name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप ऊपर के स्क्रीनशॉट में देख सकते हैं, हमने इस सरल कमांड से एक नई निर्देशिका बनाई।

कमांड सूची पर वापस जाएं ↑

cp और mv कमांड

cp और mv कमांड Windows में कॉपी-पेस्ट और कट-पेस्ट कमांड के समकक्ष हैं। लेकिन चूंकि Linux में फ़ाइलों का नाम बदलने के लिए वास्तव में कोई कमांड नहीं है, इसलिए हम mv कमांड का उपयोग फ़ाइलों और फ़ोल्डरों का नाम बदलने के लिए भी करते हैं।

root@ubuntu:~# cp <source> <destination> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

ऊपर की कमांड में, हमने Sample नाम की फ़ाइल की एक कॉपी बनाई। आइए देखते हैं कि अगर हम उसी तरीके से mv कमांड का उपयोग करते हैं तो क्या होता है।

root@ubuntu:~# mv <source> <destination> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

उपरोक्त मामले में, चूंकि हम उसी निर्देशिका के भीतर फ़ाइल को स्थानांतरित कर रहे थे, इसने रीनेम के रूप में कार्य किया। फ़ाइल का नाम अब बदल गया है।

कमांड सूची पर वापस जाएं ↑

Linux में rm कमांड

पिछले अनुभाग में, हमने Sample-Copy फ़ाइल को हटा दिया। rm कमांड का उपयोग फ़ाइलों और फ़ोल्डरों को हटाने के लिए किया जाता है और यह उन महत्वपूर्ण Linux कमांड में से एक है जिन्हें आपको अवश्य जानना चाहिए।

root@ubuntu:~# rm <file name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

एक निर्देशिका को हटाने के लिए, आपको इसमें -r आर्गुमेंट जोड़ना होगा। -r आर्गुमेंट के बिना, rm कमांड निर्देशिकाओं को नहीं हटाएगी।

root@ubuntu:~# rm -r <folder/directory name> 

rm कमांड में -r फ्लैग "रिकर्सिव" के लिए खड़ा है। जब rm कमांड के साथ उपयोग किया जाता है, तो यह न केवल निर्दिष्ट फ़ाइल को बल्कि उसकी सभी सबडायरेक्टरी और उन सबडायरेक्टरी के भीतर की फ़ाइलों को रिकर्सिवली हटा देगा।

नोट: rm कमांड के साथ -r फ्लैग का उपयोग करते समय सावधान रहना महत्वपूर्ण है, क्योंकि यह तेजी से और स्थायी रूप से बड़ी संख्या में फ़ाइलों और निर्देशिकाओं को हटा सकता है। -r फ्लैग के साथ -i फ्लैग का उपयोग करना एक अच्छा विचार है, जो प्रत्येक फ़ाइल और निर्देशिका को हटाने से पहले आपसे पुष्टि करने के लिए संकेत देगा।

उदाहरण के लिए, mydir निर्देशिका और इसकी सामग्री को पुष्टि के साथ हटाने के लिए, आप इस कमांड का उपयोग कर सकते हैं:

root@ubuntu:~# rm -ri mydir 

यह mydir निर्देशिका के भीतर प्रत्येक फ़ाइल और निर्देशिका को हटाने से पहले आपसे पुष्टि करने के लिए संकेत देगा।

कमांड सूची पर वापस जाएं ↑

Linux में touch कमांड

Linux में touch कमांड एक खाली फ़ाइल बनाती है या मौजूदा फ़ाइल के टाइमस्टैप को अपडेट करती है।

root@ubuntu:~# touch <file name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

कमांड सूची पर वापस जाएं ↑

Linux में ln कमांड

किसी अन्य फ़ाइल का लिंक बनाने के लिए, हम ln कमांड का उपयोग करते हैं। यदि आप Linux प्रशासक के रूप में काम करने की योजना बना रहे हैं तो यह सबसे महत्वपूर्ण Linux कमांड में से एक है जिसे आपको जानना चाहिए।

root@ubuntu:~# ln -s <source path> <link name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

-s फ्लैग किसी फ़ाइल या निर्देशिका के लिए एक सिम्बोलिक लिंक (जिसे सिमलिंक या सॉफ्ट लिंक भी कहा जाता है) बनाता है। एक सिम्बोलिक लिंक एक विशेष प्रकार की फ़ाइल है जो किसी अन्य फ़ाइल या निर्देशिका के लिए शॉर्टकट या पॉइंटर के रूप में कार्य करती है।

डिफ़ॉल्ट रूप से, ln कमांड सिम्बोलिक या सॉफ्ट लिंक के बजाय हार्ड लिंक बनाएगा।

नोट: मान लें आपके पास एक टेक्स्ट फ़ाइल है। यदि आप उस फ़ाइल का एक सिम्बोलिक लिंक बनाते हैं, तो लिंक केवल मूल फ़ाइल का एक पॉइंटर है। यदि आप मूल फ़ाइल को हटाते हैं, तो लिंक टूट जाएगा, क्योंकि उसके पास अब इंगित करने के लिए कुछ नहीं है।

एक हार्ड लिंक मूल फ़ाइल की एक मिरर कॉपी है जिसमें बिल्कुल वही सामग्री होती है। सिम्बोलिक लिंक की तरह, यदि आप मूल फ़ाइल की सामग्री को संपादित करते हैं, तो वे परिवर्तन हार्ड लिंक में परिलक्षित होंगे। यदि आप मूल फ़ाइल को हटाते हैं, हालांकि, हार्ड लिंक अभी भी काम करेगा, और आप इसे सामान्य कॉपी की तरह देख और संपादित कर सकते हैं।

सॉफ्ट और हार्ड लिंक के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

Linux में clear कमांड

Linux में clear कमांड टर्मिनल स्क्रीन को साफ़ करती है। यह टर्मिनल पर वर्तमान में प्रदर्शित सभी टेक्स्ट और आउटपुट को हटा देती है और आपको काम करने के लिए एक साफ स्लेट देती है।

यहां clear कमांड का उपयोग करने का एक उदाहरण है:

root@ubuntu:~# clear 

यह टर्मिनल स्क्रीन को साफ़ कर देगा और कर्सर को स्क्रीन के ऊपरी-बाएं कोने में ले जाएगा।

आप clear कमांड का उपयोग अन्य कमांड के साथ संयोजन में भी कर सकते हैं, जैसे:

root@ubuntu:~# ls -l; clear 

यह वर्तमान निर्देशिका में फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करेगा, और फिर टर्मिनल स्क्रीन को साफ़ कर देगा।

नोट: clear कमांड आपके सिस्टम से किसी भी फ़ाइल या डेटा को नहीं हटाती। यह केवल टर्मिनल के डिस्प्ले को प्रभावित करती है।

cat, echo, और less कमांड

जब आप किसी फ़ाइल की सामग्री को आउटपुट करना चाहते हैं या टर्मिनल आउटपुट पर कुछ भी प्रिंट करना चाहते हैं, तो हम cat या echo कमांड का उपयोग करते हैं। आइए उनके बुनियादी उपयोग को देखें।

root@ubuntu:~# cat <file name> root@ubuntu:~# echo <Text to print on terminal> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप ऊपर के उदाहरण में देख सकते हैं, cat कमांड, जब हमारे New-File पर उपयोग की जाती है, तो फ़ाइल की सामग्री प्रिंट करती है। साथ ही, जब हम echo कमांड का उपयोग करते हैं, तो यह कमांड के बाद आने वाली किसी भी चीज़ को बस प्रिंट करता है।

less कमांड का उपयोग तब किया जाता है जब किसी कमांड द्वारा प्रिंट किया गया आउटपुट स्क्रीन स्पेस से बड़ा होता है और स्क्रॉलिंग की आवश्यकता होती है। less कमांड उपयोगकर्ता को आउटपुट को ब्रेक डाउन करने और एंटर या स्पेस कुंजियों के उपयोग से इसके माध्यम से स्क्रॉल करने की अनुमति देती है।

इसे करने का सरल तरीका पाइप ऑपरेटर (|) के उपयोग के साथ है।

root@ubuntu:~# cat /boot/grub/grub.cfg | less 

नोट: लाइन रैपिंग सक्षम करने के लिए less के साथ -S फ्लैग का उपयोग करें। यह आपको क्षैतिज रूप से स्क्रॉल किए बिना टेक्स्ट की लंबी लाइनों को देखने की अनुमति देगा।

लाइन नंबर प्रदर्शित करने के लिए less के साथ -N फ्लैग का उपयोग करें। यह तब उपयोगी हो सकता है जब आपको टेक्स्ट के विशिष्ट भाग की लाइन संख्या जानने की आवश्यकता हो।

आप इन उपयोगी फ्लैग का उपयोग निम्न तरीके से कर सकते हैं:

root@ubuntu:~# cat /boot/grub/grub.cfg | less -SN 

पाइप ऑपरेटर के साथ less का उपयोग कई अलग-अलग स्थितियों में उपयोगी हो सकता है। यहां कुछ उदाहरण हैं:

  • लंबे समय तक चलने वाली कमांड के आउटपुट को देखना, जैसे top या htop।
  • grep या cat जैसे कमांड के आउटपुट में विशिष्ट टेक्स्ट खोजना।

कमांड सूची पर वापस जाएं ↑

Linux में man कमांड

man कमांड एक बहुत ही उपयोगी Linux कमांड है जिसे अवश्य जानना चाहिए। Linux के साथ काम करते समय, हमारे द्वारा डाउनलोड किए गए पैकेज में बहुत अधिक कार्यक्षमता हो सकती है। यह सब जानना असंभव है।

Linux में man कमांड का उपयोग किसी विशिष्ट कमांड के लिए मैनुअल पेज प्रदर्शित करने के लिए किया जाता है। यह कमांड के बारे में विस्तृत जानकारी प्रदान करता है, जिसमें इसका सिंटैक्स, विकल्प और उदाहरण शामिल हैं।

यहां man कमांड का उपयोग करने का एक उदाहरण है:

  1. एक टर्मिनल खोलें और ls कमांड के लिए मैनुअल पेज प्रदर्शित करने के लिए man ls टाइप करें।
root@ubuntu:~# man ls 

यह एक पेज प्रदर्शित करेगा जो कुछ इस तरह दिखता है:

LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name; ... 

कमांड सूची पर वापस जाएं ↑

uname और whoami कमांड

uname और whoami कमांड आपको कुछ बुनियादी जानकारी तक पहुंचने की अनुमति देती हैं जो तब काम आती है जब आप कई सिस्टम पर काम करते हैं।

Linux में uname कमांड सिस्टम के कर्नेल के बारे में जानकारी प्रदर्शित करती है, जिसमें कर्नेल नाम, होस्टनाम, कर्नेल रिलीज़, कर्नेल संस्करण, और मशीन हार्डवेयर नाम शामिल हैं।

Linux में whoami कमांड वर्तमान उपयोगकर्ता का उपयोगकर्ता नाम लौटाती है। यह "who am I?" के लिए खड़ा है और यह अक्सर शेल स्क्रिप्ट या टर्मिनल में वर्तमान उपयोगकर्ता की पहचान निर्धारित करने के लिए उपयोग किया जाता है।

आइए दोनों कमांड के आउटपुट और जिस तरह से हम इनका उपयोग कर सकते हैं उसे देखें।

root@ubuntu:~# uname -a 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

uname कमांड के साथ पैरामीटर -a "सभी" के लिए खड़ा है। यह पूरी जानकारी प्रिंट करता है। यदि पैरामीटर नहीं जोड़ा जाता है, तो आपको आउटपुट के रूप में केवल "Linux" मिलेगा।

नोट: uname कमांड के साथ उपयोग करने योग्य कुछ महत्वपूर्ण फ्लैग।

  1. कर्नेल नाम प्रदर्शित करने के लिए uname -s का उपयोग करें।
  2. होस्टनाम प्रदर्शित करने के लिए uname -n का उपयोग करें।
  3. कर्नेल रिलीज़ प्रदर्शित करने के लिए uname -r का उपयोग करें।
  4. कर्नेल संस्करण प्रदर्शित करने के लिए uname -v का उपयोग करें।
  5. मशीन हार्डवेयर नाम प्रदर्शित करने के लिए uname -m का उपयोग करें।

कमांड सूची पर वापस जाएं ↑

tar, zip, और unzip कमांड

Linux में tar कमांड का उपयोग आर्काइव्ड फ़ाइलें बनाने और निकालने के लिए किया जाता है। हम tar कमांड का उपयोग करके कई अलग-अलग आर्काइव फ़ाइलों को निकाल सकते हैं।

आर्काइव बनाने के लिए, हम -c पैरामीटर का उपयोग करते हैं, और आर्काइव निकालने के लिए, हम -x पैरामीटर का उपयोग करते हैं। आइए देखते हैं कि यह कैसे काम करता है।

#Compress root@ubuntu:~# tar -cvf <archive name> <files separated by space> #Extract root@ubuntu:~# tar -xvf <archive name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

पहली लाइन में, हमने New-File और New-File-Link के साथ Compress.tar नामक एक आर्काइव बनाया। अगली कमांड में, हमने उन फ़ाइलों को आर्काइव से निकाला है।

आइए zip और unzip कमांड पर चर्चा करें। दोनों बहुत सीधे हैं। आप उन्हें बिना किसी पैरामीटर के उपयोग कर सकते हैं, और वे इच्छित रूप से काम करेंगे। आइए नीचे एक उदाहरण देखें।

root@ubuntu:~# zip <archive name> <file names separated by space> root@ubuntu:~# unzip <archive name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

चूंकि वे फ़ाइलें पहले से ही उसी निर्देशिका में हैं, unzip कमांड हमें उन फ़ाइलों को ओवरराइट करने से पहले संकेत देती है।

कमांड सूची पर वापस जाएं ↑

Linux में grep कमांड

grep कमांड Linux और Unix-आधारित ऑपरेटिंग सिस्टम में एक शक्तिशाली और बहुमुखी टेक्स्ट खोज टूल है। यह एक या अधिक फ़ाइलों में विशिष्ट पैटर्न या स्ट्रिंग खोज सकता है और अन्य कमांड के आउटपुट को फ़िल्टर कर सकता है।

grep कमांड "ग्लोबल रेगुलर एक्सप्रेशन प्रिंट" के लिए खड़ा है, जो कई लाइनों और फ़ाइलों में नियमित अभिव्यक्तियों को खोजने की इसकी क्षमता को दर्शाता है।

root@ubuntu:~# <Any command with output> | grep "<string to find>" 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

यह कमांड का एक सरल प्रदर्शन था। grep कमांड के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

head और tail कमांड

बड़ी फ़ाइलों को आउटपुट करते समय, head और tail कमांड काम आती हैं। ये कमांड क्रमशः फ़ाइल की शुरुआत या अंत को प्रदर्शित करती हैं। इनका उपयोग आमतौर पर टेक्स्ट एडिटर में खोले बिना फ़ाइल की सामग्री को तुरंत देखने के लिए किया जाता है।

head और tail कमांड डिफ़ॉल्ट रूप से फ़ाइल की पहली 10 लाइनें प्रदर्शित करती हैं। एक अलग संख्या में लाइनें प्रदर्शित करने के लिए, आप -n विकल्प का उपयोग कर सकते हैं, इसके बाद आप जितनी लाइनें प्रदर्शित करना चाहते हैं उनकी संख्या।

यहां head और tail कमांड का उपयोग करने का एक उदाहरण है:

root@ubuntu:~# head <file name> root@ubuntu:~# tail <file name> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप देख सकते हैं, head कमांड ने फ़ाइल के ऊपर से 10 लाइनें दिखाईं।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

tail कमांड ने फ़ाइल के नीचे से 10 लाइनें आउटपुट कीं।

इन कमांड का उपयोग फ़ाइल की सामग्री को तुरंत देखने, समस्या निवारण के लिए रीयल-टाइम अपडेट की निगरानी, अन्य कमांड से आउटपुट फ़िल्टर करने, और लॉग विश्लेषण करने के लिए किया जा सकता है।

कमांड सूची पर वापस जाएं ↑

diff, comm, और cmp कमांड

diff, comm, और cmp कमांड सभी Linux और Unix-आधारित ऑपरेटिंग सिस्टम में फ़ाइलों की तुलना करने के लिए उपयोग किए जाते हैं। इन कमांड का उपयोग दो फ़ाइलों के बीच अंतर की पहचान करने, परिवर्तनों को मर्ज करने, और अन्य फ़ाइल तुलना कार्यों को करने के लिए किया जा सकता है।

root@ubuntu:~# diff <file 1> <file 2> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप ऊपर देख सकते हैं, हमने New-File-Edited फ़ाइल में एक छोटा सा टेक्स्ट जोड़ा है जिसमें लिखा है, "This line is edited"।

cmp कमांड का उपयोग दो फ़ाइलों की तुलना करने और उनके बीच अलग पहले बाइट को प्रदर्शित करने के लिए किया जाता है। इसका उपयोग बाइनरी फ़ाइलों के बीच अंतर की पहचान करने या फ़ाइलों में करप्शन की जांच के लिए किया जा सकता है।

root@ubuntu:~# cmp <file 1> <file 2> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

cmp कमांड केवल हमें लाइन नंबर बताती है, जो अलग है। वास्तविक टेक्स्ट नहीं।

comm कमांड का उपयोग दो सॉर्ट की गई फ़ाइलों की तुलना करने और उन लाइनों को प्रदर्शित करने के लिए किया जाता है जो प्रत्येक फ़ाइल के लिए अद्वितीय हैं, साथ ही वे लाइनें जो दोनों फ़ाइलों के लिए सामान्य हैं।

root@ubuntu:~# comm <file 1> <file2> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

बाएं अलाइन टेक्स्ट केवल file 1 में मौजूद है। सेंटर-अलाइन टेक्स्ट केवल file 2 में मौजूद है। और राइट-अलाइन टेक्स्ट दोनों फ़ाइलों में मौजूद है।

दिखने से, comm कमांड सबसे अधिक समझ में आती है जब हम बड़ी फ़ाइलों की तुलना करने की कोशिश कर रहे होते हैं और सब कुछ एक साथ व्यवस्थित देखना चाहते हैं।

ये तीनों कमांड Linux और Unix-आधारित ऑपरेटिंग सिस्टम में फ़ाइलों के साथ काम करने के लिए आवश्यक उपकरण हैं। diff, comm, और cmp कमांड को प्रभावी ढंग से उपयोग करने के तरीके को समझकर, आप फ़ाइलों के बीच अंतर की पहचान कर सकते हैं, परिवर्तनों को मर्ज कर सकते हैं, और अन्य फ़ाइल तुलना कार्य कर सकते हैं।

ये कमांड आपको फ़ाइलों के साथ मुद्दों की पहचान और समाधान करने, साथ ही परिवर्तनों को ट्रैक करने और वर्जन नियंत्रण बनाए रखने में मदद कर सकते हैं। चाहे आप एक डेवलपर हों या सिस्टम प्रशासक, ये कमांड आपके टूलकिट का एक अनिवार्य हिस्सा हैं।

कमांड सूची पर वापस जाएं ↑

Linux में sort कमांड

sort कमांड का उपयोग Linux और Unix-आधारित ऑपरेटिंग सिस्टम में टेक्स्ट फ़ाइल या मानक इनपुट में लाइनों को सॉर्ट करने के लिए किया जाता है। इसका उपयोग लाइनों को आरोही या अवरोही क्रम में सॉर्ट करने और अन्य सॉर्टिंग ऑपरेशन करने के लिए किया जा सकता है, जैसे फ़ील्ड द्वारा सॉर्ट करना या कस्टम सॉर्टिंग ऑर्डर का उपयोग करना।

sort कमांड का मूल सिंटैक्स है:

root@ubuntu:~# sort <filename> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

डिफ़ॉल्ट रूप से, sort कमांड लाइनों को ASCII कोलेटिंग सीक्वेंस में सॉर्ट करती है, जो संख्याओं या विशेष वर्णों को सॉर्ट करते समय अप्रत्याशित परिणाम दे सकती है। संख्याओं को संख्यात्मक क्रम में सॉर्ट करने के लिए, आप -n विकल्प का उपयोग कर सकते हैं।

यहां -n विकल्प का उपयोग करने का एक उदाहरण है:

root@ubuntu:~# sort -n file.txt 

उपरोक्त कमांड file.txt में लाइनों को संख्यात्मक क्रम में सॉर्ट करेगी।

sort कमांड का उपयोग -k विकल्प का उपयोग करके विशिष्ट फ़ील्ड के आधार पर लाइनों को सॉर्ट करने के लिए भी किया जा सकता है।

यहां -k विकल्प का उपयोग करने का एक उदाहरण है:

root@ubuntu:~# sort -k 2 file.txt 

यह कमांड file.txt में लाइनों को दूसरे फ़ील्ड के आधार पर सॉर्ट करेगी।

sort कमांड Linux और Unix-आधारित ऑपरेटिंग सिस्टम में टेक्स्ट फ़ाइलों के साथ काम करने के लिए एक शक्तिशाली और लचीला उपकरण है। sort कमांड को प्रभावी ढंग से उपयोग करने के तरीके को समझकर, आप टेक्स्ट फ़ाइलों में लाइनों को सॉर्ट कर सकते हैं, विशिष्ट फ़ील्ड के आधार पर लाइनों को सॉर्ट कर सकते हैं, और अन्य सॉर्टिंग ऑपरेशन कर सकते हैं।

ये कमांड आपको डेटा को व्यवस्थित और विश्लेषण करने और अन्य फ़ाइल हेरफेर कार्यों को करने में मदद कर सकते हैं। चाहे आप एक डेवलपर हों या सिस्टम प्रशासक, sort कमांड आपके टूलकिट का एक अनिवार्य हिस्सा है।

कमांड सूची पर वापस जाएं ↑

Linux में export कमांड

Linux और Unix-आधारित ऑपरेटिंग सिस्टम में export कमांड का उपयोग पर्यावरण चर सेट करने के लिए किया जाता है। पर्यावरण चर का उपयोग उस जानकारी को संग्रहीत करने के लिए किया जाता है जिसका उपयोग प्रोसेस या कमांड द्वारा किया जा सकता है।

एक बार पर्यावरण चर सेट हो जाने पर, इसे उसी शेल में चल रहे किसी भी प्रोसेस या कमांड द्वारा एक्सेस किया जा सकता है।

पर्यावरण चर का उपयोग कॉन्फ़िगरेशन सेटिंग्स, उपयोगकर्ता प्राथमिकताएं, या सिस्टम जानकारी जैसी जानकारी की एक विस्तृत श्रृंखला को संग्रहीत करने के लिए किया जा सकता है।

यहां export कमांड का उपयोग करने का एक उदाहरण है:

root@ubuntu:~# export <variable name>=<value> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

export कमांड के बारे में और जानें

कमांड सूची पर वापस जाएं ↑

Linux में ssh कमांड

Linux और Unix-आधारित ऑपरेटिंग सिस्टम में ssh कमांड एक रिमोट सर्वर के लिए सिक्योर शेल कनेक्शन स्थापित करती है। कमांड स्थानीय और रिमोट सर्वर के बीच एक सुरक्षित एन्क्रिप्टेड कनेक्शन प्रदान करती है, जिससे उपयोगकर्ता कमांड चला सकते हैं और फ़ाइलों को सुरक्षित रूप से ट्रांसफर कर सकते हैं।

ssh कमांड का मूल सिंटैक्स है:

root@ubuntu:~ ssh username@remote-server 

यह कमांड username खाते का उपयोग करके remote-server के लिए एक ssh कनेक्शन स्थापित करती है।

ssh कमांड विकल्पों और कॉन्फ़िगरेशन की एक विस्तृत श्रृंखला का समर्थन करती है, जिसमें शामिल हैं:

  • प्रमाणीकरण विधियों को कॉन्फ़िगर करना (पासवर्ड, पब्लिक की, आदि)
  • एन्क्रिप्शन एल्गोरिदम कॉन्फ़िगर करना
  • कम्प्रेशन कॉन्फ़िगर करना
  • पोर्ट फ़ॉरवर्डिंग कॉन्फ़िगर करना
  • X11 फ़ॉरवर्डिंग कॉन्फ़िगर करना
  • SSH कीज़ कॉन्फ़िगर करना

Linux में service कमांड

Linux में service कमांड का उपयोग सिस्टम सेवाओं को प्रबंधित करने के लिए किया जाता है, जो बूट समय पर शुरू होने वाली और बैकग्राउंड में चलने वाली लंबी चलने वाली प्रोसेस हैं। ये सेवाएं नेटवर्किंग, डेटाबेस प्रबंधन, और उपयोगकर्ता प्रमाणीकरण जैसे विभिन्न सिस्टम कार्यक्षमता प्रदान करने के लिए जिम्मेदार हैं।

service कमांड का उपयोग इन सेवाओं को शुरू, रोक, पुनरारंभ, और स्थिति जांचने के लिए किया जाता है। यह systemctl कमांड का एक फ्रंट-एंड है, जिसका उपयोग systemd सेवा प्रबंधक को प्रबंधित करने के लिए किया जाता है।

कमांड का मूल सिंटैक्स नीचे दिया गया है।

root@ubuntu:~ service ssh status root@ubuntu:~ service ssh stop root@ubuntu:~ service ssh start 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप छवि में देख सकते हैं, ssh सर्वर हमारे सिस्टम पर चल रहा है।

कमांड सूची पर वापस जाएं ↑

ps, kill, और killall कमांड

ps, kill, और killall कमांड सभी Linux में प्रोसेस को प्रबंधित करने के लिए उपयोग किए जाते हैं।

ps कमांड का उपयोग सिस्टम पर वर्तमान में चल रहे प्रोसेस के बारे में जानकारी प्रदर्शित करने के लिए किया जाता है। यहां ps कमांड का उपयोग करने के कुछ उदाहरण हैं:

सभी चल रहे प्रोसेस की सूची प्रदर्शित करें:

root@ubuntu:~ ps -ef 

किसी विशिष्ट प्रोसेस ID (PID) के लिए सभी प्रोसेस की सूची प्रदर्शित करें:

root@ubuntu:~ ps -p PID 

आइए यह सब कार्रवाई में देखें:

root@ubuntu:~ ps root@ubuntu:~ kill <process ID> root@ubuntu:~ killall <process name> 

प्रदर्शन उद्देश्यों के लिए, हम एक अनंत लूप के साथ एक शेल स्क्रिप्ट बनाएंगे और इसे बैकग्राउंड में चलाएंगे।

& प्रतीक के उपयोग से, हम एक प्रोसेस को बैकग्राउंड में पास कर सकते हैं। जैसा कि आप देख सकते हैं, PID 14490 के साथ एक नया बैश प्रोसेस बनाया गया है।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

अब, kill कमांड से एक प्रोसेस को मारने के लिए, आप kill टाइप कर सकते हैं इसके बाद प्रोसेस का PID (प्रोसेस आईडी)।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

लेकिन अगर आप प्रोसेस ID नहीं जानते हैं और केवल नाम से प्रोसेस को मारना चाहते हैं, तो आप killall कमांड का उपयोग कर सकते हैं।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

आप देखेंगे कि PID 14490 सक्रिय रहा। ऐसा इसलिए है क्योंकि, दोनों बार, हमने sleep प्रोसेस को मारा।

ps कमांड और kill कमांड के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

df और mount कमांड

Linux के साथ काम करते समय, df और mount कमांड फाइलसिस्टम को माउंट करने और फाइल सिस्टम का विवरण प्राप्त करने के लिए बहुत कुशल यूटिलिटी हैं।

df कमांड का उपयोग फाइल सिस्टम पर उपयोग किए गए और उपलब्ध डिस्क स्पेस की मात्रा को प्रदर्शित करने के लिए किया जाता है, और mount कमांड का उपयोग किसी फाइल सिस्टम या डिवाइस को किसी विशिष्ट निर्देशिका पर माउंट करने के लिए किया जाता है।

जब हम mount कहते हैं, तो इसका मतलब है कि हम डिवाइस को एक फ़ोल्डर से कनेक्ट करेंगे ताकि हम अपने फाइलसिस्टम से फ़ाइलों तक पहुंच सकें। फाइलसिस्टम को माउंट करने का डिफ़ॉल्ट सिंटैक्स नीचे दिया गया है:

root@ubuntu:~ mount /dev/cdrom /mnt root@ubuntu:~ df -h 

उपरोक्त मामले में, /dev/cdrom वह डिवाइस है जिसे माउंट करने की आवश्यकता है। आमतौर पर, एक माउंटेबल डिवाइस /dev फ़ोल्डर के अंदर पाया जाता है। mnt वह गंतव्य फ़ोल्डर है जिस पर डिवाइस को माउंट करना है। आप इसे किसी भी फ़ोल्डर में बदल सकते हैं, लेकिन हमने /mnt का उपयोग किया है क्योंकि यह डिवाइस माउंट करने के लिए सिस्टम का डिफ़ॉल्ट फ़ोल्डर है।

माउंटेड डिवाइस को देखने और उनके बारे में अधिक जानकारी प्राप्त करने के लिए, हम df कमांड का उपयोग करते हैं। बस df टाइप करने से हमें डेटा बाइट्स में मिलेगा, जो पढ़ने योग्य नहीं है। इसलिए, हम डेटा को मानव-पठनीय बनाने के लिए -h पैरामीटर का उपयोग करेंगे।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

कमांड सूची पर वापस जाएं ↑

chmod और chown कमांड

chmod और chown कमांड का उपयोग Linux में फ़ाइल अनुमतियों और स्वामित्व को संशोधित करने के लिए किया जाता है।

chmod कमांड का उपयोग फ़ाइल या निर्देशिका की अनुमतियों को बदलने के लिए किया जाता है, और chown कमांड का उपयोग फ़ाइल या निर्देशिका के स्वामित्व को बदलने के लिए किया जाता है

दोनों कमांड के लिए डिफ़ॉल्ट सिंटैक्स chmod <parameter> filename और chown <user:group> filename है

root@ubuntu:~ chmod +x loop.sh root@ubuntu:~ chmod root:root loop.sh 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

ऊपर के उदाहरण में, हम chmod कमांड के साथ loop.sh फ़ाइल में निष्पादन अनुमतियां जोड़ रहे हैं। इसके अलावा, chown कमांड के साथ, हमने इसे केवल रूट उपयोगकर्ता और रूट समूह के उपयोगकर्ताओं के लिए सुलभ बना दिया है।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

जैसा कि आप देखेंगे, root root भाग अब www-data में बदल गया है जो नया उपयोगकर्ता है जिसके पास पूर्ण फ़ाइल स्वामित्व है।

Linux फ़ाइल अनुमतियों और chmod कमांड का उपयोग करने के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

ifconfig और traceroute कमांड

ifconfig और traceroute कमांड Linux में नेटवर्क इंटरफेस का प्रबंधन करते हैं और नेटवर्क पैकेट के मार्ग का पता लगाते हैं।

ifconfig कमांड आपको IP पते, MAC पते और इंटरफेस के बारे में अन्य जानकारी के साथ सभी नेटवर्क इंटरफेस की सूची देगी।

root@ubuntu:~ ifconfig 

कई पैरामीटर हैं जिनका उपयोग किया जा सकता है, लेकिन हम यहां बुनियादी कमांड के साथ काम करेंगे।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

traceroute कमांड का उपयोग नेटवर्क पैकेट के मार्ग का पता लगाने और उनके द्वारा किसी विशिष्ट गंतव्य तक पहुंचने के लिए लिए गए पथ को निर्धारित करने के लिए किया जाता है।

traceroute के साथ काम करते समय, आप बस समापन बिंदु का IP पता, होस्टनाम, या डोमेन नाम निर्दिष्ट कर सकते हैं।

root@ubuntu:~ traceroute <destination address> 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

अब, जाहिर है, localhost सिर्फ एक हॉप है (नेटवर्क इंटरफेस ही)। आप किसी अन्य डोमेन नाम या IP पते के साथ इस समान कमांड को आज़मा सकते हैं ताकि आपके डेटा पैकेट गंतव्य तक पहुंचने के लिए जिन राउटर्स से गुजरते हैं उन सभी को देख सकें।

कमांड सूची पर वापस जाएं ↑

Linux में wget कमांड

यदि आप टर्मिनल के भीतर से कोई फ़ाइल डाउनलोड करना चाहते हैं, तो wget कमांड उपलब्ध सबसे आसान कमांड-लाइन यूटिलिटी में से एक है। यह उन महत्वपूर्ण Linux कमांड में से एक है जिन्हें आपको स्रोत फ़ाइलों के साथ काम करते समय जानना चाहिए।

जब आप डाउनलोड के लिए लिंक निर्दिष्ट करते हैं, तो यह सीधे फ़ाइल का लिंक होना चाहिए। यदि फ़ाइल wget कमांड द्वारा एक्सेस नहीं की जा सकती, तो यह आपके द्वारा चाही गई वास्तविक फ़ाइल के बजाय केवल वेबपेज को HTML फॉर्मेट में डाउनलोड करेगी।

आइए एक उदाहरण आज़माएं। wget कमांड का मूल सिंटैक्स है :

root@ubuntu:~ wget <link to file> 

या,

root@ubuntu:~ wget -c <link to file> 

-c आर्गुमेंट हमें बाधित डाउनलोड को फिर से शुरू करने की अनुमति देता है।

कमांड सूची पर वापस जाएं ↑

ufw और iptables कमांड

ufw और iptables कमांड का उपयोग Linux में फ़ायरवॉल प्रबंधित करने के लिए किया जाता है।

UFW और IPTables Linux कर्नेल के नेटफिल्टर फ़ायरवॉल के लिए फ़ायरवॉल इंटरफेस हैं। IPTables सीधे फ़ायरवॉल नियमों को नेटफिल्टर को पास करता है जबकि UFW नियमों को IPTables में कॉन्फ़िगर करता है, जो फिर उन नियमों को नेटफिल्टर को भेजता है।

जब हमारे पास IPTables है तो हमें UFW की आवश्यकता क्यों है? क्योंकि IPTables एक नौसिखिए के लिए काफी कठिन है। UFW चीजों को बेहद आसान बनाता है। नीचे दिए गए उदाहरण को देखें जहां हम अपने वेबसर्वर के लिए पोर्ट 80 की अनुमति देने की कोशिश कर रहे हैं।

root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT root@ubuntu:~# ufw allow 80 

मुझे यकीन है कि अब आप जानते हैं कि UFW क्यों बनाया गया था! देखें कि सिंटैक्स कितना आसान हो जाता है। ये दोनों फ़ायरवॉल बहुत व्यापक हैं और आपको अपने नेटवर्क के लिए आवश्यक किसी भी प्रकार का कॉन्फ़िगरेशन बनाने की अनुमति दे सकते हैं। कम से कम UFW या IPTables फ़ायरवॉल की मूल बातें सीखें, क्योंकि ये वे Linux कमांड हैं जिन्हें आपको अवश्य जानना चाहिए।

ufw के साथ फ़ायरवॉल प्रबंधन और iptables के साथ फ़ायरवॉल प्रबंधन के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

Linux में पैकेज मैनेजर

विभिन्न Linux वितरण विभिन्न पैकेज मैनेजर का उपयोग करते हैं। चूंकि हम एक Ubuntu सर्वर पर काम कर रहे हैं, हमारे पास apt पैकेज मैनेजर है। लेकिन Fedora, Red Hat, Arch, या CentOS मशीन पर काम करने वाले किसी व्यक्ति के लिए, पैकेज मैनेजर अलग होगा।

नीचे विभिन्न Linux वितरणों पर इन पैकेज मैनेजर का उपयोग करने के तरीके पर कमांड हैं।

  • Debian और Debian-आधारित डिस्ट्रो - apt install <package name>
  • Arch और Arch-आधारित डिस्ट्रो - pacman -S <package name>
  • Red Hat और Red Hat-आधारित डिस्ट्रो - yum install <package name>
  • Fedora और CentOS - yum install <package>

अपने वितरण के पैकेज मैनेजर के साथ खुद को अच्छी तरह से परिचित करना लंबे समय में आपके लिए चीजों को बहुत आसान बना देगा। इसलिए भले ही आपके पास GUI आधारित पैकेज प्रबंधन टूल इंस्टॉल हो, CLI आधारित टूल का उपयोग करने का प्रयास करें इससे पहले कि आप GUI यूटिलिटी पर जाएं। इन्हें अपनी अवश्य जानने योग्य Linux कमांड की सूची में जोड़ें।

कमांड सूची पर वापस जाएं ↑

Linux में sudo कमांड

"बड़ी शक्ति के साथ बड़ी जिम्मेदारी आती है"_

यह वह उद्धरण है जो तब प्रदर्शित होता है जब एक sudo-सक्षम उपयोगकर्ता (sudoer) पहली बार विशेषाधिकार बढ़ाने के लिए sudo कमांड का उपयोग करता है। यह कमांड root के रूप में लॉग इन करने के बराबर है (इस आधार पर कि एक sudoer के रूप में आपके पास क्या अनुमतियां हैं)।

non-root-user@ubuntu:~# sudo <command you want to run> Password: 

बस किसी भी कमांड से पहले sudo कमांड जोड़ें जिसे आपको बढ़े हुए विशेषाधिकारों के साथ चलाने की आवश्यकता है, और बस। इसका उपयोग करना बहुत सरल है, लेकिन अगर कोई दुर्भावनापूर्ण उपयोगकर्ता sudoer तक पहुंच प्राप्त कर लेता है तो यह एक अतिरिक्त सुरक्षा जोखिम भी हो सकता है।

नया sudo उपयोगकर्ता बनाने और sudoers फ़ाइल संपादित करने के बारे में और जानें।

कमांड सूची पर वापस जाएं ↑

Linux में cal कमांड

क्या आपने कभी टर्मिनल में कैलेंडर देखना चाहा है? जाहिर तौर पर ऐसे लोग हैं जो ऐसा चाहते हैं, और ठीक है, यहां यह है।

cal कमांड टर्मिनल पर एक अच्छी तरह से प्रस्तुत कैलेंडर प्रदर्शित करती है। बस अपने टर्मिनल प्रॉम्प्ट पर कमांड cal दर्ज करें।

root@ubuntu:~# cal root@ubuntu:~# cal March 2024 

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

हालांकि हमें इसकी अक्सर आवश्यकता नहीं होती, यह एक बढ़िया अतिरिक्त है! यह टर्मिनल प्रेमियों के लिए एक अद्भुत विकल्प है।

कमांड सूची पर वापस जाएं ↑

alias कमांड

क्या आपके पास कुछ कमांड हैं जिन्हें आप टर्मिनल का उपयोग करते समय बहुत बार चलाते हैं? यह rm -r या ls -l हो सकता है, या यह tar -xvzf जैसा कुछ लंबा हो सकता है।

यह उन उत्पादकता-बढ़ाने वाले Linux कमांड में से एक है जिन्हें आपको अवश्य जानना चाहिए।

यदि आप कोई कमांड जानते हैं जिसे आप बहुत बार चलाते हैं, तो alias बनाने का समय आ गया है।

Alias क्या है? सरल शब्दों में, यह एक कमांड के लिए आपके द्वारा परिभाषित एक और नाम है।

root@ubuntu:~# alias lsl="ls -l" OR root@ubuntu:~# alias rmd="rm -r" 

अब, हर बार जब आप टर्मिनल में lsl या rmd दर्ज करेंगे, तो आपको वही आउटपुट मिलेगा जो आपको मिला होता अगर आपने पूरी कमांड का उपयोग किया होता।

यहां दिए गए उदाहरण वास्तव में छोटी कमांड के लिए हैं जिन्हें आप अभी भी हर बार हाथ से टाइप कर सकते हैं। लेकिन कुछ स्थितियों में जहां एक कमांड में बहुत सारे आर्गुमेंट होते हैं जिन्हें आपको टाइप करने की आवश्यकता होती है, उसी का एक संक्षिप्त संस्करण बनाना सबसे अच्छा है।

कमांड सूची पर वापस जाएं ↑

Linux में dd कमांड

यह कमांड कई फाइल सिस्टम फॉर्मेट से फ़ाइलों को कन्वर्ट और कॉपी करने के लिए बनाया गया था। वर्तमान समय में, कमांड का उपयोग केवल Linux के लिए बूटेबल USB बनाने के लिए किया जाता है लेकिन अभी भी कमांड के साथ कुछ महत्वपूर्ण चीजें हैं जो आप कर सकते हैं।

Linux में dd कमांड निम्न-स्तरीय कॉपी और डेटा के रूपांतरण के लिए उपयोग की जाने वाली एक बहुमुखी कमांड है। यह "डेटा-डिस्क्रिप्शन" या "डेटा डेफिनिशन" के लिए खड़ा है, और इसका उपयोग विभिन्न फ़ाइल फॉर्मेट और स्टोरेज डिवाइस के बीच डेटा को कॉपी और कन्वर्ट करने के लिए किया जा सकता है।

उदाहरण के लिए, यदि हम पूरे हार्ड ड्राइव को जैसा है वैसा ही किसी अन्य ड्राइव पर बैक अप करना चाहते हैं, तो हम dd कमांड का उपयोग करेंगे।

root@ubuntu:~# dd if=/dev/sdb of=/dev/sda 

if और of आर्गुमेंट इनपुट फ़ाइल और आउटपुट फ़ाइल के लिए खड़े हैं।

यह एक शक्तिशाली और लचीला उपकरण है, लेकिन अगर सावधानी से उपयोग नहीं किया गया तो यह खतरनाक भी हो सकता है। निष्पादित करने से पहले हमेशा अपने सिंटैक्स को दोबारा जांचें और सुनिश्चित करें कि आप जानते हैं कि कमांड क्या करेगा।

कमांड सूची पर वापस जाएं ↑

whereis और whatis कमांड

whereis और whatis कमांड का उपयोग Linux में प्रोग्राम और फ़ाइलों के बारे में जानकारी खोजने के लिए किया जाता है।

whereis कमांड किसी विशिष्ट कमांड या प्रोग्राम के लिए बाइनरी, स्रोत, और मैनुअल पेज का पता लगाती है, और whatis कमांड किसी कमांड या प्रोग्राम का संक्षिप्त विवरण प्रदर्शित करती है।

root@ubuntu:~# whereis sudo sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz 

whatis कमांड हमें इस बात का विवरण देती है कि कोई कमांड वास्तव में क्या है।

root@ubuntu:~# whatis sudo sudo (8) - execute a command as another user 

कमांड सूची पर वापस जाएं ↑

Linux में top कमांड

कुछ अनुभाग पहले, हमने ps कमांड के बारे में बात की थी। आपने देखा कि ps कमांड सक्रिय प्रोसेस को आउटपुट करेगी और खुद को समाप्त कर देगी।

top कमांड Windows में टास्क मैनेजर के CLI संस्करण की तरह है।

Linux में top कमांड एक सिस्टम मॉनिटरिंग टूल है जो सिस्टम प्रोसेस और संसाधन उपयोग के बारे में रीयल-टाइम जानकारी प्रदर्शित करता है। यह CPU उपयोग, मेमोरी उपयोग, और प्रोसेस जानकारी सहित सिस्टम गतिविधि का एक डायनामिक, रीयल-टाइम दृश्य प्रदान करता है।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

नोट: यहां top कमांड का उपयोग करने के कुछ उदाहरण हैं:

  • प्रोसेस को मेमोरी उपयोग के अनुसार सॉर्ट करें:
root@ubuntu:~# top -o MEM 

यह प्रोसेस सूची को मेमोरी उपयोग के अनुसार सॉर्ट करेगा, जिसमें सबसे अधिक मेमोरी-गहन प्रोसेस शीर्ष पर होंगे।

  • किसी विशिष्ट प्रोसेस के बारे में विस्तृत जानकारी प्रदर्शित करें:
root@ubuntu:~# top -p PID 

PID को उस प्रोसेस की ID से बदलें जिसका आप निरीक्षण करना चाहते हैं।

  • सिस्टम संसाधन उपयोग का सारांश प्रदर्शित करें:
root@ubuntu:~# top -n 1 

यह सिस्टम संसाधन उपयोग का एक सिंगल सारांश स्क्रीन प्रदर्शित करेगा।

यह सिस्टम गतिविधि की निगरानी और प्रदर्शन समस्याओं के निवारण के लिए एक शक्तिशाली और लचीला उपकरण है।

कमांड सूची पर वापस जाएं ↑

useradd और usermod कमांड

useradd और usermod कमांड का उपयोग Linux में उपयोगकर्ता खातों को प्रबंधित करने के लिए किया जाता है।

useradd या adduser कमांड सटीक समान कमांड हैं जहां adduser केवल useradd कमांड का एक सिम्बोलिक लिंक है। यह कमांड हमें Linux में एक नया उपयोगकर्ता बनाने की अनुमति देती है।

root@ubuntu:~# useradd JournalDev -d /home/JD 

उपरोक्त कमांड JournalDev नामक एक नया उपयोगकर्ता बनाएगी जिसका होम डायरेक्टरी /home/JD होगा।

usermod कमांड, दूसरी ओर, मौजूदा उपयोगकर्ताओं को संशोधित करने के लिए उपयोग की जाती है। आप उपयोगकर्ता के किसी भी मान को संशोधित कर सकते हैं जिसमें समूह, अनुमतियां, आदि शामिल हैं।

उदाहरण के लिए, यदि आप उपयोगकर्ता में और समूह जोड़ना चाहते हैं, तो आप टाइप कर सकते हैं:

root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql 

कमांड सूची पर वापस जाएं ↑

Linux में passwd कमांड

अब जब आप जानते हैं कि नए उपयोगकर्ता कैसे बनाएं, तो आइए उनके लिए पासवर्ड भी सेट करें। passwd कमांड आपको अपने खाते के लिए पासवर्ड सेट करने देती है, या यदि आपके पास अनुमतियां हैं, तो अन्य खातों के लिए पासवर्ड सेट करें।

यहां passwd कमांड का उपयोग करने के कुछ उदाहरण हैं:

  • वर्तमान उपयोगकर्ता के लिए पासवर्ड बदलें:

    root@ubuntu:~# passwd 

यह आपको वर्तमान उपयोगकर्ता के लिए एक नया पासवर्ड दर्ज करने के लिए संकेत देगा।

  • किसी विशिष्ट उपयोगकर्ता के लिए पासवर्ड बदलें:

    root@ubuntu:~# passwd username 

username को उस उपयोगकर्ता के नाम से बदलें जिसका पासवर्ड आप बदलना चाहते हैं।

  • अगले लॉगिन पर उपयोगकर्ता को अपना पासवर्ड बदलने के लिए बाध्य करें:

    root@ubuntu:~# passwd -f username 
  • उपयोगकर्ता के पासवर्ड के लिए समाप्ति तिथि सेट करें:

    root@ubuntu:~# passwd -e -n days -w warndays username 

days को पासवर्ड समाप्त होने से पहले के दिनों की संख्या से बदलें और warm days को पासवर्ड समाप्त होने से पहले के दिनों की संख्या से बदलें जब उपयोगकर्ता को चेतावनी दी जाएगी।

ये Linux में passwd कमांड का उपयोग करने के कुछ उदाहरण हैं। इस कमांड को प्रभावी ढंग से उपयोग करने के तरीके को समझकर, आप उपयोगकर्ता खातों का प्रबंधन कर सकते हैं और यह सुनिश्चित कर सकते हैं कि आपका सिस्टम सुरक्षित है।

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांड

कमांड सूची पर वापस जाएं ↑

सामान्य त्रुटियाँ और डीबगिंग

Linux कमांड के साथ काम करते समय, आप विभिन्न त्रुटियों और मुद्दों का सामना कर सकते हैं। यहां कुछ सामान्य समस्याएं और उन्हें हल करने के तरीके दिए गए हैं:

1. "कमांड नहीं मिली" त्रुटियों को ठीक करना

यदि आपको command not found त्रुटि प्राप्त होती है, तो इसका मतलब है कि आप जो कमांड चलाने का प्रयास कर रहे हैं वह सिस्टम द्वारा मान्यता प्राप्त नहीं है। यह कई कारणों से हो सकता है:

  1. कमांड आपके सिस्टम पर इंस्टॉल नहीं है। आप इसे अपने पैकेज मैनेजर (जैसे apt, yum, dnf) का उपयोग करके इंस्टॉल कर सकते हैं।

    यदि आप देखते हैं:

    bash: xyz: command not found 

    उपयोग करें:

    which xyz 

    यदि कमांड इंस्टॉल नहीं है, तो इंस्टॉल करने का प्रयास करें:

    apt-get install <package-name> 
  2. कमांड आपके सिस्टम के PATH में नहीं है। आप कमांड वाले निर्देशिका को अपने PATH में जोड़ सकते हैं।

    export PATH=$PATH:/path/to/command 
  3. आपने टाइपो किया है। किसी भी वर्तनी त्रुटि के लिए कमांड को दोबारा जांचें।

2. sudo के साथ अनुमति समस्याओं को हल करना

यदि आप अनुमति समस्याओं का सामना करते हैं, तो आप कमांड को सुपरयूजर विशेषाधिकारों के साथ चलाने के लिए sudo का उपयोग कर सकते हैं। उदाहरण के लिए:

sudo command_name 

3. फ़ाइल विरोधों को संभालना

फ़ाइल विरोध तब हो सकते हैं जब कई उपयोगकर्ता या प्रोसेस एक ही फ़ाइल को एक साथ संशोधित करने का प्रयास करते हैं। फ़ाइल विरोधों को संभालने के कुछ तरीके यहां दिए गए हैं:

  1. वर्जन कंट्रोल सिस्टम (VCS) का उपयोग करें: Git जैसे टूल फ़ाइलों में परिवर्तनों को मर्ज करने और विरोधों को मैन्युअल रूप से हल करने की अनुमति देकर फ़ाइल विरोधों को प्रबंधित करने में मदद कर सकते हैं।

    git merge <branch_name> 

    यदि विरोध हैं, तो Git आपको उन्हें हल करने के लिए संकेत देगा। विरोधी फ़ाइलें खोलें, आवश्यक परिवर्तन करें, और फिर हल की गई फ़ाइलों को कमिट करें।

    git add <resolved_file> git commit -m "Resolved merge conflict" 
  2. लॉकिंग तंत्र: एक ही फ़ाइल पर एक साथ कई प्रोसेस को लिखने से रोकने के लिए फ़ाइल लॉकिंग लागू करें। Linux में फ़ाइल पर लॉक बनाने के लिए flock का उपयोग करें।

    flock -x <file> -c "<command>" 
  3. एटॉमिक ऑपरेशन: एटॉमिक ऑपरेशन का उपयोग यह सुनिश्चित करने के लिए करें कि फ़ाइल राइट एक ही चरण में पूरे हों, जिससे विरोधों का जोखिम कम हो।

    mv temp_file target_file 

    या, mv के साथ -f (फोर्स) या cp के साथ -i (इंटरएक्टिव) का उपयोग करें:

    mv -f file1 file2 cp -i file1 file2 

4. प्रदर्शन बॉटलनेक डीबग करना

प्रदर्शन बॉटलनेक आपके सिस्टम की दक्षता को महत्वपूर्ण रूप से प्रभावित कर सकते हैं। उन्हें डीबग और हल करने के कुछ चरण यहां दिए गए हैं:

  1. बॉटलनेक की पहचान करें: top, htop, vmstat, और iostat जैसे टूल का उपयोग करके सिस्टम प्रदर्शन की निगरानी करें और बॉटलनेक पैदा करने वाले संसाधन (CPU, मेमोरी, डिस्क I/O, आदि) की पहचान करें।

    top 
  2. लॉग का विश्लेषण करें: किसी भी त्रुटि या चेतावनी के लिए सिस्टम और एप्लिकेशन लॉग की जांच करें जो प्रदर्शन समस्याओं का संकेत दे सकते हैं।

    tail -f /var/log/syslog 
  3. कोड ऑप्टिमाइज़ करें: प्रदर्शन में सुधार के लिए अपने कोड की समीक्षा और ऑप्टिमाइज़ करें। अक्षम एल्गोरिदम, अनावश्यक गणनाएं, और मेमोरी लीक देखें।

  4. अपने एप्लिकेशन को प्रोफाइल करें: अपने एप्लिकेशन के प्रदर्शन का विश्लेषण करने और धीमे फ़ंक्शन या मेमोरी मुद्दों की पहचान करने के लिए gprof, perf, या valgrind जैसे प्रोफाइलिंग टूल का उपयोग करें।

    gprof <executable> gmon.out 
  5. संसाधन स्केल करें: यदि बॉटलनेक संसाधन सीमाओं के कारण है, तो अपने हार्डवेयर को स्केल अप करने या लोड को कई सर्वरों पर वितरित करने के लिए लोड बैलेंसिंग का उपयोग करने पर विचार करें।

अक्सर पूछे जाने वाले प्रश्न (FAQs)

1. सबसे अधिक उपयोग की जाने वाली Linux कमांड कौन सी हैं?

सबसे अधिक उपयोग की जाने वाली Linux कमांड में cd, ls, mkdir, rm, cp, mv, echo, cat, grep, find, man, sudo, apt-get, ssh, ping, df, du, free, top, ps, kill, killall, service, systemctl, reboot, shutdown, whoami, uname, uptime, history, और clear शामिल हैं।

2. Linux में सभी उपलब्ध कमांड कैसे सूचीबद्ध करें?

आप compgen -c कमांड का उपयोग करके Linux में सभी उपलब्ध कमांड सूचीबद्ध कर सकते हैं। यह आपके सिस्टम पर उपलब्ध सभी कमांड की सूची प्रदर्शित करेगा।

3. Linux में फ़ाइल कैसे खोजें?

आप find कमांड का उपयोग करके Linux में फ़ाइल खोज सकते हैं। मूल सिंटैक्स find <path> -name "<filename>" है, जहां <path> वह निर्देशिका है जहां आप खोज शुरू करना चाहते हैं, और <filename> वह फ़ाइल का नाम है जिसे आप खोज रहे हैं। उदाहरण के लिए, find /home/user -name "example.txt"।

4. Linux में प्रोसेस कैसे मारें?

आप kill कमांड का उपयोग करके Linux में प्रोसेस मार सकते हैं। पहले, आपको ps या top कमांड का उपयोग करके जिस प्रोसेस को मारना चाहते हैं उसकी प्रोसेस ID (PID) ढूंढनी होगी। फिर, PID के बाद kill कमांड का उपयोग करें। उदाहरण के लिए, kill 1234, जहां 1234 प्रोसेस की PID है।

5. cp और mv में क्या अंतर है?

cp कमांड का उपयोग फ़ाइलों या निर्देशिकाओं को कॉपी करने के लिए किया जाता है, जबकि mv कमांड का उपयोग फ़ाइलों या निर्देशिकाओं को स्थानांतरित या नाम बदलने के लिए किया जाता है। cp मूल फ़ाइल की एक डुप्लिकेट बनाता है, मूल को बरकरार रखते हुए, जबकि mv फ़ाइल को नए स्थान पर ले जाता है, इसे मूल स्थान से हटा देता है।

6. अपने Linux सिस्टम के मेमोरी उपयोग की जांच कैसे करें?

आप free कमांड का उपयोग करके अपने Linux सिस्टम के मेमोरी उपयोग की जांच कर सकते हैं। यह कमांड सिस्टम में कुल मुफ्त और उपयोग की गई भौतिक और स्वैप मेमोरी की मात्रा प्रदर्शित करती है। उदाहरण के लिए, free -h मेमोरी उपयोग को मानव-पठनीय प्रारूप में प्रदर्शित करेगा।

निष्कर्ष

इस ट्यूटोरियल में, आपने फ़ाइल और निर्देशिका प्रबंधन, प्रोसेस नियंत्रण, उपयोगकर्ता अनुमतियां, नेटवर्किंग, टेक्स्ट प्रोसेसिंग, और शेल यूटिलिटीज़ को कवर करने वाले 50 से अधिक आवश्यक Linux कमांड का पता लगाया। आपने वास्तविक दुनिया के उदाहरणों, समस्या निवारण पैटर्न, और संबंधित कमांड के बीच तुलना के माध्यम से भी काम किया।

अब आप Linux फाइलसिस्टम को नेविगेट कर सकते हैं, प्रोसेस प्रबंधित कर सकते हैं, अनुमतियों को कॉन्फ़िगर कर सकते हैं, और कमांड लाइन से सामान्य समस्याओं का निवारण कर सकते हैं। ये कमांड प्रभावी Linux सिस्टम प्रशासन और स्क्रिप्टिंग की नींव बनाते हैं।

विशिष्ट विषयों पर गहराई से जाने के लिए, इन ट्यूटोरियल का पता लगाएं:

  • Linux/Unix में grep कमांड
  • Linux/Unix में ls कमांड
  • Linux में प्रोसेस प्रबंधन
  • Linux में ps कमांड
  • Linux टर्मिनल का परिचय

Linux में महारत हासिल करें: कुशल सिस्टम प्रबंधन के लिए 50+ आवश्यक कमांडयह कार्य क्रिएटिव कॉमन्स एट्रिब्यूशन-नॉनकमर्शियल- शेयरअलाइक 4.0 इंटरनेशनल लाइसेंस के तहत लाइसेंस प्राप्त है।


  1. Tkinter में एक ही समय में कई कैनवस कैसे दिखाएं? Tkinter में एक ही समय में कई कैनवस कैसे दिखाएं?

    Canvas विजेट Tkinter में बहुमुखी विजेट्स में से एक है जिसका उपयोग एप्लिकेशन में चित्रण, आकृतियाँ, आर्क, इमेज और अन्य जटिल लेआउट बनाने के लिए किया जाता है। Canvas विजेट बनाने के लिए, आपको canvas(root, **options) का एक कंस्ट्रक्टर बनाना होगा। आप कैनवास में टेक्स्ट, इमेज, आर्क बनाने और अन्य आकृतियों क

  1. पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें ऐरे में सबसे बड़ा एलिमेंट ढूंढने की आवश्यकता है। दृष्टिकोण हम max को पहले एलिमेंट के रूप में इनिशियलाइज़ करते हैं। इसके बाद, हम दिए गए ऐरे

  1. एंड्रॉइड मोबाइल एक्सेलेरोमीटर सेंसर सपोर्ट करता है या नहीं, कैसे जांचें? एंड्रॉइड मोबाइल एक्सेलेरोमीटर सेंसर सपोर्ट करता है या नहीं, कैसे जांचें?

    एंड्रॉइड में एक्सेलेरोमीटर सेंसर सपोर्ट जांचें यह ट्यूटोरियल दिखाता है कि Sensor.TYPE_ACCELEROMETER का उपयोग करके कैसे जांचा जाए कि डिवाइस में एक्सेलेरोमीटर (त्वरण सेंसर) है या नहीं। यह लगभग सभी स्मार्टफोन में मौजूद होता है। चरण 1: प्रोजेक्ट बनाएं एंड्रॉइड स्टूडियो में नया प्रोजेक्ट बनाएं। चरण 2: