कमांड लाइन स्टूडेंट कॉन्टेंट

कमांड लाइन, GUI के बिना कंप्यूटर को कंट्रोल करने का एक तरीका है. इस इकाई में, हम अपने कंप्यूटर के साथ इंटरैक्ट करने के लिए बुनियादी निर्देश जानेंगे.

ज़रूरी बातें

  • स्टूडेंट, कमांड की मदद से अपने कंप्यूटर को एक जगह से दूसरी जगह ले जा सकते हैं.
  • छात्र-छात्राएं, फ़ाइलें और फ़ोल्डर बना पाएंगे, उन्हें एक जगह से दूसरी जगह ले जा सकेंगे, कॉपी कर सकेंगे, और मिटा पाएंगे.

कमांड लाइन क्या है?

ज़्यादातर उपयोगकर्ता, कंप्यूटर के साथ इंटरैक्ट करने के लिए, ग्राफ़िकल यूज़र इंटरफ़ेस (जीयूआई) का इस्तेमाल करते हैं. आम तौर पर, आइकॉन, बटन, स्क्रोलबार वगैरह की मदद से विंडो में बदलाव करने के लिए, GUI आम तौर पर माउस या टच पर निर्भर होते हैं.

कमांड लाइन, कंप्यूटर में मौजूद वैकल्पिक व्यू होती है. कभी-कभी इसे "aShell", "टर्मिनल", "bash&kot; या &जिसमें कोटेशन टेक्स्ट टेक्स्ट&कोटेशन कहा जाता है; कमांड लाइन यह है:

  • ऐसे कंप्यूटर प्रोग्राम से इंटरैक्ट करने का तरीका जिसमें उपयोगकर्ता निर्देश टाइप करता है. उदाहरण के लिए:
open README.txt
  • माउस के बिना अपने कंप्यूटर को नेविगेट और ऑपरेट करने का तरीका.
  • अपनी फ़ाइलों और डायरेक्ट्री को बनाने, पढ़ने, अपडेट करने, उन्हें ऑपरेट करने, और मिटाने के लिए ग्राफ़िक का इस्तेमाल न किया गया हो. जैसे:
mv README.txt readme.txt

GUI और कमांड लाइन एक ही चीज़ को देख रहे हैं! ये कंप्यूटर के साथ इंटरैक्ट करने के अलग-अलग तरीके हैं.

हम कमांड लाइन का इस्तेमाल कब करते हैं?

डेवलपर, कमांड-लाइन इंटरफ़ेस को अक्सर इस्तेमाल करते हैं:

  • इनसे किसी प्रोग्राम या ऑपरेटिंग सिस्टम को कंट्रोल करने के लिए, कम समय में ज़्यादा जानकारी मिलती है. क्यों? ऐसा इसलिए, क्योंकि सब कुछ एक ही विंडो में होता है और माउस से चीज़ें खोजने और उनमें बदलाव करने से ज़्यादा मेहनत नहीं लगती.
  • कोई निर्देश कंट्रोल करने के लिए, वे आसानी से विकल्प दिखा सकते हैं. क्यों? GUI के मेन्यू में बहुत कम विकल्प होते हैं. कमांड लाइन में, सैकड़ों निर्देश होते हैं और किसी निर्देश में जोड़े गए कुछ वर्ण, कई चीज़ें कर सकते हैं. उदाहरण के लिए
  • ls बुनियादी सूची की फ़ाइलें
  • ls -a सामान्य रूप से छिपाई गई फ़ाइलों सहित सभी फ़ाइलें सूचीबद्ध करें
  • ls -l लंबी सूची, जिसमें हर फ़ाइल की जानकारी दिख रही है
  • ls -R बार-बार होने वाला, डायरेक्ट्री का कॉन्टेंट सूची में शामिल करें
  • ls -la सभी फ़ाइलों की सूची बनाएं
  • वे एक साथ कई फ़ाइलों पर आसानी से काम कर सकते हैं.
for i in *.png; do pngtogif $i `echo $i | sed s/png/gif/`; done
  • वे ऑपरेटिंग सिस्टम (शेल प्रोग्राम) को प्रोग्राम करने का माध्यम उपलब्ध कराते हैं, जैसे कि ऊपर दिया गया उदाहरण एक बहुत ही आसान शेल प्रोग्राम है. इसे .png से खत्म होने वाले फ़ाइल नाम की इमेज में बदलाव करने के लिए बनाया गया है.

कार्रवाई की गई कमांड लाइन

कमांड लाइन कमांड के हिस्से

सभी निर्देशों के तीन हिस्से हैं:

  • कमांड (या यूटिलिटी) हमेशा पहले आती है.
  • आप जिस सुविधा का इस्तेमाल कर रहे हैं उसके हिसाब से, फ़्लैग करना ज़रूरी नहीं है. फ़्लैग हमेशा - (माइनस) से शुरू होते हैं.
  • आर्ग्युमेंट वे कार्रवाइयां हैं जिन पर कार्रवाई करने के लिए कहा जाता है या ज़रूरी जानकारी. अक्सर फ़ाइल के नाम.

फ़्रेमिंग

संदर्भ और मकसद

कमांड लाइन, माउस या GUI के बिना कंप्यूटर को कंट्रोल करने का तरीका है (ग्राफ़िकल यूज़र इंटरफ़ेस). Apple कंप्यूटर पर आइकॉन और फ़ोल्डर वाली मशीन बनाने से पहले, कमांड लाइन के ज़रिए ही कंप्यूटर से इंटरैक्ट किया जा सकता था.

डेवलपर के तौर पर, हम कमांड लाइन का इस्तेमाल करते हैं, क्योंकि यह GUI काफ़ी तेज़ और ज़्यादा असरदार है - इसमें समय बर्बाद करने की ज़रूरत नहीं होती. कमांड लाइन की मदद से, आप अपने कंप्यूटर के साथ होने वाले किसी भी इंटरैक्शन को काफ़ी हद तक कर सकते हैं.

टर्मिनल एक बहुत ही आसान इंटरफ़ेस है, इसलिए जब आपको किसी नेटवर्क लिंक के ज़रिए कंप्यूटर से कनेक्ट करना होता है, तो यह GUI पर काफ़ी फ़ायदा पहुंचाता है. उदाहरण के लिए, डेवलपर ऐसा अक्सर करते हैं - जैसे कि यात्रा करते समय.

इस लेसन में हम #39.

सीखने के मकसद

छात्र यह कर पाएंगे

  • फ़ाइलें और फ़ोल्डर नेविगेट करने के लिए टर्मिनल का इस्तेमाल करना
  • किसी फ़ोल्डर के कॉन्टेंट की सूची बनाना
  • कमांड लाइन पर फ़ाइलें और फ़ोल्डर बनाना
  • फ़ाइलें और फ़ोल्डर ले जाना
  • फ़ाइलें और फ़ोल्डर कॉपी करें
  • फ़ाइलें और फ़ोल्डर मिटाना

शुरू करना

टर्मिनल ऐक्सेस करना

सेक्शन फ़्रेमिंग और मकसद

टर्मिनल, ऑपरेटिंग सिस्टम को कमांड लाइन इंटरफ़ेस (सीएलआई) देता है. इसकी मदद से, आप अपने कंप्यूटर को, टेक्स्ट पर आधारित निर्देश दे सकते हैं.

