1 00:00:00,000 --> 00:00:05,060 >> [MUSIC nagpe-play] 2 00:00:05,060 --> 00:00:05,890 >> DOUG LLOYD: OK. 3 00:00:05,890 --> 00:00:08,680 Kaya sabihin makipag-usap tungkol sa kung paano gamitin ang Linux command line. 4 00:00:08,680 --> 00:00:11,860 Ngayon, ang CS50 IDE, o sa katunayan, kahit na isang CS50 appliance, 5 00:00:11,860 --> 00:00:15,210 kung hindi ka pamilyar sa mga iyon, o ikaw ay pagkuha ng isang mas lumang bersyon ng CS50, 6 00:00:15,210 --> 00:00:17,420 ay isang makina cloud-based na kung saan ay nagpapatakbo ng Ubuntu, 7 00:00:17,420 --> 00:00:20,259 na kung saan ay isa sa maraming mga flavors ng Linux operating system. 8 00:00:20,259 --> 00:00:22,300 Linux operating system ay pinapaboran ng programmers, 9 00:00:22,300 --> 00:00:25,690 dahil ito lang ang mas malamig, di ba? 10 00:00:25,690 --> 00:00:29,170 >> Maraming mga modernong Linux na distribusyon Mayroon graphical interface ng gumagamit, 11 00:00:29,170 --> 00:00:33,710 na tinatawag din namin GUIs, G-U-ko, na payagan madaling mouse-based navigation, 12 00:00:33,710 --> 00:00:36,920 na kung saan ikaw ay malamang na pamilyar sa, kung ikaw ay isang user ng Windows o Mac, 13 00:00:36,920 --> 00:00:39,961 paglipat sa paligid ng iyong mouse, pag-double click sa mga icon, at iba pa. 14 00:00:39,961 --> 00:00:42,210 Pa rin kahit na, bilang isang programmer, at kahit na ang mga IDE 15 00:00:42,210 --> 00:00:44,800 naglalaman ng kakayahan upang gawin ang ilang mga graphical user 16 00:00:44,800 --> 00:00:47,400 bagay-bagay, pag-click, at pag-drag, at ang lahat ng iyon, 17 00:00:47,400 --> 00:00:50,197 makikita mo pa rin gamit ang iyong terminal na window medyo madalas. 18 00:00:50,197 --> 00:00:52,280 At maaari mong gawin ang marami sa mga katulad na mga gawain na maaari mong 19 00:00:52,280 --> 00:00:53,905 gawin gamit ang isang mouse na may mga command sa keyboard. 20 00:00:53,905 --> 00:00:56,821 At kami ay pagpunta sa makipag-usap nang kaunti tungkol sa kung ano ang ilan sa mga utos 21 00:00:56,821 --> 00:00:58,050 ay ngayon. 22 00:00:58,050 --> 00:01:02,490 >> Ngayon, ang mga utos ay maaaring gamitin sa anumang Unix-based operating 23 00:01:02,490 --> 00:01:06,790 system, kung saan kabilang ang Linux, ngunit kabilang din Mac OS. 24 00:01:06,790 --> 00:01:12,930 Kung buksan mo up Terminal sa iyong Mac, maaari mong gamitin ang mga eksaktong mga utos. 25 00:01:12,930 --> 00:01:15,705 Mayroon ding Windows Command Prompt, ngunit ilan sa mga utos 26 00:01:15,705 --> 00:01:17,871 ay bahagyang naiiba, kaya ito ay hindi tunay na trabaho, 27 00:01:17,871 --> 00:01:20,080 dahil Windows ay hindi isang sistema na batay sa Unix. 28 00:01:20,080 --> 00:01:22,620 >> Kaya sabihin kumuha ng isang pagtingin sa ilan sa ng mga utos Linux. 29 00:01:22,620 --> 00:01:26,100 Ang unang isa na makikita mo marahil gamitin pa ng maraming ay ls. 30 00:01:26,100 --> 00:01:30,410 Iyan ay isang lowercase l, na sinusundan ng isang lowercase s, na kung saan ay maikli para sa listahan. 31 00:01:30,410 --> 00:01:33,720 At kung ano ang command list ay ito nagbibigay sa iyo ng isang readout ng lahat ng mga file 32 00:01:33,720 --> 00:01:35,670 at mga folder sa iyong kasalukuyang direktoryo. 33 00:01:35,670 --> 00:01:39,430 Kaya maaari mong makita ang lahat ng magagawa mo kumuha sa mula sa kung saan ka kasalukuyang. 34 00:01:39,430 --> 00:01:41,545 >> Kaya ko binuksan up ako para sa CS50 IDE. 35 00:01:41,545 --> 00:01:44,540 At ako pagpunta upang mag-zoom-in sa isang pangalawang upang bigyan ka ng isang mas malapitan naming tingnan, 36 00:01:44,540 --> 00:01:47,240 ngunit dito ang malawak na larawan ng kung ano ang hitsura ng IDE gusto. 37 00:01:47,240 --> 00:01:49,580 Sa kaliwa, maaari mong makita ang mayroon kami isang file tree, na kung saan ikaw ay malamang na 38 00:01:49,580 --> 00:01:52,663 pamilyar sa, double-click, at file at folder, at ang lahat ng mga bagay-bagay na iyon. 39 00:01:52,663 --> 00:01:54,694 Kaya na naroon pa rin sa CS50 appliance. 40 00:01:54,694 --> 00:01:57,860 Sa gitna sa itaas ay kung saan ikaw ay pupunta sa pagsusulat ng iyong code, sa sandaling 41 00:01:57,860 --> 00:01:58,960 nag-click sa isang file. 42 00:01:58,960 --> 00:02:00,900 At sa ibaba, kami ay magkaroon ng isang terminal na window, 43 00:02:00,900 --> 00:02:04,040 na kung saan ay kung saan maaari naming execute mga terminal utos. 44 00:02:04,040 --> 00:02:07,460 >> Pupunta ako upang mag-zoom-in at tumuloy dito, lamang 45 00:02:07,460 --> 00:02:12,360 upang ipakita sa iyo na, sa katunayan, maaari ko click sa mga file at mga folder. 46 00:02:12,360 --> 00:02:17,010 Kaya malinaw na, kung saan ako kasalukuyang am, mayroon akong dalawang folder, na tinatawag pset0 at pset1, 47 00:02:17,010 --> 00:02:20,520 at tatlong mga file, isa na tinatawag na hello, tinatawag na isa hello.c, 48 00:02:20,520 --> 00:02:22,870 at isa na tinatawag hello.txt. 49 00:02:22,870 --> 00:02:27,100 >> Kaya sabihin ilipat pababa sa terminal window at makakuha ng isang mas malapitan naming tingnan. 50 00:02:27,100 --> 00:02:31,010 Kaya nakipag-usap lang kami, muli, tungkol sa mga katunayan na kami ay may tatlong mga file at dalawang 51 00:02:31,010 --> 00:02:32,970 folder sa kasalukuyang direktoryo. 52 00:02:32,970 --> 00:02:37,080 Kung nagta-type ako ls, na muli ay ang command sa listahan 53 00:02:37,080 --> 00:02:40,870 ang mga nilalaman ng kasalukuyang direktoryo, at pagkatapos ay ako pindutin ang Enter, 54 00:02:40,870 --> 00:02:47,220 tingnan kung ano ang nakikita ko, hello, hello.c, hello.txt, pset0 at pset1. 55 00:02:47,220 --> 00:02:49,620 >> pset0 at pset1 ay kulay bughaw, upang ipahiwatig 56 00:02:49,620 --> 00:02:52,420 sa iyo na ang mga iyon ay mga direktoryo na maaari naming mag-navigate sa. 57 00:02:52,420 --> 00:02:54,503 At kami na malaman ang kaunti bit tungkol sa kung paano i-navigate 58 00:02:54,503 --> 00:02:56,290 sa mga direktoryo sa isang minuto. 59 00:02:56,290 --> 00:03:00,920 At lahat ng iba pang bagay ay may kulay itim, kung ito ay isang text file o isang source code 60 00:03:00,920 --> 00:03:03,590 maghain, at berde, kung ito ay isang executable file. 61 00:03:03,590 --> 00:03:06,367 Kaya malinaw, na nangangahulugan na ang ko maaaring magpatakbo ng isang programa na tinatawag na, hello. 62 00:03:06,367 --> 00:03:07,950 Iyon ay kung ano ang ibig sabihin ng berdeng isa doon. 63 00:03:07,950 --> 00:03:10,080 Pero talaga, pag-type ng ls utos ay nagbigay-daan 64 00:03:10,080 --> 00:03:13,470 akin upang tumingin sa lahat na umiiral sa aking kasalukuyang direktoryo, kung saan 65 00:03:13,470 --> 00:03:17,940 tumutugma sa kung ano ang nakikita natin dito, sa graphical display ng parehong. 66 00:03:17,940 --> 00:03:19,940 Ang susunod na utos bibigyan ka marahil gamitin ng lubos ng kaunti 67 00:03:19,940 --> 00:03:24,792 ay cd, lowercase c, lowercase d, kung saan ay maikli para sa pagbabago ng direktoryo. 68 00:03:24,792 --> 00:03:27,500 Ito ay nagbibigay-daan sa amin upang gawin kung ano ako ay pakikipag-usap tungkol sa isang segundo ang nakalipas, kung saan 69 00:03:27,500 --> 00:03:31,150 ay upang mag-navigate sa pagitan ng directories sa utos 70 00:03:31,150 --> 00:03:33,700 line, bilang kabaligtaran sa double-click sa folder. 71 00:03:33,700 --> 00:03:37,250 Kaya kung type namin cd at pagkatapos ay ang pangalan ng isang direktoryo, 72 00:03:37,250 --> 00:03:40,890 maaari naming makuha sa directory na iyon. 73 00:03:40,890 --> 00:03:44,680 >> Bilang isang tabi, alam na ang pangalan ng kasalukuyang direktoryo ay palaging 74 00:03:44,680 --> 00:03:48,670 tuldok, at ang pangalan ng direktoryo isang antas sa itaas kung saan na kami ngayon, 75 00:03:48,670 --> 00:03:54,820 na ang pangalan ng folder sa kung saan ang aming folder ay, tuldok, dot-- 76 00:03:54,820 --> 00:03:56,851 o kung saan ang aming folder ay, ay tuldok, tuldok. 77 00:03:56,851 --> 00:03:59,350 At kung ikaw ay kailanman malaman ang tungkol sa ang pangalan ng inyong direktoryo, 78 00:03:59,350 --> 00:04:03,430 Maaari mong i-type pwd, na ang ibig sabihin ay para sa kasalukuyan nagtatrabaho direktoryo. 79 00:04:03,430 --> 00:04:06,827 Susubukan naming tingnan sa lahat ng mga ito ngayon, sa pamamagitan ng heading na bumalik sa CS50 IDE. 80 00:04:06,827 --> 00:04:08,160 Kaya ako bumalik sa aking workspace ngayon. 81 00:04:08,160 --> 00:04:11,930 At kukunin ko na mag-zoom-in muli sa terminal, upang maaari naming tingnan 82 00:04:11,930 --> 00:04:14,209 sa paglipat sa paligid sa loob ng IDE. 83 00:04:14,209 --> 00:04:16,250 Kaya ako pagpunta sa listahan ng mga nilalaman ng aking directory 84 00:04:16,250 --> 00:04:19,220 muli, upang reground lamang sa amin sa kung saan kami. 85 00:04:19,220 --> 00:04:21,740 Kaya kung type ko ls, na ay muli para sa listahan, 86 00:04:21,740 --> 00:04:24,160 Nakikita ko na ang maaari kong makuha sa pset0 at pset1. 87 00:04:24,160 --> 00:04:26,420 Iyon ang mga directories Maaari ako kumuha sa mula dito. 88 00:04:26,420 --> 00:04:30,400 Alam ko na, dahil ang IDE ay nagbibigay sa ako ng isang palatandaan sa pamamagitan ng pangkulay asul na ang mga ito. 89 00:04:30,400 --> 00:04:33,295 >> Sabihin natin na gusto kong kumuha sa aking direktoryo pset1, 90 00:04:33,295 --> 00:04:35,310 dahil ako nagtatrabaho sa hanay ng problema 1. 91 00:04:35,310 --> 00:04:41,380 Maaari ko bang uri ng cd-- muli, maikli para sa baguhin directory-- space, pset1. 92 00:04:41,380 --> 00:04:43,334 At kung ako pindutin ang Enter, mapapansin kung ano ang mangyayari. 93 00:04:43,334 --> 00:04:45,000 Hindi ito ang hitsura ng marami ang nangyari. 94 00:04:45,000 --> 00:04:50,510 Ngunit kung titingnan mo ang prompt, ito ngayon ay nagsasabi sa akin na ako sa ~ / workspace / pset1. 95 00:04:50,510 --> 00:04:55,510 Na nag-navigate ko sa pset1 folder na noon sa loob ng aking workspace. 96 00:04:55,510 --> 00:05:00,560 >> At kung type ko ls, nakikita ko ang ilang iba't-ibang mga bagay-bagay dito, di ba? 97 00:05:00,560 --> 00:05:03,810 Ito ay hindi katulad list na nakita ko dati. 98 00:05:03,810 --> 00:05:05,350 Na nag-navigate ko sa pset1. 99 00:05:05,350 --> 00:05:08,560 At kaya ngayon, kapag nagta-type ako ls, ako pagkuha ng konteksto ng kung ano ang maaari kong 100 00:05:08,560 --> 00:05:12,600 makita mula sa loob ng pset1 folder. 101 00:05:12,600 --> 00:05:16,056 >> Ngayon, ako pagpunta sa uri ng kontrol l, na kini-clear lang ang screen. 102 00:05:16,056 --> 00:05:18,180 At ako pagpunta sa listahan ang mga mga nilalaman ng direktoryo 103 00:05:18,180 --> 00:05:18,880 muli, lamang upang maaari mong makita. 104 00:05:18,880 --> 00:05:20,730 Nais ko lamang na gawin iyon sa malinaw na ang ilan sa mga bagay-bagay 105 00:05:20,730 --> 00:05:22,521 na nakita mo down sa ibaba at upang maiwasan ito 106 00:05:22,521 --> 00:05:24,660 mula sa pagpunta masyadong malayo down wala sa hanay. 107 00:05:24,660 --> 00:05:28,440 >> Ngayon, mas maaga na ang sinabi ko, kung gusto ko upang mag-navigate sa kasalukuyang directory, 108 00:05:28,440 --> 00:05:31,580 Maaari ko bang uri ng cd space dot. 109 00:05:31,580 --> 00:05:32,080 Pindutin ang Enter. 110 00:05:32,080 --> 00:05:33,330 Hindi ito gumawa ng anumang bagay, di ba? 111 00:05:33,330 --> 00:05:35,480 Ako ng pagbabago directories sa kasalukuyang directory. 112 00:05:35,480 --> 00:05:37,813 Hindi ka palaging pagpunta sa makahanap ng isang pangangailangan para sa isang single na tuldok, 113 00:05:37,813 --> 00:05:39,540 ngunit ikaw ay paminsan-minsan. 114 00:05:39,540 --> 00:05:41,950 >> Sabihin natin na gusto ko upang ilipat up ng isang antas. 115 00:05:41,950 --> 00:05:44,450 Gusto ko upang makabalik sa aking direktoryo workspace. 116 00:05:44,450 --> 00:05:49,800 Hindi ko type cd workspace, walang ganitong file o directory. 117 00:05:49,800 --> 00:05:52,780 At ang mga dahilan para sa na- kung type ko ls isa pang time-- 118 00:05:52,780 --> 00:05:58,060 ay na walang direktoryo ng tinatawag na workspace sa loob ng aking direktoryo pset1. 119 00:05:58,060 --> 00:06:00,275 Pupunta ako upang i-clear ang aking screen muli sa control l. 120 00:06:00,275 --> 00:06:02,150 Tandaan kung ano ang sinabi ko mas maaga, bagaman, na namin 121 00:06:02,150 --> 00:06:04,010 maaaring mag-navigate pabalik sa mga tuldok, tuldok. 122 00:06:04,010 --> 00:06:05,880 Iyan ang pangalan ng magulang na direktoryo. 123 00:06:05,880 --> 00:06:10,727 Kaya kung type ko cd, space, tuldok, , at pagkatapos ay pindutin ang dot Ipasok, 124 00:06:10,727 --> 00:06:11,810 ngayon ay tumingin sa kung ano ang nangyari. 125 00:06:11,810 --> 00:06:15,250 Sinasabi sa akin My command prompt na ako pabalik sa aking direktoryo ~ / workspace. 126 00:06:15,250 --> 00:06:19,360 Ako inilipat up ng isang antas, salamat sa tuldok, tuldok. 127 00:06:19,360 --> 00:06:23,400 >> Ngayon, sabihin natin na gumagamit ako ng isang operating system na Linux-based, 128 00:06:23,400 --> 00:06:25,440 ngunit ay hindi kinakailangang sabihin sa akin kung saan ako. 129 00:06:25,440 --> 00:06:28,370 Isa na ito ang mangyayari sa sabihin sa amin na Ako sa ~ / workspace sa ngayon, 130 00:06:28,370 --> 00:06:29,280 karapatan sa prompt. 131 00:06:29,280 --> 00:06:31,940 Ngunit maaari kong maging ganap na nawala sa isang gulo ng mga folder, 132 00:06:31,940 --> 00:06:34,946 at wala akong mga ideya kung nasaan ako at walang mga ideya kung saan gusto ko upang makabalik sa. 133 00:06:34,946 --> 00:06:36,320 Mayroong dalawang mga bagay na maaari kong gawin. 134 00:06:36,320 --> 00:06:40,920 >> Una sa lahat, maaari kong malaman out kung nasaan ako, sa pamamagitan ng pag-type pwd. 135 00:06:40,920 --> 00:06:42,720 Iyon ang aking kasalukuyang nagtatrabaho direktoryo. 136 00:06:42,720 --> 00:06:45,830 At kung ako pindutin ang Enter, ito ay nagsasabi sa akin kung saan ako. 137 00:06:45,830 --> 00:06:49,400 Ngayon / home / Ubuntu ay ang mahabang paraan ng kasabihan, tilde, 138 00:06:49,400 --> 00:06:51,290 na kung saan ay ang iyong home directory. 139 00:06:51,290 --> 00:06:56,540 Ngunit ito ay nagsasabi sa akin na ako sa home / Ubuntu / workspace, o ~ / workspace. 140 00:06:56,540 --> 00:07:00,700 >> Pupunta ako upang mag-navigate sa aking direktoryo pset1 muli, 141 00:07:00,700 --> 00:07:02,229 at ako pagpunta sa listahan ang mga nilalaman. 142 00:07:02,229 --> 00:07:04,770 At nakikita ko na mayroon akong ibang directory doon, na tinatawag na extra. 143 00:07:04,770 --> 00:07:09,020 Kaya ako pagpunta sa cd sa extras, at pagkatapos ay ako pagpunta upang i-clear ang aking screen. 144 00:07:09,020 --> 00:07:11,540 >> Kaya ngayon, ako ay medyo malayo sa, right? 145 00:07:11,540 --> 00:07:13,680 Paano kung gusto kong i-back na workspace agad? 146 00:07:13,680 --> 00:07:15,138 May isang pares ng mga bagay na maaari kong gawin. 147 00:07:15,138 --> 00:07:18,750 Hindi ko type ang cd, tuldok, tuldok, slash, tuldok, tuldok, upang ilipat up ng isang antas at pagkatapos ay 148 00:07:18,750 --> 00:07:19,640 ibang antas. 149 00:07:19,640 --> 00:07:21,090 Ngunit iyon lamang ang uri ng nakakainis. 150 00:07:21,090 --> 00:07:24,990 >> Kaya kung sakaling gusto ko upang makabalik sa lamang ang aking home directory, tilde, 151 00:07:24,990 --> 00:07:27,690 Maaari ko bang uri ng cd sa wala matapos na ito. 152 00:07:27,690 --> 00:07:29,224 CD, ang Enter. 153 00:07:29,224 --> 00:07:30,140 At ngayon, ako sa tilde. 154 00:07:30,140 --> 00:07:34,310 At kung gusto ko upang makakuha ng sa workspace, Maaari ko bang i-type lamang cd workspace. 155 00:07:34,310 --> 00:07:36,770 At na kung paano gumagana sa iyo pagbabago ng mga direktoryo 156 00:07:36,770 --> 00:07:42,080 sa loob ng CS50 IDE o anumang Linux operating system sa linya ng command. 157 00:07:42,080 --> 00:07:42,580 Lahat tama. 158 00:07:42,580 --> 00:07:45,610 Ang susunod na isa na maaaring dumating sa madaling gamitin ay mkdir, 159 00:07:45,610 --> 00:07:48,709 na kung saan ay maikli para gumawa ng isang direktoryo, kung kailangan ko upang lumikha ng isang bagong folder. 160 00:07:48,709 --> 00:07:50,750 Kung pamilyar ka sa mga GUI operating system, 161 00:07:50,750 --> 00:07:51,820 maaari mong i-right click. 162 00:07:51,820 --> 00:07:54,500 At pagkatapos ay, kapag ang menu ng konteksto nagpa-pop up, piliin ang Bagong Folder. 163 00:07:54,500 --> 00:07:56,250 Iyon ay marahil kung paano nagawa mo na ito bago. 164 00:07:56,250 --> 00:08:00,979 Ngunit maaari rin naming lumikha directories sa linya ng command. 165 00:08:00,979 --> 00:08:02,020 Kaya hindi namin pabalik sa IDE. 166 00:08:02,020 --> 00:08:08,020 Kukunin ko mag-zoom-in sa terminal at ilista ang mga nilalaman ng aking mga direktoryo 167 00:08:08,020 --> 00:08:11,882 muli, upang ibigay lamang sa amin isang frame ng reference. 168 00:08:11,882 --> 00:08:14,340 Sabihin natin na, ngayon, na ako tapos nagtatrabaho sa hanay ng problema 0 169 00:08:14,340 --> 00:08:15,580 at itakda ang problema 1. 170 00:08:15,580 --> 00:08:19,390 Kaya gusto kong lumikha ng isang bagong directory upang gumana sa para sa hanay ng problema 2. 171 00:08:19,390 --> 00:08:20,420 Paano ko gagawin yan? 172 00:08:20,420 --> 00:08:24,132 >> Well, muli, ako ay hindi i-right click sa side kaliwa doon at piliin ang Bagong Folder 173 00:08:24,132 --> 00:08:25,340 at lumikha ng isang direktoryo pset2. 174 00:08:25,340 --> 00:08:26,240 Iyon ay trabaho masyadong. 175 00:08:26,240 --> 00:08:28,615 Ngunit pagkatapos ay ito rin ang gagawin ko sa command line medyo mabilis, 176 00:08:28,615 --> 00:08:35,049 sa pamamagitan ng pag-type mkdir, space-- ko nai-type sa n, but-- space pset2. 177 00:08:35,049 --> 00:08:38,659 Kung ako pindutin ang Enter at pagkatapos ay ilista ko ang nilalaman ng aking directory muli, 178 00:08:38,659 --> 00:08:40,710 Nakikita ko na, tumingin, ngayon Mayroon akong isang pset2 folder. 179 00:08:40,710 --> 00:08:43,110 At maaari ko bang mag-navigate sa na ang paggamit ng cd at gawin 180 00:08:43,110 --> 00:08:45,614 lahat ng mga trabaho na kailangan kong gawin para pset2. 181 00:08:45,614 --> 00:08:48,530 Hindi sinasadya, kukunin ko na lang pop higit dito talagang mabilis sa mga file tree. 182 00:08:48,530 --> 00:08:53,494 At makikita mo na, rin, sa ang mga graphical na File Explorer, 183 00:08:53,494 --> 00:08:56,160 maaari naming makita na ang direktoryo pset2 ay din na nilikha doon. 184 00:08:56,160 --> 00:08:58,537 At maaari ko bang mag-navigate sa mga ito, gamit ang GUI rin. 185 00:08:58,537 --> 00:09:00,870 Ang susunod na oras at na ang marahil pagpunta sa darating sa madaling 186 00:09:00,870 --> 00:09:03,650 ay cp, na kung saan ay maikli para sa copy. 187 00:09:03,650 --> 00:09:06,960 Kopyahin, hindi tulad ng lahat ng iba pang utos na nakita natin dati, 188 00:09:06,960 --> 00:09:11,800 tumatagal ng dalawang argumento, isang source, ang pangalan ng file na nais mong kopyahin, 189 00:09:11,800 --> 00:09:15,810 at isang destination, kung saan ka nais upang kopyahin ang mga file sa. 190 00:09:15,810 --> 00:09:19,490 Ito ay medyo madali upang kopyahin ni gawin na ang isang file, kaya hayaan. 191 00:09:19,490 --> 00:09:20,640 >> Kaya hindi namin pabalik sa IDE. 192 00:09:20,640 --> 00:09:24,540 Pupunta ako sa listahan ang mga nilalaman ng aking kasalukuyang direktoryo na may ls. 193 00:09:24,540 --> 00:09:28,310 Ngayon, sabihin natin na gusto ko upang gumawa ng isang kopya ng hello.txt. 194 00:09:28,310 --> 00:09:32,120 Muli, mula sa mga file tree sa sa kaliwa, ang graphical interface, 195 00:09:32,120 --> 00:09:35,969 Ko maaaring i-right-click sa hello.txt, gumawa ng kopya, i-paste ang kopya. 196 00:09:35,969 --> 00:09:38,260 Ngunit maaari kong gawin medyo mabilis sa command line masyadong. 197 00:09:38,260 --> 00:09:42,520 >> Ipagpalagay natin na nais kong kopya hello.txt sa hi.txt. 198 00:09:42,520 --> 00:09:45,850 Maaari ko bang CP, space, hello.txt. 199 00:09:45,850 --> 00:09:48,850 Iyon ang aking source file, kaya na ang dahilan kung bakit Pupunta ako upang pumili muna ang isa. 200 00:09:48,850 --> 00:09:51,058 At pagkatapos ay kailangan ko upang pangalanan ang destination file, hi.txt. 201 00:09:51,058 --> 00:09:53,690 202 00:09:53,690 --> 00:09:54,620 Ako pindutin ang Enter. 203 00:09:54,620 --> 00:09:57,930 At kung ilista ko ang mga nilalaman ng aking directory muli, may hi.txt. 204 00:09:57,930 --> 00:09:59,220 Ako na ginawa ng isang kopya nito. 205 00:09:59,220 --> 00:10:01,090 At sa katunayan, kung pinuntahan ko sa hi.txt, maaari ko 206 00:10:01,090 --> 00:10:04,030 makita na ito ay isang eksaktong duplicate ng lahat ng bagay na 207 00:10:04,030 --> 00:10:08,330 umiiral sa aking hello.txt file. 208 00:10:08,330 --> 00:10:09,790 >> Kaya na kung paano mo kopyahin ang isang file. 209 00:10:09,790 --> 00:10:12,680 Ngunit ano kung nais mong kopyahin ang isang buong direktoryo? 210 00:10:12,680 --> 00:10:16,510 Kaya para sa isang segundo, sabihin kumuha ng isang pagtingin sa kung ano ang sa aking direktoryo pset0. 211 00:10:16,510 --> 00:10:23,950 Kung ako cd pset0 at ilista ang mga nilalaman, Mayroon akong isang direktoryo na tinatawag, sample, 212 00:10:23,950 --> 00:10:26,252 at isang scratch file, scratch.sb2. 213 00:10:26,252 --> 00:10:27,210 Kaya na ay magandang malaman. 214 00:10:27,210 --> 00:10:29,800 So clear ang screen ipaalam, at ako pagpunta upang bumalik 215 00:10:29,800 --> 00:10:32,870 sa aking direktoryo workspace para sa isang segundo. 216 00:10:32,870 --> 00:10:36,630 >> Sabihin natin na, ngayon, gusto ko na gumawa ng kopya ng aking direktoryo pset0. 217 00:10:36,630 --> 00:10:42,940 Hindi ko lang sabihin cp pset0 pset3, halimbawa. 218 00:10:42,940 --> 00:10:46,220 Makukuha mo ang mga kakaibang mensahe, omitting direktoryo pset0. 219 00:10:46,220 --> 00:10:47,439 Bakit mo makakuha na mensahe? 220 00:10:47,439 --> 00:10:49,730 Well, ito ay lumiliko out na, kapag ikaw ay may isang direktoryo na 221 00:10:49,730 --> 00:10:53,150 ay may iba pang mga bagay-bagay sa loob ng mga ito, ang utos cp ay hindi tunay 222 00:10:53,150 --> 00:10:55,590 talaga alam kung ano ang gagawin sa mga ito. 223 00:10:55,590 --> 00:10:59,670 >> Kailangan namin na tahasang sabihin sa Linux, ang mga terminal, 224 00:10:59,670 --> 00:11:03,720 Gusto ko sa iyo upang kopyahin ang mga directory pset0 at kopya 225 00:11:03,720 --> 00:11:07,530 bawat folder na umiiral sa loob ng mga ito at ang bawat file na 226 00:11:07,530 --> 00:11:08,750 umiiral sa loob ng mga ito. 227 00:11:08,750 --> 00:11:13,270 Sa ibang salita, kailangan ko mong recursively dive down sa pset0 228 00:11:13,270 --> 00:11:15,660 at gumawa ng kopya ng lahat ng bagay sa doon. 229 00:11:15,660 --> 00:11:25,280 >> Kung gusto kong gawin iyon, kung ano ang maaari kong gawin ay cp-r, para sa recursive, pset0 pset3. 230 00:11:25,280 --> 00:11:26,850 Pindutin ang Enter. 231 00:11:26,850 --> 00:11:29,290 Ngayon, kung ilista ko ang nilalaman ng aking directory, 232 00:11:29,290 --> 00:11:32,180 Nakikita ko doon ang pset3 direktoryo na maaari kong magtrabaho sa. 233 00:11:32,180 --> 00:11:36,990 At kung ako cd sa pset3 ngayon at pagkatapos ay ilista ang mga nilalaman, tumingin, 234 00:11:36,990 --> 00:11:39,594 mayroong muli sample at scratch.sb2. 235 00:11:39,594 --> 00:11:40,510 Kaya na medyo cool. 236 00:11:40,510 --> 00:11:43,819 Kaya na kung paano mo maaaring kopyahin ang isang buong directory, at hindi lamang ng isang solong file. 237 00:11:43,819 --> 00:11:45,860 Kaya kung nais mong kopyahin ang isang direktoryo, tandaan lamang 238 00:11:45,860 --> 00:11:49,830 na gamitin ang mga r bandila kapag ikaw ay nagtatrabaho sa mga utos cp. 239 00:11:49,830 --> 00:11:50,330 Lahat tama. 240 00:11:50,330 --> 00:11:52,320 Kaya kinopya ko ang isang file, ngunit Ginawa ko na tama. 241 00:11:52,320 --> 00:11:53,695 At ngayon, gusto kong makakuha ng alisan ng ito. 242 00:11:53,695 --> 00:11:54,850 Paano ko gagawin yan? 243 00:11:54,850 --> 00:11:56,830 Muli, kung hindi ka pamilyar may isang GUI interface, 244 00:11:56,830 --> 00:11:58,310 maaari mong i-right click at piliin lamang ang Tanggalin. 245 00:11:58,310 --> 00:12:00,630 At ito ay ipadala ito sa basura o ang Recycle Bin. 246 00:12:00,630 --> 00:12:03,320 Ngunit sa command line, kami Maaari lang i-type rm, para alisin, 247 00:12:03,320 --> 00:12:05,580 at pagkatapos ay ang pangalan ng maghain gusto naming idispatsa. 248 00:12:05,580 --> 00:12:08,614 >> Ngayon, rm ay napaka-ingat. 249 00:12:08,614 --> 00:12:11,280 Ito ay isang pulutong ng mga double-check, tiyakin na ikaw ay tunay na 250 00:12:11,280 --> 00:12:12,377 nais na tanggalin ang mga file. 251 00:12:12,377 --> 00:12:15,460 Hindi nito nais na gumawa ng anumang mga pagkakamali, dahil walang Recycle Bin dito. 252 00:12:15,460 --> 00:12:17,010 Kapag namin tanggalin ang isang file, ito ay nawala. 253 00:12:17,010 --> 00:12:18,710 At may tunay na walang paraan upang mabawi ito. 254 00:12:18,710 --> 00:12:20,730 Kaya kailangan namin upang maging maganda Mag-ingat, at iba rm 255 00:12:20,730 --> 00:12:23,110 ay magiging talagang mag-ingat para sa amin. 256 00:12:23,110 --> 00:12:27,120 >> Kaya sabihin bumalik sa IDE at idispatsa na hi.txt file 257 00:12:27,120 --> 00:12:29,640 na nilikha ko ng isang minuto ang nakalipas sa kopya. 258 00:12:29,640 --> 00:12:30,560 Kaya hindi namin sa IDE. 259 00:12:30,560 --> 00:12:33,180 At ang listahan ko ng mga nilalaman ng aking mga direktoryo muli, upang lamang magbigay sa amin ng ilang mga konteksto. 260 00:12:33,180 --> 00:12:36,500 Ibig kong sabihin, maaari mong makita na mayroong hi.txt, kung saan ginawa ko kani-kanina. 261 00:12:36,500 --> 00:12:38,196 Ngayon, Gusto kong makakuha ng alisan ng ito. 262 00:12:38,196 --> 00:12:38,820 Paano ko ito gagawin? 263 00:12:38,820 --> 00:12:39,810 >> Muli, rm lamang. 264 00:12:39,810 --> 00:12:46,220 Kaya ang maaari kong i-type rm hi.txt at pindutin ang Enter. 265 00:12:46,220 --> 00:12:47,970 At may rm pagkatao talagang maingat sa amin 266 00:12:47,970 --> 00:12:50,178 at siguraduhin namin talagang nais na tanggalin ang file na ito. 267 00:12:50,178 --> 00:12:52,784 Gusto mo ba talagang alisin regular na walang laman hi.txt file? 268 00:12:52,784 --> 00:12:55,200 Iyan ay tulad ng isang operating system, tulad ng Windows o Mac, 269 00:12:55,200 --> 00:12:56,310 na maaari kang maging pamilyar sa pop up 270 00:12:56,310 --> 00:12:58,770 sabi na kahon ikaw ay tunay na bang gusto mong gawin ito. 271 00:12:58,770 --> 00:13:01,228 >> Ako ay medyo sigurado na gusto kong ito, kaya ako pagpunta sa uri, yes-- 272 00:13:01,228 --> 00:13:04,390 o maaari ring ko lang type y-- at pindutin ang Enter. 273 00:13:04,390 --> 00:13:08,620 At kung ilista ko ang mga nilalaman ng aking directory muli, hi.txt ay wala na. 274 00:13:08,620 --> 00:13:10,000 Hindi masama, tama? 275 00:13:10,000 --> 00:13:12,410 Sabihin press Control L, lamang mapupuksa ang lahat ng mga bagay-bagay na ito 276 00:13:12,410 --> 00:13:14,900 at kumuha sa amin pabalik sa sa tuktok ng screen. 277 00:13:14,900 --> 00:13:18,520 >> Ngayon, may ay isang paraan upang short circuit rm, para 278 00:13:18,520 --> 00:13:20,090 na ito ay hindi hilingin sa amin na pinag-uusapan. 279 00:13:20,090 --> 00:13:22,060 Kami ay talagang malaman ang gusto namin upang magtanggal ng file na iyon, 280 00:13:22,060 --> 00:13:23,490 at hindi namin kahit na nais na tinatanong ang mga katanungan. 281 00:13:23,490 --> 00:13:24,720 Paano namin gawin iyon? 282 00:13:24,720 --> 00:13:27,180 Well, maaari naming tukuyin ang isang dagdag flag, gusto lang namin 283 00:13:27,180 --> 00:13:30,400 ginawa sa cp kung saan kami ay maaaring magdagdag ng mga r flag, 284 00:13:30,400 --> 00:13:32,800 sa recursively kopyahin sa isang direktoryo. 285 00:13:32,800 --> 00:13:35,630 May isa pang bandila para rm, na kung saan ay -f, 286 00:13:35,630 --> 00:13:39,470 na kung saan ay upang pilitin ang rm na gawin eksakto kung ano ang sinasabi mo sa naming ito upang gawin. 287 00:13:39,470 --> 00:13:44,610 >> Kaya sabihin natin na, ngayon, gusto ko upang magtanggal ng aking hello.txt file. 288 00:13:44,610 --> 00:13:46,490 Hindi ko gusto ang isa na alinman. 289 00:13:46,490 --> 00:13:47,370 Ano angmagagawa ko? 290 00:13:47,370 --> 00:13:54,710 Well, maaari kong rm -f hello.txt. 291 00:13:54,710 --> 00:13:57,530 Ano sa tingin ninyo ay pagpunta sa mangyayari dito? 292 00:13:57,530 --> 00:13:58,030 Ito ay nawala. 293 00:13:58,030 --> 00:13:59,363 Hindi kahit na hilingin sa akin ang tanong. 294 00:13:59,363 --> 00:14:03,600 At sa katunayan, kung ang listahan ko ng mga nilalaman ng aking directory muli, ito ay nawala. 295 00:14:03,600 --> 00:14:05,750 Walang undo dito. 296 00:14:05,750 --> 00:14:09,554 hello.txt ay wala na, at ako ay hindi kahit tinanong kung gusto kong tanggalin ang mga ito. 297 00:14:09,554 --> 00:14:11,595 Paano kung gusto kong magtanggal ng isang buong direktoryo? 298 00:14:11,595 --> 00:14:14,180 299 00:14:14,180 --> 00:14:17,039 Ang paraan mo gawin iyon ay halos katulad na kopya. 300 00:14:17,039 --> 00:14:19,080 Kung nais mong tanggalin ang isang directory, hindi mo lang 301 00:14:19,080 --> 00:14:22,121 nais na tanggalin ang direktoryo, na nais mong upang tanggalin ang lahat ng bagay sa loob ng mga ito. 302 00:14:22,121 --> 00:14:26,250 At kaya mong gamitin r, upang recursively tanggalin ang isang direktoryo. 303 00:14:26,250 --> 00:14:28,600 >> Kaya rm ni r pset2 ipaalam. 304 00:14:28,600 --> 00:14:31,870 Hindi ko talaga ang pagtatrabaho sa pset2, kaya ako makakakuha ng alisan ng directory na iyon. 305 00:14:31,870 --> 00:14:33,040 Ako pindutin ang Enter. 306 00:14:33,040 --> 00:14:35,050 Gusto kong alisin ang direktoryo, pset2? 307 00:14:35,050 --> 00:14:37,160 Oo. 308 00:14:37,160 --> 00:14:41,150 At kung ilista ko ang mga nilalaman ng aking direktoryo muli, ito ay nawala. 309 00:14:41,150 --> 00:14:41,650 Lahat tama? 310 00:14:41,650 --> 00:14:43,739 >> Isa pang pagkakaiba-iba sa tema na ito. 311 00:14:43,739 --> 00:14:46,280 Kaya ko na i-clear ang screen muli, upang ilagay ang lahat sa itaas. 312 00:14:46,280 --> 00:14:47,420 Pindutin ls. 313 00:14:47,420 --> 00:14:49,890 Ngayon, gusto ko upang makakuha ng mapupuksa sa aking mga direktoryo pset3, 314 00:14:49,890 --> 00:14:52,810 at ako kung talagang gusto kong mapupuksa ang aking direktoryo pset3. 315 00:14:52,810 --> 00:15:00,120 Maaari ko recursively at pwersahang alisin ang aking direktoryo pset3. 316 00:15:00,120 --> 00:15:03,900 >> Ngayon, ikaw ay pagpunta sa maging tunay Mag-ingat kapag ikaw ay gumagamit ng rm-RF. 317 00:15:03,900 --> 00:15:06,784 Bilang programa mo pa, ito ay magiging isang bagay mo lang talagang mabilis. 318 00:15:06,784 --> 00:15:08,200 At sa katunayan, gagawin ko ito sa lahat ng oras. 319 00:15:08,200 --> 00:15:10,380 Ngunit maaari itong humantong sa ilang mga nakapipinsala kahihinatnan, 320 00:15:10,380 --> 00:15:12,340 kung hindi mo sinasadyang tanggalin ang mga maling bagay. 321 00:15:12,340 --> 00:15:15,089 Kaya gusto ko sa iyo upang magkaroon ng kamalayan na ito ay magagamit ng isang opsyon para sa iyo, 322 00:15:15,089 --> 00:15:17,220 ngunit gamitin ito ng paisa-isa, at gamitin ito may pag-iingat. 323 00:15:17,220 --> 00:15:20,910 >> Alam ko para sa isang katotohanan na hindi ako nagtatrabaho sa aking problema set 3 anymore, kaya hindi ako 324 00:15:20,910 --> 00:15:22,550 pagpunta upang makakuha ng alisan ng lahat ng mga file na iyon. 325 00:15:22,550 --> 00:15:26,420 At alam ko hindi ko gusto na tinanong ng lahat ng oras kung gusto kong tanggalin ang 326 00:15:26,420 --> 00:15:30,640 isang file, kaya ako pagpunta sa rm-RF pset3. 327 00:15:30,640 --> 00:15:32,640 Hindi kahit na hilingin sa akin kung ako Nais upang makakuha ng alisan ng ito. 328 00:15:32,640 --> 00:15:33,840 Pindutin ko ls. 329 00:15:33,840 --> 00:15:35,680 pset3 ay wala na. 330 00:15:35,680 --> 00:15:39,730 Kaya na ang lahat ng mga pagkakaiba-iba na kayo Maaaring gamitin upang magtanggal ng mga file na may rm. 331 00:15:39,730 --> 00:15:43,620 >> Ang huling utos command line na pagpunta sa medyo kapaki-pakinabang para sa iyo 332 00:15:43,620 --> 00:15:46,391 ay mv, na kung saan ay maikli para ilipat. 333 00:15:46,391 --> 00:15:48,960 Ilipat talaga Ay katumbas na palitan ang pangalan. 334 00:15:48,960 --> 00:15:53,870 Ito gumagalaw ang isang file mula sa isang lokasyon sa isa pa, ang pinagmulan sa destination. 335 00:15:53,870 --> 00:15:59,400 Tingnan natin kung saan ang paggamit ng isang ilipat lakas Ipaalam maging madaling-magamit sa terminal na window. 336 00:15:59,400 --> 00:16:02,070 >> Kaya ako sa aking pset1 direktoryo, at napansin ko 337 00:16:02,070 --> 00:16:03,860 isang bagay ay nawala ng isang maliit na mali. 338 00:16:03,860 --> 00:16:08,620 Ako ay nagtatrabaho sa aking matakaw na problema, ngunit ko sinasadyang pinangalanan ito greddy. 339 00:16:08,620 --> 00:16:11,380 Kaya kapag ako subukan at patakbuhin ito sa pamamagitan check50, ito ay hindi talagang gumagana. 340 00:16:11,380 --> 00:16:12,630 Ako ay may isang pares ng mga pagpipilian. 341 00:16:12,630 --> 00:16:16,220 Maaari naming gawin kung ano ang ginawa namin bago, na kung saan ay upang gumawa ng isang kopya ng mga file. 342 00:16:16,220 --> 00:16:23,960 Kaya kong kopyahin greddy.c upang greedy.c, di ba? 343 00:16:23,960 --> 00:16:25,580 Pindutin ang Enter. 344 00:16:25,580 --> 00:16:28,180 Nakikita ko na ang parehong file ay doon. 345 00:16:28,180 --> 00:16:36,337 At pagkatapos ay ako rm, alisin, greddy.c. 346 00:16:36,337 --> 00:16:37,170 Iyon ay makakakuha ng alisan ng ito. 347 00:16:37,170 --> 00:16:40,920 Kaya na nais magtrabaho, matapos ko makukumpirma na gusto kong makakuha ng alisan ng ito. 348 00:16:40,920 --> 00:16:44,770 At epektibo akong magkaroon ng Pinalitan ang pangalan ng greddy.c sa greedy.c. 349 00:16:44,770 --> 00:16:48,460 Kinopya ko ito, at pagkatapos ay dahil sa orihinal. 350 00:16:48,460 --> 00:16:50,170 >> Ngunit iyon lamang ang isang proseso ng multi-step. 351 00:16:50,170 --> 00:16:51,670 At tiyak, mayroong isang mas mahusay na paraan. 352 00:16:51,670 --> 00:16:52,420 Sa katunayan, mayroong. 353 00:16:52,420 --> 00:16:55,810 Kaya pindutin ang Control L ipaalam, lamang upang dalhin ito back up, 354 00:16:55,810 --> 00:16:58,680 at ilista ang mga nilalaman ng aking directory muli. 355 00:16:58,680 --> 00:17:00,350 >> Kaya sabihin nating, oh, ako ay nagkamali. 356 00:17:00,350 --> 00:17:03,470 Ako aktwal na talagang hindi gusto sa tawag na file greddy.c. 357 00:17:03,470 --> 00:17:11,369 Sa isa nahulog mabilis na sumalakay, maaari kong i-type ilipat greedy.c sa greddy.c. 358 00:17:11,369 --> 00:17:12,470 Pindutin ang Enter. 359 00:17:12,470 --> 00:17:15,210 At ngayon, hindi ko ay walang upang kopyahin at alisin ito, 360 00:17:15,210 --> 00:17:16,880 Ko lamang ay makapag-palitan ang pangalan nito. 361 00:17:16,880 --> 00:17:18,710 One-stop shopping. 362 00:17:18,710 --> 00:17:21,160 >> Ngayon, may mga maraming iba pang mga basic command line utilities 363 00:17:21,160 --> 00:17:22,640 na maaari mong gamitin sa sa command line Linux. 364 00:17:22,640 --> 00:17:24,990 At kami ay pagtalakay ng isang pulutong ng mga ito sa hinaharap sa CS50. 365 00:17:24,990 --> 00:17:27,948 Ngunit sa ngayon, pagkuha lamang ang iyong mga paa basa sa mga nagtatrabaho sa mga ito terminal 366 00:17:27,948 --> 00:17:30,540 kapaligiran, ang mga limang utos dapat kumuha ka ng medyo malayo 367 00:17:30,540 --> 00:17:34,990 sa pag-navigate sa paligid at nagtatrabaho sa mga file sa iyong IDE 368 00:17:34,990 --> 00:17:37,770 o sa kahit anong Linux-based operating system ang ginagamit mo. 369 00:17:37,770 --> 00:17:40,580 >> Kung gusto mong malaman at nais mong tumingin sa kinabukasan ng isang maliit na bit sa ilang 370 00:17:40,580 --> 00:17:43,420 ng mga utos command line kami ay gumagamit ng sa hinaharap, 371 00:17:43,420 --> 00:17:46,930 narito ang isang listahan ng isang pares sa mga mas karaniwang mga bago. 372 00:17:46,930 --> 00:17:47,820 Ako Doug Lloyd. 373 00:17:47,820 --> 00:17:49,860 Ito ay CS50. 374 00:17:49,860 --> 00:17:52,598