कमांड लाइन Linux सर्वर प्रशासन का हृदय है। चाहे आप शुरुआती हों या अनुभवी सिस्टम एडमिनिस्ट्रेटर, कमांड-लाइन प्रशासन की मूल बातें समझना आपके Ubuntu Server को कुशलता से प्रबंधित करने के लिए महत्वपूर्ण है। यह लेख Linux कमांड लाइन का गहन परिचय देता है, जिसमें फ़ाइलों, डायरेक्ट्रियों और सर्वर वातावरण को प्रबंधित करने के लिए आवश्यक कमांड, टूल और तकनीकें शामिल हैं।
पिछला लेख:
01. Ubuntu Server का परिचय – SysOSX: AI & Cloud
02. अपना पहला Ubuntu Server कैसे सेट अप करें: शुरुआती लोगों के लिए गाइड – SysOSX: AI & Cloud
कमांड लाइन क्यों सीखें?
Linux कमांड लाइन, जिसे टर्मिनल के माध्यम से एक्सेस किया जाता है, ऑपरेटिंग सिस्टम के साथ इंटरैक्ट करने के लिए एक शक्तिशाली उपकरण है। ग्राफ़िकल इंटरफ़ेस के विपरीत, कमांड लाइन प्रदान करती है:
- गति: GUI इंटरफ़ेस की तुलना में कमांड से कार्य तेज़ी से किए जा सकते हैं।
- लचीलापन: स्क्रिप्टिंग का उपयोग करके प्रक्रियाओं को स्वचालित करें और जटिल संचालन करें।
- नियंत्रण: गहरी सिस्टम कार्यक्षमता तक पहुँचें और समस्याओं का प्रभावी ढंग से निवारण करें।
Ubuntu Server पर कमांड लाइन तक पहुँचना
Ubuntu Server इंस्टॉलेशन में डिफ़ॉल्ट रूप से ग्राफ़िकल इंटरफ़ेस शामिल नहीं होता, इसलिए सभी इंटरैक्शन टर्मिनल के माध्यम से होते हैं। कमांड लाइन तक पहुँचने के सामान्य तरीके यहाँ दिए गए हैं:
1. स्थानीय कंसोल के माध्यम से सीधी पहुँच
अपने Ubuntu Server में लॉग इन करने के बाद, आपको टर्मिनल इंटरफ़ेस दिखाया जाएगा।
2. SSH के माध्यम से दूरस्थ पहुँच
अपने सर्वर तक दूरस्थ रूप से पहुँचने के लिए Secure Shell (SSH) का उपयोग करें:
ssh username@server_ip
शुरुआती लोगों के लिए आवश्यक Linux कमांड
1. फ़ाइल सिस्टम में नेविगेट करना
Linux फ़ाइल सिस्टम पदानुक्रम को समझना फ़ाइलों और डायरेक्ट्रियों को प्रबंधित करने के लिए महत्वपूर्ण है।
वर्तमान डायरेक्टरी देखें: pwd
वर्तमान कार्यशील डायरेक्टरी दिखाता है:
pwd
डायरेक्टरी सामग्री सूचीबद्ध करें: ls
वर्तमान स्थान में फ़ाइलें और डायरेक्ट्रियाँ सूचीबद्ध करता है:
ls
विकल्प:
ls -l: अनुमतियों, स्वामित्व और आकार के साथ विस्तृत सूची।ls -a: छिपी हुई फ़ाइलें शामिल हैं (.से शुरू होने वाली फ़ाइलें)।
डायरेक्टरी बदलें: cd
किसी भिन्न डायरेक्टरी में जाता है:
cd /path/to/directory
उदाहरण:
cd ..: एक स्तर ऊपर जाता है।cd ~: होम डायरेक्टरी में जाता है।
2. फ़ाइलें और डायरेक्ट्रियाँ प्रबंधित करना
डायरेक्टरी बनाएँ: mkdir
नई डायरेक्टरी बनाता है:
mkdir directory_name
उदाहरण: सबडायरेक्टरी संरचना बनाएँ।
mkdir -p /home/user/documents/projects
स्पष्टीकरण:
-pविकल्प मूल डायरेक्ट्रियाँ बनाता है यदि वे मौजूद नहीं हैं (जैसे,documentsऔरprojects)।
डायरेक्टरी हटाएँ: rmdir
खाली डायरेक्टरी हटाता है:
rmdir directory_name
उदाहरण:
rmdir /home/user/old_directory
फ़ाइलें कॉपी करें: cp
फ़ाइलें या डायरेक्ट्रियाँ कॉपी करता है:
cp source_file destination_file
उदाहरण: किसी फ़ाइल को नई डायरेक्टरी में कॉपी करें।
cp /home/user/file.txt /home/user/backup/file.txt
पूरी डायरेक्ट्रियाँ कॉपी करने के लिए:
cp -r /home/user/documents /home/user/backup/documents
फ़ाइलें स्थानांतरित या नाम बदलें: mv
फ़ाइलों को स्थानांतरित या नाम बदलता है:
mv old_name new_name
उदाहरण: किसी फ़ाइल का नाम बदलें।
mv file.txt renamed_file.txt
फ़ाइलों को दूसरी डायरेक्टरी में ले जाएँ:
mv /home/user/file.txt /home/user/backup/
फ़ाइलें हटाएँ: rm
फ़ाइलें या डायरेक्ट्रियाँ हटाता है:
rm file_name
उदाहरण: कोई फ़ाइल हटाएँ।
rm /home/user/file.txt
डायरेक्ट्रियाँ और उनकी सामग्री हटाने के लिए:
rm -r /home/user/old_directory
चेतावनी: rm का उपयोग करते समय सावधानी बरतें ताकि गलती से हटाने से बचा जा सके।
3. फ़ाइलें देखना और संपादित करना
फ़ाइल सामग्री देखें: cat
किसी फ़ाइल की सामग्री दिखाता है:
cat file_name
उदाहरण:
cat /etc/hostname
पृष्ठांकन के साथ फ़ाइल सामग्री देखें: less
फ़ाइल सामग्री में स्क्रॉल करने देता है:
less file_name
उदाहरण:
less /var/log/syslog
फ़ाइलें बनाएँ या संपादित करें: nano
शुरुआती-अनुकूल टेक्स्ट एडिटर:
nano file_name
उदाहरण: नई फ़ाइल बनाएँ या मौजूदा फ़ाइल संपादित करें।
nano /home/user/new_file.txt
फ़ाइलों में टेक्स्ट खोजें: grep
फ़ाइलों में किसी विशिष्ट स्ट्रिंग को खोजता है:
grep "search_term" file_name
उदाहरण: लॉग फ़ाइल में त्रुटि संदेश खोजें।
grep "error" /var/log/syslog
4. सिस्टम प्रशासन कमांड
डिस्क उपयोग जाँचें: df
डिस्क स्थान का उपयोग दिखाता है:
df -h
विकल्प:
-h: मानव-पठनीय प्रारूप।
मेमोरी उपयोग जाँचें: free
मेमोरी उपयोग दिखाता है:
free -h
सिस्टम प्रक्रियाओं की निगरानी करें: top
चल रही प्रक्रियाएँ और सिस्टम संसाधन उपयोग दिखाता है:
top
विकल्प:
htop: अधिक उपयोगकर्ता-अनुकूल प्रक्रिया मॉनिटर (sudo apt install htopके माध्यम से इंस्टॉल करें)।
सेवाएँ प्रबंधित करें: systemctl
सिस्टम सेवाओं को नियंत्रित करता है:
sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name
शटडाउन या रीबूट करें: shutdown
सर्वर बंद करें या पुनरारंभ करें:
sudo shutdown now # Immediate shutdown
sudo shutdown -r now # Immediate restart
5. फ़ाइल अनुमतियाँ और स्वामित्व
Linux फ़ाइलों और डायरेक्ट्रियों तक पहुँच नियंत्रित करने के लिए अनुमति मॉडल का उपयोग करता है।
फ़ाइल अनुमतियाँ देखें: ls -l
विस्तृत प्रारूप में फ़ाइल अनुमतियाँ दिखाता है:
ls -l
फ़ाइल अनुमतियाँ बदलें: chmod
फ़ाइल अनुमतियाँ संशोधित करता है:
chmod 644 file_name
फ़ाइल स्वामित्व बदलें: chown
फ़ाइल स्वामित्व बदलता है:
sudo chown new_owner:new_group file_name
6. फ़ाइलें खोजना और ढूँढना
फ़ाइलें खोजें: locate
locate कमांड डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता। पहले इसे इंस्टॉल करें:
sudo apt update
sudo apt install mlocate
डेटाबेस अपडेट करें:
sudo updatedb
फ़ाइलें खोजें:
locate file_name
फ़ाइलें ढूँढें: find
मानदंडों के आधार पर फ़ाइलें खोजता है:
find /path -name "file_name"
7. नेटवर्किंग कमांड
नेटवर्क कनेक्टिविटी जाँचें: ping
होस्ट से कनेक्टिविटी का परीक्षण करता है:
ping google.com
खुले पोर्ट जाँचें: ss
netstat कमांड बहिष्कृत है और डिफ़ॉल्ट रूप से इंस्टॉल नहीं होता। इसके बजाय ss का उपयोग करें, जो एक आधुनिक विकल्प है:
ss -tuln
स्पष्टीकरण:
-t: TCP कनेक्शन दिखाता है।-u: UDP कनेक्शन दिखाता है।-l: सुन रहे पोर्ट दिखाता है।-n: संख्यात्मक पते और पोर्ट दिखाता है।
दूरस्थ कनेक्टिविटी का परीक्षण करें: curl
URL से डेटा लाता है:
curl http://example.com
कमांड-लाइन प्रशासन के लिए व्यावहारिक सुझाव
1. Tab पूर्णता का उपयोग करें
Tab दबाएँ जब आप कोई कमांड या फ़ाइलनाम टाइप कर रहे हों ताकि पथ या कमांड स्वतः पूर्ण हो जाएँ।
2. इतिहास कमांड का उपयोग करें
पहले चलाए गए कमांड तक पहुँचें:
history
इतिहास से कोई विशिष्ट कमांड चलाएँ:
!number
3. आउटपुट रीडायरेक्ट करें
कमांड आउटपुट को फ़ाइल में सहेजें:
command > output_file
4. कमांड चेन करें
कई कमांड क्रमिक रूप से चलाएँ:
command1 && command2
उदाहरण वर्कफ़्लो: वेब सर्वर सेट अप करना
बुनियादी कमांड का उपयोग करके वेब सर्वर सेट अप करने के लिए चरण-दर-चरण मार्गदर्शिका यहाँ दी गई है। अपनी कस्टम वेबसाइट कॉन्फ़िगर करने और यह सुनिश्चित करने के लिए इन निर्देशों का पालन करें कि यह डिफ़ॉल्ट Apache पृष्ठ को बदल दे।
1. सिस्टम अपडेट करें
अपने सिस्टम को अद्यतित रखना सुरक्षा और स्थिरता के लिए आवश्यक है। सभी पैकेज अपडेट और अपग्रेड करने के लिए निम्नलिखित कमांड चलाएँ:
sudo apt update && sudo apt upgrade -y
2. Apache इंस्टॉल करें
Apache वेब सर्वर इंस्टॉल करें:
sudo apt install apache2 -y
इंस्टॉल हो जाने पर, सत्यापित करें कि Apache चल रहा है:
sudo systemctl status apache2
आपको इस तरह का स्थिति संदेश दिखना चाहिए: Active: active (running)।
3. अपनी वेबसाइट के लिए डायरेक्टरी बनाएँ
अपनी वेबसाइट फ़ाइलें संग्रहीत करने के लिए एक डायरेक्टरी बनाएँ। इस उदाहरण में, हम mywebsite नाम की डायरेक्टरी बनाएँगे:
sudo mkdir -p /var/www/mywebsite
4. अनुमतियाँ सेट करें
सही स्वामित्व और अनुमतियाँ सेट करें ताकि Apache वेबसाइट फ़ाइलों तक पहुँच सके:
sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite
5. नमूना HTML फ़ाइल बनाएँ
एक साधारण index.html फ़ाइल जोड़ें जो आपके वेबसाइट के होमपेज के रूप में काम करेगी:
sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
EOF
इससे एक बुनियादी पृष्ठ बनता है जिस पर लिखा होता है: “Welcome to My Website”।
6. वर्चुअल होस्ट कॉन्फ़िगर करें
अपनी कस्टम वेबसाइट परोसने के लिए, Apache के लिए नई वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल बनाएँ:
sudo nano /etc/apache2/sites-available/mywebsite.conf
फ़ाइल में निम्नलिखित सामग्री पेस्ट करें:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mywebsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
फ़ाइल सहेजने और बाहर निकलने के लिए Ctrl+O दबाएँ, फिर Ctrl+X दबाएँ।
7. अपनी वेबसाइट सक्षम करें
नई वर्चुअल होस्ट कॉन्फ़िगरेशन सक्षम करें:
sudo a2ensite mywebsite.conf
यह सुनिश्चित करने के लिए Apache की डिफ़ॉल्ट साइट कॉन्फ़िगरेशन अक्षम करें कि आपकी वेबसाइट परोसी जाए:
sudo a2dissite 000-default.conf
परिवर्तन लागू करने के लिए Apache पुनः लोड करें:
sudo systemctl reload apache2
8. कनेक्टिविटी का परीक्षण करें
यह जाँचने के लिए कि आपकी वेबसाइट काम कर रही है, चलाएँ:
curl http://localhost
आपको अपनी कस्टम index.html फ़ाइल की HTML सामग्री दिखनी चाहिए:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
वैकल्पिक रूप से, ब्राउज़र खोलें और http://<your-server-ip> पर जाकर अपनी वेबसाइट देखें।
समस्या निवारण
यदि आपको अभी भी डिफ़ॉल्ट Apache पृष्ठ दिखता है या समस्याएँ आती हैं:
- सुनिश्चित करें कि आपकी साइट सक्षम है
सत्यापित करें कि आपका कॉन्फ़िगरेशन सक्रिय है:
ls /etc/apache2/sites-enabled/
- आपको
mywebsite.confदिखना चाहिए। यदि नहीं, तो इसका उपयोग करके इसे सक्षम करें:
sudo a2ensite mywebsite.conf
- Apache लॉग जाँचें
लॉग में त्रुटियाँ खोजें:
sudo tail -f /var/log/apache2/error.log
- Apache पुनरारंभ करें
यदि समस्या बनी रहती है, तो Apache पुनरारंभ करें:
sudo systemctl restart apache2
निष्कर्ष
Linux कमांड लाइन में महारत हासिल करना प्रभावी Ubuntu Server प्रशासन के लिए आवश्यक है। इन कमांड को सीखने और अभ्यास करने से, आपको अपने सर्वर वातावरण को प्रबंधित करने, समस्याओं का निवारण करने और प्रशासनिक कार्य कुशलता से करने का आत्मविश्वास मिलेगा।
अगले चरण: उपयोगकर्ता और अनुमतियाँ प्रबंधित करना
एक बार जब आप कमांड-लाइन प्रशासन की मूल बातों से सहज हो जाएँ, तो सर्वर प्रबंधन में अगला महत्वपूर्ण चरण उपयोगकर्ताओं, समूहों और अनुमतियों को समझना है। उपयोगकर्ता खातों और पहुँच नियंत्रणों को ठीक से प्रबंधित करना सुरक्षा बनाए रखने और यह सुनिश्चित करने के लिए आवश्यक है कि केवल अधिकृत व्यक्ति ही आपके सर्वर पर संवेदनशील फ़ाइलों और संसाधनों तक पहुँच सकें या उन्हें संशोधित कर सकें।
अगले लेख में, “उपयोगकर्ता और अनुमतियाँ प्रबंधित करना”, हम निम्नलिखित को कवर करेंगे:
- उपयोगकर्ता खाते कैसे बनाएँ, संशोधित करें और हटाएँ।
- कुशल पहुँच नियंत्रण के लिए समूह प्रबंधित करना।
- फ़ाइल और डायरेक्टरी अनुमतियाँ समझना (पढ़ना, लिखना, निष्पादित करना)।
- विशेषाधिकार वृद्धि के लिए
sudoजैसे उन्नत उपकरणों का उपयोग करना। - Ubuntu Server पर उपयोगकर्ता खातों को सुरक्षित करने की सर्वोत्तम प्रथाएँ।
अपनी सुरक्षा और पहुँच प्रबंधन को बेहतर बनाने के लिए कार्रवाई योग्य अंतर्दृष्टि के लिए बने रहें!
14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”