ऐसा करने के लिए, हमें आपके सिस्टम का इस्तेमाल करने के आधार पर आपका टर्मिनल लॉन्च करना होगा.

टर्मिनल लॉन्च होने पर, यह आपके कंप्यूटर की होम डायरेक्ट्री (जो भी आपने अपने कंप्यूटर का नाम रखा हो) में शुरू होगी. आपकी होम डायरेक्ट्री को टिल्ड ~ से दिखाया जाता है.

टर्मिनल में हमारी दुनिया की चर्चा करते समय, डायरेक्ट्री और फ़ोल्डर एक जैसे होते हैं (कभी-कभी हम उन्हें डायरेक्ट्री भी कह सकते हैं).

डायरेक्ट्री में बदलाव करना

सेक्शन फ़्रेमिंग और मकसद

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

जब आप टर्मिनल में नेविगेट करते हैं, तो यह जानना बहुत ज़रूरी हो जाता है कि आप कहां हैं. इसका मतलब है कि यह सीधे वास्तविक जीवन में भी बदल जाता है - अगर आप कहीं जाना चाहते हैं, तो पहले आपको अपनी मौजूदा जगह की जानकारी लेनी होगी.

# See your current location - abbreviation for 'print working directory'
pwd

उपलब्ध फ़ाइलों और डायरेक्ट्री की सूची बनाएं

वर्किंग डायरेक्ट्री में, ऐसी कई फ़ाइलें हो सकती हैं जिन्हें आप ऐक्सेस कर सकते हों. आम तौर पर, हम विज़ुअल संकेत जैसे आइकॉन के ज़रिए यह बताते हैं कि #39 क्या मौजूद है. हालांकि, अगर हम यह अनुमान लगा सकें कि फ़ाइलें और फ़ोल्डर कहां थे, तो हमें अपने कंप्यूटर पर नेविगेट करना मुश्किल होगा. कमांड लाइन में, हम'एक खास निर्देश का इस्तेमाल करके, यह सूची में शामिल करते हैं कि किसी दी गई काम करने वाली डायरेक्ट्री / किसी खास जगह से क्या ऐक्सेस किया जा सकता है.

हमारी मौजूदा डायरेक्ट्री में कौनसी फ़ाइलें या फ़ोल्डर मौजूद हैं, यह जानने के लिए कॉन्टेंट के सूची व्यू में ls निर्देश (सूची के लिए छोटा नाम) का इस्तेमाल करें.

# See files and folders in current location - abbreviation for 'list'
ls

काम करने की डायरेक्ट्री बदलें

अगर आपको किसी ऐसी फ़ाइल या डायरेक्ट्री का ऐक्सेस चाहिए जो सूची में मौजूद नहीं है, तो आपको अपनी काम करने वाली डायरेक्ट्री में बदलाव करना होगा, ताकि आप उसे आसानी से ऐक्सेस कर सकें.

आपको एक नई डायरेक्ट्री (जिसे फ़ोल्डर भी कहा जाता है) पर ले जाने के लिए, कमांड लाइन को बताने के लिए सिंटैक्स (एक ही लाइन में) नए फ़ोल्डर में पाथ के मुताबिक cd होता है.

अगर आप किसी ऐसी डायरेक्ट्री में जाते हैं जो फ़िलहाल आपकी डायरेक्ट्री में है (उदाहरण के लिए, काम करने वाली डायरेक्ट्री की काम करने वाली डायरेक्ट्री), तो फ़ोल्डर के नाम के बाद cd इस्तेमाल करें.

# Change your current working directory (current location)
# Abbreviation for 'change directory'
cd Documents

आप होम ~ डायरेक्ट्री से भी नेविगेट कर सकते हैं.

# Add a `~/` to begin from the home directory.
cd ~/Downloads

अगर आपने' डायरेक्ट्री में बदलाव किया है, लेकिन आपको होम डायरेक्ट्री पर वापस जाना है, तो सीधे ~ का इस्तेमाल करके होम पेज पर जाएं या .. पर जाकर एक लेवल ऊपर नेविगेट करें.

# Option 1: navigate directly to the home directory
cd ~

# Option 2: navigate back one level
cd ..

ध्यान दें कि cd .. एक लेवल तक (ऊपर) जाता है, इसलिए अगर आपने अब तक डायरेक्ट्री को तीन बार (तीन लेवल नीचे) बदला है, तो आपको पूरी तरह से होम पेज पर जाने के लिए cd .. तीन बार इस्तेमाल करना होगा. हालांकि, आपको cd ~ का इस्तेमाल सिर्फ़ एक बार करना होगा.

मिनी चैलेंज

  • अपनी मौजूदा डायरेक्ट्री में मौजूद #39; देखने के लिए ls का इस्तेमाल करें.
  • अपनी होम डायरेक्ट्री के कॉन्टेंट पर वापस जाएं और होम फ़ोल्डर का कॉन्टेंट देखने के लिए, ls का इस्तेमाल करें.
  • होम डायरेक्ट्री में मौजूद किसी एक फ़ोल्डर का नाम चुनें और इस नए फ़ोल्डर पर जाएं.
  • सूची वाले निर्देशों की मदद से देखें कि इसमें क्या है #.

सलाह: tab की मदद से अपने-आप पूरा करें

cd निर्देश के साथ डायरेक्ट्री बदलने पर, सिर्फ़ एक टाइप करने की वजह से निर्देश सही तरीके से नहीं चल पाएगा. हालांकि, tab कुंजी का इस्तेमाल करने से आपकी मौजूदा डायरेक्ट्री में मौजूद सभी डायरेक्ट्री का नाम अपने-आप पूरा हो जाएगा. इसलिए, cd Documents लिखने के बजाय, सिर्फ़ cd Do लिखें और फिर tab बटन दबाएं. टर्मिनल, आपके लिए cd Documents/ निर्देश को अपने-आप पूरा कर देगा. आखिर में / देना ज़रूरी नहीं है. हालांकि, इससे आपको पता चलता है कि डेस्टिनेशन में डायरेक्ट्री है.

यह ऑटोकंप्लीट न सिर्फ़ काम करने पर समय बचाता है, बल्कि यह काम की जानकारी #33; काम नहीं करने पर भी अहम जानकारी देता है. अगर यह टैब बटन अपने-आप पूरा नहीं होता है, तो इसका मतलब है कि आपने तीन में से कोई एक समस्या पैदा की है:

  1. आप जिस निर्देशिका पर जाना चाहते हैं वह आपकी मौजूदा वर्किंग डायरेक्ट्री से ऐक्सेस नहीं किया जा सकता.
  2. ऐसी दो निर्देशिकाएं हैं जिनके आरंभ नाम एक जैसे हैं (जैसे Documents और Downloads) और आपने #39; को ऑटोकंप्लीट की सुविधा के बारे में जानने के लिए ज़रूरी जानकारी नहीं दी है. आपने जो टाइप किया है उससे मेल खाने वाली डायरेक्ट्री की सूची देखने के लिए tab को फिर से दबाएं. इसके बाद, थोड़ा और टाइप करें (ताकि आप सिर्फ़ एक मिलान कर सकें) और फिर से tab दबाएं.
  3. आपने शब्द के पहले आधे हिस्से में टाइपिंग की गलती कर दी है.

आप जितनी जल्दी अपने टैब को अपने-आप पूरा करने के लिए टैब का इस्तेमाल करने की आदत डालेंगे, आपको उतनी ही ज़्यादा परेशानी होगी जैसे कि आपके निर्देश काम नहीं करेंगे.

पैरंट और चाइल्ड डायरेक्ट्री

डायरेक्ट्री और फ़ाइलों के बच्चों और माता-पिता के एक-दूसरे से संबंध हो सकते हैं. अगर directory_b, directory_a के अंदर है, तो directory_b को directory_a का चाइल्ड कहा जाता है. इसके बाद, directory_a को directory_b के पैरंट के तौर पर जाना जाता है. अगर तीसरा आइटम, my_file, directory_b के अंदर है, तो उसे directory_b का बच्चा और directory_a का दादी/नाना है.

इन संबंधों को अक्सर फ़ोरम पर, टेक्स्ट डायग्राम की मदद से दिखाया जाता है:

directory_a/
  directory_b/
    my_file

ध्यान दें कि डायरेक्ट्री के नाम / पर खत्म होते हैं, जबकि फ़ाइल के नाम से खत्म नहीं होते. इस क्रम के हिसाब से बनाए गए संगठन को आम तौर पर फ़ाइल सिस्टम का ट्री स्ट्रक्चर कहा जाता है.

भाई-बहन

अगर एक ही लेवल पर कई फ़ाइलें या फ़ोल्डर हैं, तो उन्हें भाई-बहन कहा जाता है. उदाहरण: अगर file_b और file_c, directory_a में हैं और वे भाई-बहन हैं.

वह टेक्स्ट डायग्राम कुछ ऐसा दिखेगा:

directory_a/
  file_b
  file_c

ध्यान दें कि file_b और file_c भाई-बहन हैं, इसलिए वे एक ही रकम पर इंडेंट किए जाते हैं.

फ़ाइल पाथ

यह एक ज़्यादा जटिल टेक्स्ट डायग्राम है, जिसमें पैरंट-चाइल्ड और सिबलिंग रिलेशनशिप दोनों शामिल हैं.

north_america/
  united_states/
    new_york/
      new_york_city/
        manhattan
        queens
        staten_island
        bronx
        brooklyn
    california/
      mountain_view
      los_angeles
    illinois/
      chicago
  mexico/
    mexico_city

इस उदाहरण में new_york_city/, डायरेक्ट्री का नाम है, लेकिन इसमें एक पाथ भी है, जो वहां पहुंचने का तरीका बताता है: ~/north_america/united_states/new_york/new_york_city/.

new_york_city/, को डायरेक्ट्री में बदलने के लिए, नामों का इस्तेमाल करके कदमों में नेविगेट किया जा सकता है या पाथ का इस्तेमाल करके, सभी निर्देशों को एक निर्देश में नेविगेट किया जा सकता है.

# Option 1: in four steps, using directory names.
cd ~ # navigate home, where these folders are located
cd north_america/
cd united_states/
cd new_york/
cd new_york_city/

# Option 2: in one step, using the path.
cd ~/north_america/united_states/new_york/new_york_city/

नेविगेशन निर्देशों की खास जानकारी

# See your current location - abbreviation for 'print working directory'
pwd

# Change to a new location - abbreviation for 'change directory'
cd ~/Downloads

# Navigates into a child directory called `some_directory`
# Only works if `some_directory` is a child of the current directory
cd some_directory

# Navigates into the parent of the current directory
# `..` is shorthand for parent.
cd ..

# Will take you back home
cd

मिनी चैलेंज

  • उस मौजूदा फ़ोल्डर को ढूंढने के लिए pwd का इस्तेमाल करें जिसमें आप #39 हैं.
  • किसी दूसरी डायरेक्ट्री में बदलें और नई जगह की पुष्टि करें.
  • फिर से कोशिश करें और किसी दूसरे फ़ोल्डर पर जाएं. अपनी जगह और इस डायरेक्ट्री में मौजूद फ़ाइलें भी देखने के लिए अपने नए निर्देशों का इस्तेमाल करें.

फ़ाइलें और डायरेक्ट्री बनाना

सेक्शन फ़्रेमिंग और मकसद

डेवलपर के तौर पर, हमें कोड वाली फ़ाइलें बनानी होंगी. उन फ़ाइलों को व्यवस्थित रखने के लिए, हमें और फ़ोल्डर / डायरेक्ट्री बनानी होंगी, जहां हम अपनी फ़ाइलें सेव कर सकें.

अपनी फ़ाइलें और फ़ोल्डर बनाने से पहले, टर्मिनल में अपनी जगह की जानकारी का ध्यान रखें.

# See your current location.
pwd

फ़ाइल बनाने के लिए, कमांड touch के बाद फ़ाइल का नाम इस्तेमाल करें.

# `touch` creates a new file.
touch style.css

फ़ाइलें बनाते समय, फ़ाइल का प्रकार बताने के लिए फ़ाइल एक्सटेंशन जोड़ें. फ़ाइल टाइप के उदाहरण:

  • .js का इस्तेमाल JavaScript फ़ाइल के तौर पर किया जाता है
  • .html एक एचटीएमएल फ़ाइल बनाता है
  • .css एक सीएसएस फ़ाइल बनाता है
  • .md, मार्कडाउन फ़ाइल बनाता है

फ़ाइल के नाम में स्पेस शामिल नहीं होने चाहिए.

# make a file - this will create a file in the current folder
touch my_text_file.txt

# make a file - this will create a file on the desktop
touch ~/Desktop/my_new_style_sheet.css

एक से ज़्यादा फ़ाइलें बनाना

आप हर नाम के बीच में स्पेस शामिल करके, एक बार में कई फ़ाइलें बना सकते हैं.

# make multiple files - this will create multiple files in the current folder
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

डायरेक्ट्री बनाना

डायरेक्ट्री / फ़ोल्डर बनाने के लिए, निर्देश mkdir - 'डायरेक्ट्री बनाएं' का छोटा नाम इस्तेमाल करें - इसके बाद फ़ोल्डर का नाम लिखें.

# make a folder - this will create a directory in the current folder
mkdir my_new_folder

# make a folder - this will create a directory on your desktop
mkdir ~/Desktop/my_new_desktop_folder

एक से ज़्यादा डायरेक्ट्री बनाना

आप हर नाम के बीच स्पेस शामिल करके, एक बार में कई फ़ोल्डर बना सकते हैं.

# make multiple folders - this will create multiple folders in the current
# directory
mkdir folder_one folder_two folder_three

मिनी चैलेंज

  • एक नई फ़ाइल बनाएं.
  • एक निर्देश में कुछ फ़ाइलें बनाएं.
  • नई डायरेक्ट्री बनाएं.
  • कुछ और नई डायरेक्ट्री बनाएं. ऐसा करने के लिए सिर्फ़ एक निर्देश का इस्तेमाल करें.
  • आप डायरेक्ट्री में जाने और फ़ाइलें और फ़ोल्डर बनाने के बारे में जो भी जानते हैं उसका इस्तेमाल करके, अपने डेस्कटॉप पर फ़ाइलों और फ़ोल्डर का इस्तेमाल करके 'Family_tree&#39' बनाएं.

&मूविंग; कॉपी करना

घूमने वाली फ़ाइलें और डायरेक्ट्री

सेक्शन फ़्रेमिंग और मकसद

हम कमांड लाइन पर किसी फ़ाइल या फ़ोल्डर को ले जा सकते हैं, लेकिन हमें हमेशा तीन चीज़ें बतानी होंगी:

  1. हम mv निर्देश का इस्तेमाल करते हैं - यहां ले जाएं.
  2. जिस फ़ाइल या फ़ोल्डर को आप ले जाना चाहते हैं उसके नाम के साथ ले जाने वाले निर्देश का पालन करें.
  3. फ़ाइल के नाम को उस जगह के साथ फ़ॉलो करें जहां आप उसे ले जाना चाहते हैं.

उदाहरण के लिए, अगर आपकी फ़ाइल का स्ट्रक्चर इस तरह का है:

my_child_folder/
my_parent_folder/

आप देख सकते हैं कि यह सही तरीके से व्यवस्थित नहीं है - जब वे माता-पिता और बच्चा थे, तब वे भाई-बहन थे. इस निर्देश का इस्तेमाल करें:

# move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder
mv my_child_folder/ my_parent_folder/

इससे मिलने वाला स्ट्रक्चर ऐसा दिखेगा.

my_parent_folder/
  my_child_folder/

ये रहे mv निर्देश के कुछ और वर्शन:

# move a directory - this will move the folder `my_folder` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_folder ~/Desktop/my_desktop_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_folder` that is in the current folder
mv my_file.txt my_folder

# move a file - this will move the file `my_file.txt` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_file.txt ~/Desktop/my_desktop_folder

चेतावनी: mv, सिंटैक्स mv old_name new_name का इस्तेमाल करके फ़ाइल का नाम बदलने का निर्देश भी देता है. इसका मतलब है कि अगर आप किसी फ़ाइल को किसी ऐसी डायरेक्ट्री में ले जाते हैं जो मौजूद नहीं है या अगर आपने डेस्टिनेशन को गलत लिख दिया है, तो फ़ाइल को नई जगह पर ले जाने के बजाय उसका नाम बदल दिया जाएगा.

मिनी चैलेंज

  1. पांच टेक्स्ट (.txt) फ़ाइलें बनाएं.
  2. नई डायरेक्ट्री बनाएं.
  3. आपने जो पांच फ़ाइलें बनाई हैं उन्हें फ़ोल्डर में ले जाएं.
  4. फ़ोल्डर बनाएं और इस नए फ़ोल्डर को किसी दूसरे फ़ोल्डर में ले जाएं.

फ़ाइलें और डायरेक्ट्री कॉपी करना

सेक्शन फ़्रेमिंग और मकसद

जब हम अपने वेब ऐप्लिकेशन बनाते हैं, तब हो सकता है कि हम किसी फ़ाइल की डुप्लीकेट कॉपी बनाएं (अगर हम दो मिलते-जुलते वेबपेज बना रहे हैं, तो हो सकता है कि आप शुरू से न करना चाहें). साथ ही, हम cp(कॉपी) निर्देश का सिंटैक्स काफ़ी हद तक mv सिंटैक्स से मिलते-जुलते हैं.

फ़ाइल कॉपी करना

कॉपी किए गए निर्देश के तीन हिस्से हैं:

  1. cp निर्देश - कॉपी का छोटा नाम
  2. कॉपी की जाने वाली फ़ाइल का नाम
  3. कॉपी का नाम (अगर उसी फ़ोल्डर में रहता है) या जगह और नाम (अगर किसी दूसरे फ़ोल्डर में ले जाया जा रहा हो).
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`
# The copy will be located in your Documents folder.
cp my_file.txt ~/Documents/my_file_copy.txt

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`.
# Since no directory was specified, this will occur within the same folder.
cp my_file.txt my_file_copy.txt

अगर आप चाहते हैं कि कॉपी का नाम और मूल नाम वही रहे, तो आप फ़ाइल के नाम के बिना कॉपी की जगह बता सकते हैं.

# Copy a file named `my_file.txt` to your Documents folder.
# The destination ends with a directory, so the copy will have the same name.
cp my_file.txt ~/Documents/

एक ही नाम वाली कई फ़ाइलें गुमराह करने वाली हो सकती हैं, इसलिए इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब आप इसे पक्का कर लें #39.

निर्देशिका कॉपी करना

किसी फ़ोल्डर या निर्देशिका को कॉपी करना थोड़ा मुश्किल काम है, क्योंकि आप न सिर्फ़ फ़ोल्डर को, बल्कि इसके अंदर की सभी चीज़ों को कॉपी करना चाहेंगे.

  1. cp -R निर्देश - कॉपी करने के लिए बार-बार होने वाला कोड - इसका इस्तेमाल खाली और खाली, दोनों फ़ोल्डर के लिए करें
  2. स्रोत का नाम (फ़ोल्डर या फ़ाइल जिसे हम मूव करना चाहते हैं)
  3. कॉपी का नाम (अगर उसी फ़ोल्डर में रहता है) या जगह और नाम (अगर किसी दूसरे फ़ोल्डर में ले जाया जा रहा हो).

चेतावनी: अगर कॉपी या फ़ोल्डर को पहले नहीं बनाया गया था, तो कॉपी बनाते समय, उसे कॉपी करने पर बनाया जाएगा. अगर कॉपी निर्देश चलाने से पहले फ़ाइल बनाई गई थी, तो यह उन सभी चीज़ों को ओवरराइट कर देगी जो पहले फ़ाइल में थीं, इसलिए सावधान रहें!

# copy a directory named `my_folder` from your Desktop folder to a folder
# called `my_folder_copy` in your Documents folder
cp -R ~/Desktop/my_folder ~/Documents/my_folder_copy

# copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder
cp -R my_folder my_folder_copy

ध्यान दें: cp -R के -R कॉम्पोनेंट को फ़्लैग करना कहते हैं. फ़्लैग हमेशा एक डैश से शुरू होते हैं और निर्देशों के साथ उनका इस्तेमाल करके उस निर्देश के लागू होने के बारे में ज़्यादा खास निर्देश देते हैं.

मिनी चैलेंज

  1. my_original.txt नाम की फ़ाइल बनाएं
  2. my_original.txt की एक कॉपी बनाएं जिसका नाम एक ही फ़ोल्डर में हो.
  3. नई डायरेक्ट्री बनाएं.
  4. उस डायरेक्ट्री की कॉपी बनाएं, लेकिन उसे कोई अलग नाम दें.
  5. अपनी कॉपी की गई फ़ाइल को कॉपी करें (चरण 2 से) लेकिन उसे कॉपी की गई डायरेक्ट्री में रखें (चरण 4 से).

फ़ाइलें और फ़ोल्डर हटाना

सेक्शन फ़्रेमिंग और मकसद

हम कमांड लाइन पर मौजूद फ़ाइलें और फ़ोल्डर मिटा सकते हैं, लेकिन ऐसा करने से वे हमेशा के लिए मिट जाएंगे.

फ़ाइल हटाना

किसी फ़ाइल को हटाने के लिए, हम rm निर्देश (जिसे हटाएं का छोटा नाम) कहते हैं) का इस्तेमाल करके, फ़ाइल का नाम इस्तेमाल कर सकते हैं.

# delete a file in the working directory
rm unwanted_file.txt

# delete a file not in the working directory
rm ~/Desktop/unwanted_file.txt

ऐसी डायरेक्ट्री को हटाना जो खाली है

किसी खाली डायरेक्ट्री को हटाने के लिए, हम rmdir कमांड का इस्तेमाल कर सकते हैं - डायरेक्ट्री हटाएं का छोटा नाम - इसके बाद फ़ोल्डर का नाम डालें.

# delete an empty folder
rmdir empty_directory

# delete an empty folder
rmdir ~/Documents/my_files/empty_directory

ऐसी डायरेक्ट्री को हटाना जो खाली नहीं है

खाली नहीं है -R - बार-बार होने वाले - rm निर्देश, कंप्यूटर को हटाने वाले कंप्यूटर के बारे में बताने वाले निर्देश के लिए. शॉर्टकट के तौर पर, कुछ डेवलपर फ़्लैग -Rf का इस्तेमाल करते हैं, जो ज़बरदस्ती हर चीज़ को हटा देता है (नहीं तो, आपको चाइल्ड फ़ाइल या फ़ोल्डर को मिटाने के बारे में अनुरोध मिल सकते हैं).

# delete a folder which contains other files or folders
rm -R directory_which_isnt_empty

# delete a folder which contains other files or folders
rm -R ~/Downloads/directory_which_isnt_empty

चेतावनी: rm निर्देश का इस्तेमाल, रीसाइकल बिन या मिटाए गए सेक्शन के तौर पर नहीं होता है, क्योंकि इन फ़ाइलों को आसानी से वापस नहीं पाया जा सकता. फ़ाइलों को इस तरह से मिटाते समय सावधानी बरतें.

मिनी चैलेंज

  1. चार फ़ाइलें बनाएं.
  2. दो फ़ाइलें मिटाएं.
  3. फ़ोल्डर बनाएं.
  4. कोई दूसरा फ़ोल्डर बनाएं और इस फ़ोल्डर में फ़ाइल बनाएं.
  5. दोनों डायरेक्ट्री मिटाएं.

इस लैब का कोड, छात्र-छात्राओं के डेटा स्टोर करने की जगह में दिए गए फ़ोल्डर में देखा जा सकता है. इसे GitHub से डाउनलोड किया गया था: command-line/labs/around-the-world

बैकग्राउंड

विदेश में आपका सेमेस्टर बस आने ही वाला है और यह आपकी यूरोप की यात्रा की योजना बनाने का समय है...

आने वाले समय में तीन महीने तक कुछ लाइव रहने के दौरान, आप यह पक्का करना चाहते हैं कि आप हर वीकेंड पर यात्रा का पूरा फ़ायदा लें.

सबसे अच्छी बात यह है कि आप शुरू से शुरू नहीं कर रहे हैं और आपके दोस्तों ने आपको उनके सेमेस्टर की कुछ पसंदीदा गतिविधियां दी हैं. हमें खेद है, कुछ फ़ाइलों को मिला दिया गया है...

{0}कमांड लाइन"> आप' को जादू में जोड़ दें और परेशान न हों!

टास्क

पक्का करें कि हर शहर सही देश में है और हर शहर के फ़ोल्डर में सही स्मारक हैं. सावधान रहें या हो सकता है कि आप एम्स्टरडैम में एफ़िल टावर देख रहे हों!

अगर आपको इसमें कोई परेशानी या नहीं है, तो अपने जीयूआई को छिपाएं और इस कमांड को सीधे कमांड लाइन से हटाएं. जब आप यह सब करते हैं, तब आपको दुनिया भर के सामान्य फ़ोल्डर में रहना चाहिए, जिसका मतलब है कि फ़ोल्डर और फ़ाइलों का संदर्भ देते समय पूरे पाथ का इस्तेमाल करें!

जब आप यह पक्का कर लें कि सब कुछ सही जगह पर है, तब आपको अगले कुछ महीनों में पूरा करना होगा. ऐसे नए शहरों, देशों, और स्मारकों के बारे में गहराई से सोचें जिनकी आपको फ़ाइल की ज़रूरत है और उन्हें अपने फ़ाइल ट्री में जोड़ें!

बधाई हो! आपने #39; आधिकारिक तौर पर कंप्यूटर बोलना सीख लिया है. क्या आप एक कदम आगे जाने के लिए तैयार हैं? आइए, टॉक एक्सटेंशन को ऐक्सेस करें...

एक्सटेंशन

  1. अपनी सभी फ़ाइलों को फिर से मिलाएं. इसके बाद, अपनी पसंद के शहर में साइन इन करें. उस शहर में, पहले उसी समय रहते हुए, फ़ाइलों को फिर से व्यवस्थित करें.
  2. नीचे दिए गए मज़ेदार कमांड लाइन गेम में से कोई एक आज़माएं
    Terमाइनस गेम
    बेहतर गेम (Google के लिए तैयार रहें)
  3. क्या आप Star Wars के बहुत बड़े प्रशंसक हैं? अपनी कमांड लाइन में telnet towel.blinkenlights.nl चलाएं और Enter दबाएं. (ध्यान दें कि MacOS के हाल ही के वर्शन में, telnet निर्देश अब डिफ़ॉल्ट रूप से इंस्टॉल नहीं है. इस स्थिति में, कमांड nc towel.blinkenlights.nl 23 का इस्तेमाल किया जा सकता है.)

इस लैब का कोड, छात्र-छात्राओं के डेटा स्टोर करने की जगह में दिए गए फ़ोल्डर में देखा जा सकता है. इसे GitHub से डाउनलोड किया गया था: command-line/labs/bashing-away-repetition

क्या आप दोहराने के लिए, रोज़ाना कमांड कमांड के इस्तेमाल को बंद करना चाहते हैं? बहुत बढ़िया, तो मैं भी हूं!

बैकग्राउंड

अगर प्रोग्रामर को एक चीज़ नफ़रत लगती है, तो उसे दोहराने वाला एक कोड भी हो सकता है. कंप्यूटर साइंटिस्ट के रूप में, यह हमारी ज़िम्मेदारी है कि हम कंप्यूटर को ज़्यादा से ज़्यादा काम करें. बैश स्क्रिप्ट लिखने से, हमें कमांड लाइन के इस्तेमाल को बेहतर बनाने में मदद मिलेगी.

सबसे पहले, बैश स्क्रिप्ट क्या है?

GREAT सवाल. शुक्र है कि हमारे दोस्त रायन चैडविक, जो कमांड लाइन ट्यूटोरियल ढूंढने के लिए शानदार जगह हैं, हमारे पास इन सवालों का जवाब है.

बैश स्क्रिप्ट की मदद से हम कार्रवाइयों की ऐसी सीरीज़ तय कर सकते हैं जो कंप्यूटर बिना हमारे निर्देशों को डाले बिना करेगा. अगर कोई खास टास्क बार-बार किया जाता है या वह बार-बार दिखता है, तो स्क्रिप्ट आपके लिए मददगार साबित हो सकती है.

कोई दोहराव नहीं है? मैं 'sमैं किस बारे में बात कर रही हूँ.

ट्यूटोरियल

सबसे पहले, अपनी स्क्रिप्ट चलाने के लिए, आपको अपने कंप्यूटर को अनुमति देनी होगी. नीचे दिया गया निर्देश चलाकर ऐसा करें.

chmod 755 myScript.sh

ठीक है, आपका पहला प्रोग्राम लिखने का समय हो गया है. myScript.sh पर जाएं (देखें कि आप कमांड लाइन से फ़ाइल खोल सकते हैं या नहीं). फ़ाइल के आखिर में, यह जोड़ें:

echo "Hello World"

अब चलाएं:

./myScript.sh

टर्मिनल में. ** TA DA ** को आप टर्मिनल में प्रिंट करके & Hello</a> देख सकते हैं.

जश्न

आप अपनी बाश स्क्रिप्ट में जो भी लिखेंगे वह वैसे ही चलेगा जैसे आपने उसे अपने टर्मिनल में टाइप किया हो. एक्सटेंशन में जाने से पहले, एक और उदाहरण देखते हैं. पहले अपनी स्क्रिप्ट के लिए एक फ़ाइल बनाएं. इसे आप अपनी पसंद का कोई भी नाम दे सकते हैं, लेकिन इसका एक्सटेंशन .sh होना चाहिए. आगे बढ़ें स्क्रिप्ट चलाने की अनुमति देना न भूलें, इसके लिए अपने chmod 755 में स्क्रिप्ट का नाम डालें और Enter दबाएं. जब भी आप नई बैश स्क्रिप्ट शुरू करें, तो पक्का करें कि आपने उन दो चरणों को पूरा किया हो.

इंट्रो चैलेंज

अब, चलिए एक ऐसी स्क्रिप्ट लिखने की कोशिश करते हैं जो एक नया फ़ोल्डर बनाती है. हमें क्या पता है कि एक नया फ़ोल्डर कैसे बनता है? अगर आप कोई ऐसा शब्द सोच रहे हैं जो m से शुरू होकर kdir पर खत्म होता है, तो इसका मतलब है कि आप सही ट्रैक पर हैं. वह निर्देश लिखें, जो आपका नया फ़ोल्डर बनाएगा और आपकी नई .sh फ़ाइल में उसे कुछ बढ़िया नाम देगा, फिर उसे अपने टर्मिनल में चलाएगा.

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

ऊपर दिए गए ट्यूटोरियल का इस्तेमाल करने से बचें. साथ ही, Google की अपने बेहतरीन कौशल को निखारें. वे स्क्रिप्ट लिखें और चलाएं जो नीचे दिए गए काम करती हों:

मुख्य टास्क

  1. ऊपर बनाई गई फ़ाइल में एक निर्देश जोड़ें, जो बनाए जा रहे फ़ोल्डर में नेविगेट करता है. (डायरेक्ट्री बदलने के लिए हम क्या निर्देश देते हैं?)
  • तारीख, आपके नए फ़ोल्डर के नाम पर स्टैंप. उदाहरण के लिए, आपके प्रोग्राम को &&tt;2017-12-07my_super_cool_folder&कोटेशन; नाम का फ़ोल्डर बनाना चाहिए
  1. &प्रिंट आउट करता है;मेरी मौजूदा डायरेक्ट्री यह है: &कोटेशन; के बाद आपकी वर्किंग डायरेक्ट्री है, और &कोटेशन;इस डायरेक्ट्री में सब कुछ दिया हुआ है! आपकी कोटेशन के बाद &.
  2. अपनी बैश स्क्रिप्ट को इनपुट देने का तरीका जानें और उस इनपुट स्ट्रिंग के आधार पर फ़ाइल बनाएं. लैब में पहले से लिंक किए गए ट्यूटोरियल में, वैरिएबल सेक्शन में देखने के लिए कुछ शानदार उदाहरण दिए गए हैं.
  3. उपयोगकर्ता से उसका नाम पूछने के लिए कहें, उसके बाद & के रूप में प्रिंट करें; आपसे मिलकर अच्छा लगा और आपने यहां उन्हें नाम दिया.
  • ज़्यादा जानकारी के लिए, उपयोगकर्ता से पूछें और उसके लिए एक पसंद के मुताबिक मैसेज बनाएं.

संदर्भ

कमांड लाइन (या टर्मिनल) कंप्यूटर के ऑपरेटिंग सिस्टम (ओएस) के साथ सीधे तौर पर होने वाला इंटरैक्शन उपलब्ध कराता है - यह सब कुछ ग्राफ़िक यूज़र इंटरफ़ेस (यूआई) से होता है, लेकिन टेक्स्ट कमांड के ज़रिए - नेविगेशन से लेकर नई फ़ाइलें बनाने और स्क्रिप्ट चलाने के लिए किया जा सकता है. कमांड लाइन का इस्तेमाल, फ़ाइलों को खोलने और Google App Engine का इस्तेमाल करते समय, डेवलपमेंट एनवायरमेंट को शुरू करने के लिए किया जाएगा.

कार्रवाई की गई कमांड लाइन

टर्मिनल ऐक्सेस करना

Mac शॉर्टकट:

  • Command + space से, Spotlight खोलें.
  • स्पॉटलाइट खोज में टर्मिनल लिखें.
# See your current location - abbreviation for 'print working directory'.
pwd

# Change to a new location - abbreviation for 'change directory'.
cd /Users/jsmith/Downloads

# Navigate into a child directory called `some_directory`. This only works if
# `some_directory` is a child of the current directory.
cd some_directory

# Navigate into the parent of the current directory. `..` is shorthand for parent.
cd ..

# Return home.
cd

# Change directories to a folder called `my_folder` that is within the current
# directory.
cd my_folder ```

#### File Path Shorthand `~`

The `~` is generally short for "home". Home can be configured to mean different
things for different users and across different operating systems, but in the
example above, for a Mac user named "jsmith", the `~` is short for that user's
home directory: `/Users/jsmith`.

This means that `~/Downloads` and `/Users/jsmith/Downloads` are the same for
this user. But starting with a `~` allows us to specify absolute file paths
(agnostic of your current working directory, and starting at the root `/`)
without having to write out a full path each time.

### <a id="view"></a>Viewing the Contents of Folders

```bash
# See files and folders in current location - this is an abbreviation for 'list'.
ls

फ़ाइलें और फ़ोल्डर बनाना

फ़ाइलें बनाना

# Make a file - this will create a file in the current folder.
touch my_text_file.txt

# Make a file - this will create a file on the Desktop.
touch ~/Desktop/my_new_style_sheet.css

# Make multiple files - this will create multiple files in the current folder.
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html

फ़ोल्डर बनाना

# Make a folder - this will create a directory in the current folder.
mkdir my_new_folder

# Make a folder - this will create a directory on your Desktop.
mkdir ~/Desktop/my_new_desktop_folder

# Make multiple folders - this will create multiple folders in the current
# directory.
mkdir folder_one folder_two folder_three

फ़ाइलें ले जाना और फ़ोल्डर बनाना

फ़ाइलें ले जा रहा है

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_folder` that is in the current folder.
mv my_file.txt my_folder
# Note that this will rename the file instead of moving it if the destination
# folder does not yet exist.  Read below for more details on renaming.

# Move a file - this will move the file `my_file.txt` into the folder named
# `my_desktop_folder` that is located on the Desktop.
mv my_file.txt ~/Desktop/my_desktop_folder

फ़ोल्डर ले जाना

# Move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder.
mv my_child_folder my_parent_folder

# Move a directory - this will move the folder `my_folder` into the folder
# named `my_desktop_folder` that is located on the Desktop.
mv my_folder ~/Desktop/my_desktop_folder

शिफ़्टिंग का नाम बदला जा रहा है

ध्यान रखें कि mv यही निर्देश, फ़ाइलों या फ़ोल्डर के नाम बदलने के लिए भी इस्तेमाल किया जाता है.

# Rename a file from `old_name.txt` to `new_name.txt`.
mv old_name.txt new_name.txt

फ़ाइलें और फ़ोल्डर कॉपी करना

फ़ाइलें कॉपी करना

# Copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder.
cp ~/Desktop/my_file.txt ~/Documents

# Copy a file named `my_file.txt` to a file called `my_file_copy.txt` within
# the same folder.
cp my_file.txt my_file_copy.txt

फ़ोल्डर कॉपी करना

# Copy a directory named `my_folder` (and its contents) from your Desktop
# folder to a folder called `my_folder_copy` in your Documents folder.
cp -r ~/Desktop/my_folder ~/Documents/my_folder_copy

# Copy a directory named `my_folder` (and its contents) from the current
# working directory to a folder called `my_folder_copy` in the current working
# directory.
cp -r my_folder my_folder_copy

फ़ाइलें और फ़ोल्डर मिटाना

फ़ाइलें मिटाई जा रही हैं

# Delete a file in the current working directory.
rm unwanted_file.txt

# Delete a file using its exact location and name.
rm ~/Desktop/unwanted_file.txt

फ़ोल्डर मिटाना

# Delete an empty folder.
rmdir empty_directory

# Delete a folder which contains other files or folders.
rm -r directory_which_isnt_empty

सुझाव और तरकीबें

  • कमांड-लाइन का इस्तेमाल करके तब भी प्रैक्टिस करें, जब आपको लगता हो कि आपको ज़रूरत नहीं है. समय के साथ यह बेहतर होता जाएगा.
  • tab कुंजी आपकी फ़ाइल या फ़ोल्डर के नाम को अपने-आप पूरा कर देगी (यह केस-सेंसिटिव हो सकती है).
  • अगर मेल खाने वाली सिर्फ़ एक फ़ाइल या फ़ोल्डर है, तो वह अपने-आप पूरा हो जाएगा.
  • अगर मेल खाने वाली कई फ़ाइलें या फ़ोल्डर हैं, तो बाकी मैच की सूची देखने के लिए टैब को दो बार दबाएं.
  • अप / डाउन ऐरो आपके कमांड इतिहास को एक साइकल कर देगा, ताकि आपको कमांड दोबारा टाइप न करने पड़ें.
  • टर्मिनल विंडो को खाली करने के लिए, clear निर्देश का इस्तेमाल करें. यह आपके पिछले सभी काम को बनाए रखता है - इसे देखने के लिए ऊपर की ओर स्क्रोल करें.
  • टर्मिनल को रीस्टार्ट करने के लिए, reset का इस्तेमाल करें. यह आपके पहले के काम को स्क्रीन पर नहीं रखेगा. हालांकि, अगर टर्मिनल अचानक से ऐसा करना शुरू कर देता है, तो इससे कई समस्याएं हल हो सकती हैं.
  • कर्सर को किसी शब्द के हिसाब से ले जाने के लिए, option + arrow दबाएं

सबसे सही तरीके की खास जानकारी

  • cd, cd .. या cd <folder name> का इस्तेमाल करके टर्मिनल पर जाएं.
  • ls का इस्तेमाल करके फ़ोल्डर का कॉन्टेंट देखें.
  • touch का इस्तेमाल करके फ़ाइलें बनाएं; mkdir का इस्तेमाल करके फ़ोल्डर बनाएं.
  • mv <item to move> <destination> का इस्तेमाल करके, फ़ाइलों और फ़ोल्डर को Drive में ले जाएं.
  • cp <item to copy> <destination> का इस्तेमाल करके, फ़ाइलों और फ़ोल्डर को कॉपी करें.
  • rm <item to remove> का इस्तेमाल करके फ़ाइलें और फ़ोल्डर मिटाएं.

पहला सवाल

अपनी मौजूदा वर्किंग डायरेक्ट्री की पहचान करने के लिए आप क्या इस्तेमाल करेंगे?

  1. pwd
  2. ls
  3. cd
  4. mkdir
  5. touch

दूसरा सवाल

आप अपनी मौजूदा डायरेक्ट्री से दो लेवल ऊपर कैसे ले जाएंगे?

  1. mv ~
  2. cd ../..
  3. mv up/up
  4. cd ^(2)

तीसरा सवाल

फ़ाइल का नाम बदलने के लिए, आप कौनसा निर्देश इस्तेमाल करेंगे?

  1. mv
  2. cd
  3. ls
  4. python
  5. rename

चौथा सवाल

mv script.py निर्देश में गड़बड़ी क्यों होगी?

  1. क्योंकि script.py' एक अमान्य फ़ाइल नाम है.
  2. क्योंकि mv निर्देश के बाद कोई दूसरी जानकारी नहीं हो सकती.
  3. यह ट्रिक वाला सवाल है; इससे कोई गड़बड़ी नहीं होगी.
  4. एक फ़ाइल की जगह बदलने के लिए कम से कम दो आर्ग्युमेंट की ज़रूरत होती है - टारगेट और डेस्टिनेशन

पांचवां सवाल

cd ~ निर्देश से क्या होता है?

  1. अपनी वर्किंग डायरेक्ट्री को अपनी होम डायरेक्ट्री में बदलें.
  2. पिछला निर्देश दोहराएं.
  3. इस समय, सबसे उपयोगी निर्देश तय करने के लिए, एल्गोरिदम का इस्तेमाल करें.
  4. कोई गड़बड़ी करें.

छठा सवाल

फ़ाइल के अपने-आप पूरा होने वाले टैब में, टैब का इस्तेमाल क्यों नहीं किया जा सकता?

  1. क्योंकि इससे समय की बचत होती है.
  2. क्योंकि इससे वर्तनी की गड़बड़ियों को खत्म करने में मदद मिलती है.
  3. क्योंकि इसे प्रोसेस करने में कम समय लगता है.

सातवां सवाल

अगर कोई नया डेवलपर "my script.py&कोटेशन; नाम की फ़ाइल बनाने की कोशिश करता है, तो touch my script.py निर्देश क्या काम नहीं करेगा?

  1. क्योंकि touch नई फ़ाइलें नहीं बना सकता.
  2. .py मान्य फ़ाइल एक्सटेंशन नहीं है.
  3. ऐसा करने से दो फ़ाइलें बन जाएंगी, एक & नाम &कोटेशन; और एक & नाम &कोटेशन;script.py&कोटेशन;
  4. क्योंकि कमांड लाइन से नई फ़ाइलें बनाना नामुमकिन है.

पहला सवाल

अपनी मौजूदा वर्किंग डायरेक्ट्री की पहचान करने के लिए आप क्या इस्तेमाल करेंगे?

pwd

दूसरा सवाल

आप अपनी मौजूदा डायरेक्ट्री से दो लेवल ऊपर कैसे ले जाएंगे?

cd ../.. के साथ आप दो लेवल ऊपर जाते हैं (हर .. ऊपर के एक लेवल को दिखाता है).

तीसरा सवाल

फ़ाइल का नाम बदलने के लिए, आप कौनसा निर्देश इस्तेमाल करेंगे?

mv का इस्तेमाल फ़ाइल को एक जगह से दूसरी जगह ले जाने के लिए किया जाता है. इसका इस्तेमाल फ़ाइल का नाम बदलने के लिए भी किया जा सकता है.

चौथा सवाल

mv script.py निर्देश में गड़बड़ी क्यों होगी?

mv निर्देश के लिए दो तर्क, एक सोर्स फ़ाइल और डेस्टिनेशन फ़ाइल ज़रूरी है.

पांचवां सवाल

cd ~ निर्देश से क्या होता है?

साथ ही, यह आपकी वर्क डायरेक्ट्री को होम डायरेक्ट्री में बदल देगा. विशेष वर्ण ~ का इस्तेमाल मौजूदा उपयोगकर्ता की होम डायरेक्ट्री की पहचान करने के लिए किया जाता है. इसका इस्तेमाल किसी दूसरे उपयोगकर्ता नाम के साथ भी किया जा सकता है: ~user2 अपने होम फ़ोल्डर की ओर पॉइंट करने के लिए.

छठा सवाल

फ़ाइल के अपने-आप पूरा होने वाले टैब में, टैब का इस्तेमाल क्यों नहीं किया जा सकता?

इसके लिए, प्रोसेस करने की क्षमता कम होनी चाहिए. यह सही नहीं है. tab के लिए, फ़ाइल नाम को अपने-आप पूरा करने वाले फ़ोल्डर को स्कैन करने के लिए, प्रोसेसिंग की क्षमता की ज़रूरत बार-बार होती है. हालांकि, इससे समय की बचत होती है और प्रोसेस में वर्तनी की गलतियां नहीं आतीं.

सातवां सवाल

अगर कोई नया डेवलपर "my script.py&कोटेशन; नाम की फ़ाइल बनाने की कोशिश करता है, तो touch my script.py निर्देश क्या काम नहीं करेगा?

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

touch "my script.py"

पहला सवाल

डायरेक्ट्री बदलने का टर्मिनल निर्देश:

  1. move
  2. mkdir
  3. pwd
  4. cd

दूसरा सवाल

अगर आप अपनी मौजूदा वर्किंग डायरेक्ट्री के पैरंट फ़ोल्डर में जाना चाहते हैं, तो आप क्या निर्देश चलाएंगे?

  1. cd up
  2. cd .
  3. cd ..
  4. cd ~

तीसरा सवाल

फ़ाइलें बनाने के लिए किस निर्देश का इस्तेमाल किया जाता है?

  1. touch
  2. mkdir
  3. create
  4. pwd

चौथा सवाल

इनमें से कौनसा निर्देश index.html और style.css नाम की दो फ़ाइलें बनाएगा?

  1. touch index.html, touch style.css
  2. touch index.html, style.css
  3. touch index.html style.css
  4. touch index.html + style.css

पांचवां सवाल

किसी फ़ाइल या फ़ोल्डर का नाम बदलने के लिए आप किस निर्देश का उपयोग करते हैं?

  1. rename
  2. move
  3. mv
  4. rm

छठा सवाल

rm और cp फ़ाइलों को फ़ोल्डर पर कैसे काम करना चाहिए?

  1. -f
  2. -r
  3. -x
  4. -d

सातवां सवाल

projects को ~/Documents में ले जाने और Projects में इसका नाम बदलने के लिए, कौनसा निर्देश खाली होना चाहिए?

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
  1. pwd
  2. cd projects
  3. mv ~ projects
  4. cd ~/Documents
  5. ls

आठवां सवाल

नीचे दिए गए निर्देश से क्या होगा?

rm -r projects

  1. projects नाम की फ़ाइल को मिटाएं
  2. projects नाम वाला फ़ोल्डर मिटाना
  3. projects नाम वाली फ़ाइल का नाम बदलें
  4. projects की मौजूदा डायरेक्ट्री के कॉन्टेंट खोजें

पहला सवाल

डायरेक्ट्री बदलने का टर्मिनल निर्देश:

डायरेक्ट्री बदलने के लिए टर्मिनल निर्देश cd है. यह कमांड "डायरेक्ट्री बदलें** के लिए छोटा रूप है.

दूसरा सवाल

अगर आप अपनी मौजूदा वर्किंग डायरेक्ट्री के पैरंट फ़ोल्डर में जाना चाहते हैं, तो आप क्या निर्देश चलाएंगे?

पैरंट फ़ोल्डर पर जाने के लिए निर्देश cd .. है

तीसरा सवाल

फ़ाइलें बनाने के लिए किस निर्देश का इस्तेमाल किया जाता है?

फ़ाइलें बनाने का निर्देश यह है touch

चौथा सवाल

इनमें से कौनसा निर्देश index.html और style.css नाम की दो फ़ाइलें बनाएगा?

कमांड touch index.html style.css दो फ़ाइलें बनाएगा. किसी कॉमा की ज़रूरत नहीं है. स्पेस से अलग करते हुए कितनी भी संख्या में फ़ाइलें बनाई जा सकती हैं.

पांचवां सवाल

किसी फ़ाइल या फ़ोल्डर का नाम बदलने के लिए आप किस निर्देश का उपयोग करते हैं?

हालांकि, इसका मतलब है &मूट;मूव&कोट करें; और फ़ाइलों या फ़ोल्डर को ले जाने के लिए इसका इस्तेमाल किया जा सकता है, लेकिन mv का इस्तेमाल फ़ाइलों और फ़ोल्डर के नाम बदलने के लिए भी किया जा सकता है.

छठा सवाल

rm और cp फ़ाइलों को फ़ोल्डर पर कैसे काम करना चाहिए?

rm और cp निर्देशों के लिए फ़ोल्डर पर काम करने के लिए -r फ़्लैग होना ज़रूरी है. ऐसा इसलिए, क्योंकि -r फ़्लैग का मतलब है "बार-बार होने वाला" शब्द; और इसमें मौजूद सभी फ़ाइलों और फ़ोल्डर के लिए कमांड को फिर से चलाता है.

सातवां सवाल

projects को ~/Documents में ले जाने और Projects में इसका नाम बदलने के लिए, कौनसा निर्देश खाली होना चाहिए?

cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects

हम होम डायरेक्ट्री से शुरू करते हैं, इसलिए आखिरी निर्देश पाने के लिए हमें cd ~/Documents चलाना होगा, ताकि सही डायरेक्ट्री में काम किया जा सके.

आठवां सवाल

नीचे दिए गए निर्देश से क्या होगा?

rm -r projects

यह निर्देश, projects फ़ाइल नाम या फ़ोल्डर को मिटा देगा, क्योंकि इसे -r या बार-बार फ़्लैग करने की सुविधा के साथ कॉल किया गया है. इस फ़्लैग के बिना, यह निर्देश सिर्फ़ उस नाम वाली फ़ाइल को मिटाने के लिए काम करेगा.