1 00:00:00,000 --> 00:00:05,060 >> [MUSIC PLAYING] 2 00:00:05,060 --> 00:00:05,890 >> Doug LLOYD: OK. 3 00:00:05,890 --> 00:00:08,680 Jadi mari kita bicara tentang bagaimana menggunakan baris perintah Linux. 4 00:00:08,680 --> 00:00:11,860 Sekarang, CS50 IDE, atau di Bahkan, alat CS50, 5 00:00:11,860 --> 00:00:15,210 jika Anda terbiasa dengan itu, atau Anda mengambil versi lama dari CS50, 6 00:00:15,210 --> 00:00:17,420 adalah mesin berbasis cloud yang berjalan Ubuntu, 7 00:00:17,420 --> 00:00:20,259 yang merupakan salah satu dari banyak rasa dari sistem operasi Linux. 8 00:00:20,259 --> 00:00:22,300 Sistem operasi Linux adalah disukai oleh programmer, 9 00:00:22,300 --> 00:00:25,690 karena itu hanya dingin, kan? 10 00:00:25,690 --> 00:00:29,170 >> Banyak distribusi Linux modern memiliki antarmuka pengguna grafis, 11 00:00:29,170 --> 00:00:33,710 yang kita sebut juga GUI, G-U-I, untuk memungkinkan navigasi berbasis mouse mudah, 12 00:00:33,710 --> 00:00:36,920 yang Anda mungkin akrab dengan, jika Anda pengguna Windows atau Mac, 13 00:00:36,920 --> 00:00:39,961 bergerak di sekitar mouse Anda, mengklik dua kali pada ikon, dan sebagainya. 14 00:00:39,961 --> 00:00:42,210 Masih meskipun, sebagai programmer, dan meskipun IDE 15 00:00:42,210 --> 00:00:44,800 mengandung kemampuan untuk melakukan beberapa pengguna grafis 16 00:00:44,800 --> 00:00:47,400 hal, mengklik, dan menyeret, dan semua itu, 17 00:00:47,400 --> 00:00:50,197 Anda masih akan menggunakan Anda jendela terminal cukup sering. 18 00:00:50,197 --> 00:00:52,280 Dan Anda dapat melakukan banyak tugas yang sama bahwa Anda dapat 19 00:00:52,280 --> 00:00:53,905 lakukan dengan mouse dengan perintah keyboard. 20 00:00:53,905 --> 00:00:56,821 Dan kita akan berbicara sedikit tentang apa beberapa perintah-perintah 21 00:00:56,821 --> 00:00:58,050 yang sekarang. 22 00:00:58,050 --> 00:01:02,490 >> Sekarang, perintah ini dapat digunakan pada setiap operasi berbasis Unix 23 00:01:02,490 --> 00:01:06,790 sistem, yang meliputi Linux, tetapi juga mencakup Mac OS. 24 00:01:06,790 --> 00:01:12,930 Jika Anda membuka Terminal di Mac Anda, Anda dapat menggunakan perintah ini tepat. 25 00:01:12,930 --> 00:01:15,705 Windows juga memiliki Command Prompt, tapi beberapa perintah 26 00:01:15,705 --> 00:01:17,871 sedikit berbeda, sehingga itu tidak benar-benar bekerja, 27 00:01:17,871 --> 00:01:20,080 karena Windows tidak sistem berbasis Unix. 28 00:01:20,080 --> 00:01:22,620 >> Jadi mari kita lihat beberapa perintah Linux ini. 29 00:01:22,620 --> 00:01:26,100 Yang pertama yang Anda akan mungkin menggunakan cukup banyak adalah ls. 30 00:01:26,100 --> 00:01:30,410 Itu l huruf kecil, diikuti oleh huruf kecil s, yang merupakan kependekan dari daftar. 31 00:01:30,410 --> 00:01:33,720 Dan apa perintah daftar dilakukannya itu memberi Anda pembacaan dari semua file 32 00:01:33,720 --> 00:01:35,670 dan folder dalam direktori Anda saat ini. 33 00:01:35,670 --> 00:01:39,430 Sehingga Anda dapat melihat segala sesuatu yang Anda bisa mendapatkan dari mana Anda saat ini. 34 00:01:39,430 --> 00:01:41,545 >> Jadi saya sudah membuka sini IDE CS50. 35 00:01:41,545 --> 00:01:44,540 Dan aku akan zoom-in di kedua untuk memberikan melihat lebih dekat, 36 00:01:44,540 --> 00:01:47,240 tapi inilah gambaran luas apa IDE yang tampak seperti. 37 00:01:47,240 --> 00:01:49,580 Di sebelah kiri, Anda dapat melihat kami memiliki pohon file, yang Anda mungkin 38 00:01:49,580 --> 00:01:52,663 akrab dengan, mengklik dua kali, dan file dan folder, dan semua itu. 39 00:01:52,663 --> 00:01:54,694 Sehingga masih ada di alat CS50. 40 00:01:54,694 --> 00:01:57,860 Di pusat di atas adalah di mana Anda akan menulis kode Anda, sekali 41 00:01:57,860 --> 00:01:58,960 Anda klik pada file. 42 00:01:58,960 --> 00:02:00,900 Dan di bagian bawah, kita memiliki jendela terminal, 43 00:02:00,900 --> 00:02:04,040 yang mana kita dapat mengeksekusi ini perintah terminal. 44 00:02:04,040 --> 00:02:07,460 >> Aku akan zoom-in dan kepala di sini, hanya 45 00:02:07,460 --> 00:02:12,360 menunjukkan bahwa, pada kenyataannya, saya bisa klik pada file dan folder tersebut. 46 00:02:12,360 --> 00:02:17,010 Jadi jelas, di mana saya saat ini berada, aku harus dua folder, disebut pset0 dan pset1, 47 00:02:17,010 --> 00:02:20,520 dan tiga file, satu disebut halo, satu disebut hello.c, 48 00:02:20,520 --> 00:02:22,870 dan satu disebut hello.txt. 49 00:02:22,870 --> 00:02:27,100 >> Jadi mari kita beralih ke terminal jendela dan melihat lebih dekat. 50 00:02:27,100 --> 00:02:31,010 Jadi kita hanya berbicara, lagi, tentang Fakta bahwa kami memiliki tiga file dan dua 51 00:02:31,010 --> 00:02:32,970 folder dalam direktori saat ini. 52 00:02:32,970 --> 00:02:37,080 Jika saya ketik ls, yang lagi-lagi adalah perintah untuk daftar 53 00:02:37,080 --> 00:02:40,870 isi saat ini direktori, dan kemudian aku tekan Enter, 54 00:02:40,870 --> 00:02:47,220 melihat apa yang saya lihat, halo, hello.c, hello.txt, pset0 dan pset1. 55 00:02:47,220 --> 00:02:49,620 >> pset0 dan pset1 adalah berwarna biru, untuk menunjukkan 56 00:02:49,620 --> 00:02:52,420 kepada Anda bahwa mereka adalah direktori bahwa kita bisa menavigasi ke. 57 00:02:52,420 --> 00:02:54,503 Dan kita akan belajar sedikit sedikit tentang cara menavigasi 58 00:02:54,503 --> 00:02:56,290 ke direktori dalam satu menit. 59 00:02:56,290 --> 00:03:00,920 Dan setiap hal lainnya berwarna hitam, jika itu file teks atau kode sumber 60 00:03:00,920 --> 00:03:03,590 mengajukan, dan hijau, jika itu file executable. 61 00:03:03,590 --> 00:03:06,367 Jadi jelas, itu berarti bahwa saya bisa menjalankan sebuah program yang disebut, halo. 62 00:03:06,367 --> 00:03:07,950 Itulah yang hijau yang ada berarti. 63 00:03:07,950 --> 00:03:10,080 Tapi pada dasarnya, mengetik Perintah ls telah memungkinkan 64 00:03:10,080 --> 00:03:13,470 saya untuk melihat segala sesuatu yang ada dalam direktori saya saat ini, yang 65 00:03:13,470 --> 00:03:17,940 sesuai dengan apa yang kita lihat di sini, di tampilan grafis yang sama. 66 00:03:17,940 --> 00:03:19,940 Perintah berikutnya Anda akan mungkin menggunakan sedikit 67 00:03:19,940 --> 00:03:24,792 adalah cd, huruf kecil c, huruf kecil d, yang singkat untuk direktori perubahan. 68 00:03:24,792 --> 00:03:27,500 Hal ini memungkinkan kita untuk melakukan apa yang saya berbicara tentang kedua lalu, yang 69 00:03:27,500 --> 00:03:31,150 adalah untuk menavigasi antara direktori di perintah 70 00:03:31,150 --> 00:03:33,700 line, sebagai lawan mengklik dua kali pada folder. 71 00:03:33,700 --> 00:03:37,250 Jadi jika kita ketik cd dan kemudian nama direktori, 72 00:03:37,250 --> 00:03:40,890 kita bisa masuk ke direktori tersebut. 73 00:03:40,890 --> 00:03:44,680 >> Sebagai samping, tahu bahwa nama dari direktori saat selalu 74 00:03:44,680 --> 00:03:48,670 dot, dan nama direktori satu tingkat di atas di mana kita sekarang, 75 00:03:48,670 --> 00:03:54,820 itu adalah nama folder di yang folder kita, dot, dot-- 76 00:03:54,820 --> 00:03:56,851 atau di mana folder kita, adalah titik, titik. 77 00:03:56,851 --> 00:03:59,350 Dan jika Anda pernah ingin tahu tentang nama direktori Anda, 78 00:03:59,350 --> 00:04:03,430 Anda dapat mengetik pwd, yang berdiri untuk direktori kerja saat ini. 79 00:04:03,430 --> 00:04:06,827 Kami akan melihat di semua ini sekarang, dengan menuju kembali ke IDE CS50. 80 00:04:06,827 --> 00:04:08,160 Jadi aku kembali ruang kerja saya sekarang. 81 00:04:08,160 --> 00:04:11,930 Dan aku akan melakukan zoom-in lagi pada terminal, jadi kita bisa melihat-lihat 82 00:04:11,930 --> 00:04:14,209 di bergerak di sekitar dalam IDE. 83 00:04:14,209 --> 00:04:16,250 Jadi aku akan daftar isi dari direktori saya 84 00:04:16,250 --> 00:04:19,220 lagi, hanya untuk reground kami di mana kita berada. 85 00:04:19,220 --> 00:04:21,740 Jadi jika saya ketik ls, yang untuk daftar lagi, 86 00:04:21,740 --> 00:04:24,160 Saya melihat bahwa saya bisa mendapatkan pset0 dan pset1. 87 00:04:24,160 --> 00:04:26,420 Mereka adalah direktori Saya bisa mendapatkan dari sini. 88 00:04:26,420 --> 00:04:30,400 Aku tahu itu, karena IDE memberikan saya petunjuk dengan mewarnai mereka biru. 89 00:04:30,400 --> 00:04:33,295 >> Mari kita mengatakan bahwa saya ingin masuk ke direktori pset1 saya, 90 00:04:33,295 --> 00:04:35,310 karena saya sedang bekerja pada masalah set 1. 91 00:04:35,310 --> 00:04:41,380 Saya bisa mengetik cd-- lagi, singkatan mengubah ruang directory--, pset1. 92 00:04:41,380 --> 00:04:43,334 Dan jika saya tekan Enter, perhatikan apa yang terjadi. 93 00:04:43,334 --> 00:04:45,000 Ini tidak terlihat seperti banyak yang telah terjadi. 94 00:04:45,000 --> 00:04:50,510 Tetapi jika Anda melihat prompt, sekarang memberitahu saya bahwa saya di ~ / ruang kerja / pset1. 95 00:04:50,510 --> 00:04:55,510 Aku sudah navigasikan ke pset1 yang folder yang berada dalam ruang kerja saya. 96 00:04:55,510 --> 00:05:00,560 >> Dan jika saya ketik ls, saya melihat beberapa hal yang berbeda di sini, kan? 97 00:05:00,560 --> 00:05:03,810 Ini tidak sama daftar yang saya lihat sebelumnya. 98 00:05:03,810 --> 00:05:05,350 Aku sudah navigasikan ke pset1. 99 00:05:05,350 --> 00:05:08,560 Dan sekarang, ketika saya ketik ls, aku mendapatkan konteks apa yang bisa saya 100 00:05:08,560 --> 00:05:12,600 melihat dari dalam folder pset1. 101 00:05:12,600 --> 00:05:16,056 >> Sekarang, aku akan mengetik control l, yang hanya membersihkan layar. 102 00:05:16,056 --> 00:05:18,180 Dan aku akan daftar isi dari direktori 103 00:05:18,180 --> 00:05:18,880 lagi, hanya sehingga Anda dapat melihat. 104 00:05:18,880 --> 00:05:20,730 Aku hanya ingin melakukan itu untuk membersihkan beberapa hal 105 00:05:20,730 --> 00:05:22,521 Anda melihat di bawah dan untuk mencegah hal ini 106 00:05:22,521 --> 00:05:24,660 dari pergi terlalu jauh turun dari jangkauan. 107 00:05:24,660 --> 00:05:28,440 >> Sekarang, saya mengatakan sebelumnya bahwa, jika saya ingin untuk menavigasi ke direktori saat ini, 108 00:05:28,440 --> 00:05:31,580 Saya dapat mengetik cd ruang dot. 109 00:05:31,580 --> 00:05:32,080 Tekan Enter. 110 00:05:32,080 --> 00:05:33,330 Ia tidak melakukan apa-apa, kan? 111 00:05:33,330 --> 00:05:35,480 Saya mengubah direktori untuk direktori saat ini. 112 00:05:35,480 --> 00:05:37,813 Anda tidak selalu akan menemukan kebutuhan untuk satu titik, 113 00:05:37,813 --> 00:05:39,540 tetapi Anda akan sesekali. 114 00:05:39,540 --> 00:05:41,950 >> Mari kita mengatakan bahwa saya ingin untuk naik satu tingkat. 115 00:05:41,950 --> 00:05:44,450 Saya ingin kembali ke saya direktori kerja. 116 00:05:44,450 --> 00:05:49,800 Saya tidak bisa mengetik cd ruang kerja, tidak ada berkas atau direktori. 117 00:05:49,800 --> 00:05:52,780 Dan alasan untuk itu-- jika saya ketik ls satu time-- lebih 118 00:05:52,780 --> 00:05:58,060 adalah bahwa tidak ada direktori yang disebut ruang kerja dalam direktori pset1 saya. 119 00:05:58,060 --> 00:06:00,275 Aku akan membersihkan saya layar lagi dengan kontrol l. 120 00:06:00,275 --> 00:06:02,150 Ingat apa yang saya katakan sebelumnya, meskipun, kita yang 121 00:06:02,150 --> 00:06:04,010 dapat menavigasi kembali dengan dot, dot. 122 00:06:04,010 --> 00:06:05,880 Itulah nama direktori induk. 123 00:06:05,880 --> 00:06:10,727 Jadi jika saya ketik cd, ruang, dot, dot, dan kemudian tekan Enter, 124 00:06:10,727 --> 00:06:11,810 sekarang melihat apa yang terjadi. 125 00:06:11,810 --> 00:06:15,250 Saya command prompt memberitahu saya bahwa saya kembali direktori ~ / ruang kerja saya. 126 00:06:15,250 --> 00:06:19,360 Aku naik satu tingkat, berkat dot, dot. 127 00:06:19,360 --> 00:06:23,400 >> Sekarang, mari kita mengatakan bahwa saya menggunakan sistem operasi yang berbasis Linux, 128 00:06:23,400 --> 00:06:25,440 tapi tidak tentu memberitahu saya di mana saya. 129 00:06:25,440 --> 00:06:28,370 Satu ini terjadi untuk memberitahu kami bahwa Aku di ~ / ruang kerja sekarang, 130 00:06:28,370 --> 00:06:29,280 tepat pada prompt. 131 00:06:29,280 --> 00:06:31,940 Tapi aku bisa benar-benar hilang dalam kekacauan folder, 132 00:06:31,940 --> 00:06:34,946 dan saya tidak tahu di mana saya dan tidak tahu di mana saya ingin kembali ke. 133 00:06:34,946 --> 00:06:36,320 Ada dua hal yang bisa saya lakukan. 134 00:06:36,320 --> 00:06:40,920 >> Pertama-tama, saya dapat mengetahui di mana saya, dengan mengetikkan pwd. 135 00:06:40,920 --> 00:06:42,720 Itu direktori kerja sekarang saya. 136 00:06:42,720 --> 00:06:45,830 Dan jika saya tekan Enter, itu memberitahu saya di mana saya. 137 00:06:45,830 --> 00:06:49,400 Sekarang / home / ubuntu adalah jauh mengatakan, tilde, 138 00:06:49,400 --> 00:06:51,290 yang merupakan direktori home Anda. 139 00:06:51,290 --> 00:06:56,540 Tapi ia memberitahu saya bahwa saya berada di home / ubuntu / ruang kerja, atau ~ / ruang kerja. 140 00:06:56,540 --> 00:07:00,700 >> Aku akan menavigasi ke direktori pset1 saya lagi, 141 00:07:00,700 --> 00:07:02,229 dan aku akan daftar isi. 142 00:07:02,229 --> 00:07:04,770 Dan saya melihat bahwa saya memiliki lain direktori ada, disebut ekstra. 143 00:07:04,770 --> 00:07:09,020 Jadi aku akan cd ke ekstra, dan maka aku akan membersihkan layar saya. 144 00:07:09,020 --> 00:07:11,540 >> Jadi sekarang, aku cukup jauh, kan? 145 00:07:11,540 --> 00:07:13,680 Bagaimana jika saya ingin kembali untuk workspace segera? 146 00:07:13,680 --> 00:07:15,138 Ada beberapa hal yang bisa saya lakukan. 147 00:07:15,138 --> 00:07:18,750 Saya bisa mengetik cd, dot, dot, garis miring, titik, dot, untuk naik satu tingkat dan kemudian 148 00:07:18,750 --> 00:07:19,640 tingkat lain. 149 00:07:19,640 --> 00:07:21,090 Tapi itu agak menjengkelkan. 150 00:07:21,090 --> 00:07:24,990 >> Jadi jika saya pernah ingin kembali ke hanya direktori rumah saya, tilde, 151 00:07:24,990 --> 00:07:27,690 Saya bisa mengetik cd dengan apa-apa setelah itu. 152 00:07:27,690 --> 00:07:29,224 Cd, Enter. 153 00:07:29,224 --> 00:07:30,140 Dan sekarang, aku di tilde. 154 00:07:30,140 --> 00:07:34,310 Dan jika saya ingin mendapatkan ruang kerja, Aku hanya bisa mengetik cd ruang kerja. 155 00:07:34,310 --> 00:07:36,770 Dan itulah bagaimana Anda bekerja direktori berubah 156 00:07:36,770 --> 00:07:42,080 dalam IDE CS50 atau Linux saja sistem operasi pada baris perintah. 157 00:07:42,080 --> 00:07:42,580 Baiklah. 158 00:07:42,580 --> 00:07:45,610 Yang berikutnya yang mungkin berguna adalah mkdir, 159 00:07:45,610 --> 00:07:48,709 yang merupakan kependekan membuat direktori, jika saya harus membuat folder baru. 160 00:07:48,709 --> 00:07:50,750 Jika Anda akrab dengan sistem operasi GUI, 161 00:07:50,750 --> 00:07:51,820 Anda mungkin klik kanan. 162 00:07:51,820 --> 00:07:54,500 Dan kemudian, ketika menu konteks muncul, pilih New Folder. 163 00:07:54,500 --> 00:07:56,250 Itu mungkin bagaimana Anda pernah melakukannya. 164 00:07:56,250 --> 00:08:00,979 Tapi kita juga dapat membuat direktori pada baris perintah. 165 00:08:00,979 --> 00:08:02,020 Jadi kita kembali IDE. 166 00:08:02,020 --> 00:08:08,020 Saya akan zoom-in di terminal dan daftar isi dari direktori saya 167 00:08:08,020 --> 00:08:11,882 lagi, hanya untuk memberi kita kerangka acuan. 168 00:08:11,882 --> 00:08:14,340 Katakanlah, sekarang, aku sudah selesai bekerja pada masalah set 0 169 00:08:14,340 --> 00:08:15,580 dan masalah set 1. 170 00:08:15,580 --> 00:08:19,390 Jadi saya ingin membuat direktori baru untuk bekerja selama masalah set 2. 171 00:08:19,390 --> 00:08:20,420 Bagaimana aku melakukan itu? 172 00:08:20,420 --> 00:08:24,132 >> Nah, sekali lagi, saya bisa klik kanan di meninggalkan sisi ada dan pilih New Folder 173 00:08:24,132 --> 00:08:25,340 dan membuat direktori pset2. 174 00:08:25,340 --> 00:08:26,240 Itu akan bekerja juga. 175 00:08:26,240 --> 00:08:28,615 Tapi kemudian saya juga melakukannya di baris perintah cukup cepat, 176 00:08:28,615 --> 00:08:35,049 dengan mengetikkan mkdir, space-- saya diketik di n, tapi-- ruang pset2. 177 00:08:35,049 --> 00:08:38,659 Jika saya tekan Enter dan kemudian saya daftar isi direktori saya lagi, 178 00:08:38,659 --> 00:08:40,710 Saya melihat bahwa, terlihat, sekarang Aku punya folder pset2. 179 00:08:40,710 --> 00:08:43,110 Dan saya dapat menavigasi ke yang menggunakan cd dan melakukan 180 00:08:43,110 --> 00:08:45,614 semua pekerjaan yang harus saya lakukan untuk pset2. 181 00:08:45,614 --> 00:08:48,530 Kebetulan, saya hanya akan muncul di atas sini benar-benar cepat ke pohon berkas. 182 00:08:48,530 --> 00:08:53,494 Dan Anda dapat melihat bahwa, juga, di File Explorer grafis, 183 00:08:53,494 --> 00:08:56,160 kita dapat melihat bahwa direktori pset2 juga telah dibuat di sana. 184 00:08:56,160 --> 00:08:58,537 Dan saya dapat menavigasi untuk itu, menggunakan GUI juga. 185 00:08:58,537 --> 00:09:00,870 Waktu berikutnya dan itu mungkin akan berguna 186 00:09:00,870 --> 00:09:03,650 adalah cp, yang merupakan kependekan copy. 187 00:09:03,650 --> 00:09:06,960 Salin, tidak seperti semua lainnya perintah yang telah kita lihat sebelumnya, 188 00:09:06,960 --> 00:09:11,800 membutuhkan dua argumen, sumber, nama dari file yang ingin Anda salin, 189 00:09:11,800 --> 00:09:15,810 dan tujuan, di mana Anda ingin menyalin file ke. 190 00:09:15,810 --> 00:09:19,490 Ini cukup mudah untuk menyalin file, jadi mari kita melakukan itu. 191 00:09:19,490 --> 00:09:20,640 >> Jadi kita kembali IDE. 192 00:09:20,640 --> 00:09:24,540 Saya akan daftar isi direktori saya saat ini dengan ls. 193 00:09:24,540 --> 00:09:28,310 Sekarang, mari kita mengatakan bahwa saya ingin untuk membuat salinan hello.txt. 194 00:09:28,310 --> 00:09:32,120 Sekali lagi, dari pohon file di kiri, antarmuka grafis, 195 00:09:32,120 --> 00:09:35,969 Saya bisa klik kanan pada hello.txt, membuat salinan, menyisipkan salinan. 196 00:09:35,969 --> 00:09:38,260 Tapi aku bisa melakukannya cukup cepat pada baris perintah juga. 197 00:09:38,260 --> 00:09:42,520 >> Katakanlah saya ingin menyalin hello.txt untuk hi.txt. 198 00:09:42,520 --> 00:09:45,850 Aku bisa cp, ruang, hello.txt. 199 00:09:45,850 --> 00:09:48,850 Itu file sumber saya, jadi itu sebabnya Saya akan memilih salah satu yang pertama. 200 00:09:48,850 --> 00:09:51,058 Dan kemudian saya harus nama file tujuan, hi.txt. 201 00:09:51,058 --> 00:09:53,690 202 00:09:53,690 --> 00:09:54,620 Saya tekan Enter. 203 00:09:54,620 --> 00:09:57,930 Dan jika saya daftar isi saya direktori lagi, ada hi.txt. 204 00:09:57,930 --> 00:09:59,220 Saya membuat salinannya. 205 00:09:59,220 --> 00:10:01,090 Dan pada kenyataannya, jika aku pergi ke hi.txt, aku bisa 206 00:10:01,090 --> 00:10:04,030 melihat bahwa itu akan menjadi tepat duplikat dari segala sesuatu yang 207 00:10:04,030 --> 00:10:08,330 ada dalam file hello.txt saya. 208 00:10:08,330 --> 00:10:09,790 >> Jadi itulah bagaimana Anda menyalin file. 209 00:10:09,790 --> 00:10:12,680 Tapi bagaimana jika Anda ingin menyalin seluruh direktori? 210 00:10:12,680 --> 00:10:16,510 Jadi untuk kedua, mari kita lihat apa yang ada dalam direktori pset0 saya. 211 00:10:16,510 --> 00:10:23,950 Jika saya cd pset0 dan daftar isi, Saya memiliki sebuah direktori yang disebut, sampel, 212 00:10:23,950 --> 00:10:26,252 dan file awal, scratch.sb2. 213 00:10:26,252 --> 00:10:27,210 Jadi itu bagus untuk mengetahui. 214 00:10:27,210 --> 00:10:29,800 Jadi mari kita membersihkan layar, dan aku akan kembali 215 00:10:29,800 --> 00:10:32,870 ke direktori kerja saya untuk kedua. 216 00:10:32,870 --> 00:10:36,630 >> Katakanlah, sekarang, saya ingin membuat salinan dari direktori pset0 saya. 217 00:10:36,630 --> 00:10:42,940 Saya tidak bisa mengatakan cp pset0 pset3, misalnya. 218 00:10:42,940 --> 00:10:46,220 Anda mendapatkan pesan aneh ini, menghilangkan direktori pset0. 219 00:10:46,220 --> 00:10:47,439 Mengapa Anda mendapatkan pesan itu? 220 00:10:47,439 --> 00:10:49,730 Nah, ternyata, ketika Anda memiliki sebuah direktori yang 221 00:10:49,730 --> 00:10:53,150 memiliki hal-hal lain di dalamnya, perintah cp tidak benar-benar 222 00:10:53,150 --> 00:10:55,590 tentu tahu apa yang harus dilakukan dengan itu. 223 00:10:55,590 --> 00:10:59,670 >> Kita perlu secara eksplisit memberitahu Linux, terminal, 224 00:10:59,670 --> 00:11:03,720 Saya ingin Anda untuk menyalin direktori pset0 dan copy 225 00:11:03,720 --> 00:11:07,530 setiap folder yang ada di dalam itu dan setiap file yang 226 00:11:07,530 --> 00:11:08,750 ada di dalamnya. 227 00:11:08,750 --> 00:11:13,270 Dengan kata lain, saya perlu Anda rekursif menyelam ke dalam pset0 228 00:11:13,270 --> 00:11:15,660 dan membuat salinan dari segala sesuatu di sana. 229 00:11:15,660 --> 00:11:25,280 >> Jika saya ingin melakukan itu, apa yang bisa saya lakukan adalah cp-r, untuk rekursif, pset3 pset0. 230 00:11:25,280 --> 00:11:26,850 Tekan Enter. 231 00:11:26,850 --> 00:11:29,290 Sekarang, jika saya daftar isi dari direktori saya, 232 00:11:29,290 --> 00:11:32,180 Saya melihat ada yang pset3 direktori yang saya dapat bekerja dengan. 233 00:11:32,180 --> 00:11:36,990 Dan jika saya cd ke pset3 sekarang dan kemudian daftar isi, terlihat, 234 00:11:36,990 --> 00:11:39,594 ada sampel dan scratch.sb2 lagi. 235 00:11:39,594 --> 00:11:40,510 Jadi itu cukup keren. 236 00:11:40,510 --> 00:11:43,819 Jadi itulah bagaimana Anda dapat menyalin seluruh direktori, dan bukan hanya satu file. 237 00:11:43,819 --> 00:11:45,860 Jadi jika Anda ingin menyalin direktori, hanya ingat 238 00:11:45,860 --> 00:11:49,830 menggunakan bendera -r ketika Anda bekerja dengan perintah cp. 239 00:11:49,830 --> 00:11:50,330 Baiklah. 240 00:11:50,330 --> 00:11:52,320 Jadi saya telah menyalin file, tapi Saya sudah melakukannya dengan kesalahan. 241 00:11:52,320 --> 00:11:53,695 Dan sekarang, saya ingin menyingkirkannya. 242 00:11:53,695 --> 00:11:54,850 Bagaimana aku melakukan itu? 243 00:11:54,850 --> 00:11:56,830 Sekali lagi, jika Anda terbiasa dengan antarmuka GUI, 244 00:11:56,830 --> 00:11:58,310 Anda bisa klik kanan dan hanya memilih Hapus. 245 00:11:58,310 --> 00:12:00,630 Dan itu akan mengirimkannya ke sampah atau Recycle Bin. 246 00:12:00,630 --> 00:12:03,320 Tapi pada baris perintah, kita hanya bisa mengetik rm, untuk menghapus, 247 00:12:03,320 --> 00:12:05,580 dan kemudian nama mengajukan kita ingin menyingkirkan. 248 00:12:05,580 --> 00:12:08,614 >> Sekarang, rm sangat berhati-hati. 249 00:12:08,614 --> 00:12:11,280 Itu tidak banyak double-memeriksa, memastikan bahwa Anda benar-benar 250 00:12:11,280 --> 00:12:12,377 ingin menghapus file. 251 00:12:12,377 --> 00:12:15,460 Tidak ingin membuat kesalahan, karena tidak ada Recycle Bin di sini. 252 00:12:15,460 --> 00:12:17,010 Setelah kita menghapus file, itu hilang. 253 00:12:17,010 --> 00:12:18,710 Dan ada benar-benar ada cara untuk memulihkannya. 254 00:12:18,710 --> 00:12:20,730 Jadi kita harus cukup hati-hati, dan sebagainya rm 255 00:12:20,730 --> 00:12:23,110 akan menjadi benar-benar hati-hati bagi kita. 256 00:12:23,110 --> 00:12:27,120 >> Jadi mari kita kembali ke IDE dan menyingkirkan file hi.txt 257 00:12:27,120 --> 00:12:29,640 yang saya buat satu menit yang lalu dengan copy. 258 00:12:29,640 --> 00:12:30,560 Jadi kita dalam IDE. 259 00:12:30,560 --> 00:12:33,180 Dan saya daftar isi dari direktori saya lagi, hanya untuk memberi kita beberapa konteks. 260 00:12:33,180 --> 00:12:36,500 Maksudku, Anda dapat melihat bahwa ada hi.txt, yang saya buat beberapa waktu yang lalu. 261 00:12:36,500 --> 00:12:38,196 Sekarang, saya ingin menyingkirkannya. 262 00:12:38,196 --> 00:12:38,820 Bagaimana aku melakukanya? 263 00:12:38,820 --> 00:12:39,810 >> Sekali lagi, hanya rm. 264 00:12:39,810 --> 00:12:46,220 Jadi saya bisa mengetik rm hi.txt dan tekan Enter. 265 00:12:46,220 --> 00:12:47,970 Dan ada rm makhluk benar-benar hati-hati bagi kita 266 00:12:47,970 --> 00:12:50,178 dan memastikan kita benar-benar ingin menghapus file ini. 267 00:12:50,178 --> 00:12:52,784 Apakah Anda benar-benar ingin menghapus teratur kosong berkas hi.txt? 268 00:12:52,784 --> 00:12:55,200 Itu seperti sebuah operasi sistem, seperti Windows atau Mac, 269 00:12:55,200 --> 00:12:56,310 bahwa Anda mungkin akrab dengan bermunculan 270 00:12:56,310 --> 00:12:58,770 kotak yang mengatakan yang Anda benar-benar Yakin ingin melakukan hal ini. 271 00:12:58,770 --> 00:13:01,228 >> Aku cukup yakin saya ingin ini, jadi saya akan mengetik, yes-- 272 00:13:01,228 --> 00:13:04,390 atau aku juga bisa saja ketik y-- dan tekan Enter. 273 00:13:04,390 --> 00:13:08,620 Dan jika saya daftar isi saya direktori lagi, hi.txt hilang. 274 00:13:08,620 --> 00:13:10,000 Tidak buruk, benar? 275 00:13:10,000 --> 00:13:12,410 Mari kita tekan Control L, hanya untuk menyingkirkan semua hal ini 276 00:13:12,410 --> 00:13:14,900 dan mendapatkan kita kembali di bagian atas layar. 277 00:13:14,900 --> 00:13:18,520 >> Sekarang, ada cara untuk hubung singkat rm, sehingga 278 00:13:18,520 --> 00:13:20,090 bahwa itu tidak meminta kita pertanyaan itu. 279 00:13:20,090 --> 00:13:22,060 Kami benar-benar tahu kami ingin untuk menyingkirkan file tersebut, 280 00:13:22,060 --> 00:13:23,490 dan kami bahkan tidak ingin untuk mengajukan pertanyaan. 281 00:13:23,490 --> 00:13:24,720 Bagaimana kita melakukannya? 282 00:13:24,720 --> 00:13:27,180 Nah, kita bisa menentukan bendera ekstra, sama seperti kita 283 00:13:27,180 --> 00:13:30,400 lakukan dengan cp mana kita bisa menambahkan bendera r, 284 00:13:30,400 --> 00:13:32,800 untuk rekursif menyalin sebuah direktori. 285 00:13:32,800 --> 00:13:35,630 Ada bendera lain untuk rm, yang -f, 286 00:13:35,630 --> 00:13:39,470 yang memaksa rm untuk melakukan hal apa yang kita mengatakan itu harus dilakukan. 287 00:13:39,470 --> 00:13:44,610 >> Jadi mari kita mengatakan bahwa, sekarang, saya ingin untuk menyingkirkan file hello.txt saya. 288 00:13:44,610 --> 00:13:46,490 Saya tidak ingin satu yang baik. 289 00:13:46,490 --> 00:13:47,370 Apa yang bisa saya lakukan? 290 00:13:47,370 --> 00:13:54,710 Yah, aku bisa rm -f hello.txt. 291 00:13:54,710 --> 00:13:57,530 Apa yang Anda pikirkan adalah akan terjadi di sini? 292 00:13:57,530 --> 00:13:58,030 Itu hilang. 293 00:13:58,030 --> 00:13:59,363 Bahkan tidak bertanya padaku pertanyaan. 294 00:13:59,363 --> 00:14:03,600 Dan pada kenyataannya, jika saya daftar isi direktori saya lagi, itu akan hilang. 295 00:14:03,600 --> 00:14:05,750 Tidak ada undo sini. 296 00:14:05,750 --> 00:14:09,554 hello.txt hilang, dan saya tidak bahkan bertanya apakah saya ingin menghapusnya. 297 00:14:09,554 --> 00:14:11,595 Bagaimana jika saya ingin menyingkirkan dari seluruh direktori? 298 00:14:11,595 --> 00:14:14,180 299 00:14:14,180 --> 00:14:17,039 Cara Anda melakukannya adalah sangat mirip dengan menyalin. 300 00:14:17,039 --> 00:14:19,080 Jika Anda ingin menghapus direktori, Anda tidak hanya 301 00:14:19,080 --> 00:14:22,121 ingin menghapus direktori, Anda ingin untuk menghapus segala sesuatu di dalamnya. 302 00:14:22,121 --> 00:14:26,250 Dan sehingga Anda menggunakan r, untuk rekursif menghapus direktori. 303 00:14:26,250 --> 00:14:28,600 >> Jadi mari kita rm pset2 r. 304 00:14:28,600 --> 00:14:31,870 Aku tidak benar-benar bekerja pada pset2, jadi saya bisa menyingkirkan direktori tersebut. 305 00:14:31,870 --> 00:14:33,040 Saya tekan Enter. 306 00:14:33,040 --> 00:14:35,050 Apakah saya ingin menghapus direktori, pset2? 307 00:14:35,050 --> 00:14:37,160 Ya. 308 00:14:37,160 --> 00:14:41,150 Dan jika saya daftar isi direktori saya lagi, itu akan hilang. 309 00:14:41,150 --> 00:14:41,650 Baiklah? 310 00:14:41,650 --> 00:14:43,739 >> Salah satu variasi lebih pada tema ini. 311 00:14:43,739 --> 00:14:46,280 Jadi saya akan membersihkan layar lagi, untuk meletakkan segala sesuatu di atas. 312 00:14:46,280 --> 00:14:47,420 Hit ls. 313 00:14:47,420 --> 00:14:49,890 Sekarang, saya ingin menyingkirkan direktori pset3 saya, 314 00:14:49,890 --> 00:14:52,810 dan aku benar-benar tahu saya ingin menyingkirkan direktori pset3 saya. 315 00:14:52,810 --> 00:15:00,120 Saya rekursif dan paksa bisa menghapus direktori pset3 saya. 316 00:15:00,120 --> 00:15:03,900 >> Sekarang, Anda akan benar-benar hati ketika Anda menggunakan rm-rf. 317 00:15:03,900 --> 00:15:06,784 Seperti Anda program lebih, itu akan menjadi sesuatu yang Anda hanya melakukan benar-benar cepat. 318 00:15:06,784 --> 00:15:08,200 Dan pada kenyataannya, saya melakukannya sepanjang waktu. 319 00:15:08,200 --> 00:15:10,380 Tapi itu dapat menyebabkan beberapa konsekuensi bencana, 320 00:15:10,380 --> 00:15:12,340 jika Anda tidak sengaja menghapus hal yang salah. 321 00:15:12,340 --> 00:15:15,089 Jadi saya ingin Anda untuk menyadari bahwa ini adalah pilihan yang tersedia untuk Anda, 322 00:15:15,089 --> 00:15:17,220 tapi menggunakannya hemat, dan menggunakannya dengan hati-hati. 323 00:15:17,220 --> 00:15:20,910 >> Aku tahu pasti aku tidak bekerja pada masalah saya set 3 lagi, jadi aku 324 00:15:20,910 --> 00:15:22,550 akan menyingkirkan semua file-file. 325 00:15:22,550 --> 00:15:26,420 Dan aku tahu aku tidak ingin diminta setiap kali jika saya ingin menghapus 326 00:15:26,420 --> 00:15:30,640 file, jadi aku akan rm-rf pset3. 327 00:15:30,640 --> 00:15:32,640 Bahkan tidak bertanya apakah aku ingin menyingkirkannya. 328 00:15:32,640 --> 00:15:33,840 Aku memukul ls. 329 00:15:33,840 --> 00:15:35,680 pset3 hilang. 330 00:15:35,680 --> 00:15:39,730 Jadi itu semua variasi yang Anda dapat digunakan untuk menyingkirkan file dengan rm. 331 00:15:39,730 --> 00:15:43,620 >> Perintah terakhir baris perintah yang akan sangat berguna untuk Anda 332 00:15:43,620 --> 00:15:46,391 adalah mv, yang merupakan kependekan bergerak. 333 00:15:46,391 --> 00:15:48,960 Langkah Apakah pada dasarnya setara dengan mengubah nama. 334 00:15:48,960 --> 00:15:53,870 Bergerak file dari satu lokasi ke lokasi lain, sumber ke tujuan. 335 00:15:53,870 --> 00:15:59,400 Mari kita lihat di mana menggunakan kekuatan bergerak berguna di jendela terminal. 336 00:15:59,400 --> 00:16:02,070 >> Jadi aku di pset1 saya direktori, dan saya perhatikan 337 00:16:02,070 --> 00:16:03,860 sesuatu yang tidak sedikit salah. 338 00:16:03,860 --> 00:16:08,620 Saya bekerja pada masalah serakah saya, tapi saya sengaja menamakannya GReddy. 339 00:16:08,620 --> 00:16:11,380 Jadi ketika saya mencoba dan menjalankannya melalui check50, itu tidak benar-benar bekerja. 340 00:16:11,380 --> 00:16:12,630 Saya punya beberapa pilihan. 341 00:16:12,630 --> 00:16:16,220 Kita bisa melakukan apa yang kami lakukan sebelumnya, yang membuat salinan file. 342 00:16:16,220 --> 00:16:23,960 Aku bisa menyalin greddy.c untuk greedy.c, kan? 343 00:16:23,960 --> 00:16:25,580 Tekan Enter. 344 00:16:25,580 --> 00:16:28,180 Saya melihat bahwa kedua file yang ada. 345 00:16:28,180 --> 00:16:36,337 Dan kemudian saya bisa rm, untuk menghapus, greddy.c. 346 00:16:36,337 --> 00:16:37,170 Yang akan menyingkirkan itu. 347 00:16:37,170 --> 00:16:40,920 Jadi yang akan bekerja, setelah saya mengkonfirmasi bahwa saya ingin menyingkirkannya. 348 00:16:40,920 --> 00:16:44,770 Dan saya secara efektif memiliki berganti nama greddy.c untuk greedy.c. 349 00:16:44,770 --> 00:16:48,460 Aku disalin, dan kemudian dihapus aslinya. 350 00:16:48,460 --> 00:16:50,170 >> Tapi itu adalah proses multi-langkah. 351 00:16:50,170 --> 00:16:51,670 Dan tentu saja, ada cara yang lebih baik. 352 00:16:51,670 --> 00:16:52,420 Bahkan, ada. 353 00:16:52,420 --> 00:16:55,810 Jadi mari kita memukul Kontrol L, hanya untuk membawa kembali hal ini, 354 00:16:55,810 --> 00:16:58,680 dan daftar isi direktori saya lagi. 355 00:16:58,680 --> 00:17:00,350 >> Jadi katakanlah, oh, saya membuat kesalahan. 356 00:17:00,350 --> 00:17:03,470 Aku benar-benar benar-benar ingin untuk memanggil file greddy.c. 357 00:17:03,470 --> 00:17:11,369 Dalam satu gerakan, saya dapat mengetik bergerak greedy.c ke greddy.c. 358 00:17:11,369 --> 00:17:12,470 Tekan Enter. 359 00:17:12,470 --> 00:17:15,210 Dan sekarang, aku tidak punya untuk menyalin dan menghapusnya, 360 00:17:15,210 --> 00:17:16,880 Aku hanya bisa mengubah nama itu. 361 00:17:16,880 --> 00:17:18,710 One-stop shopping. 362 00:17:18,710 --> 00:17:21,160 >> Sekarang, ada banyak lainnya dasar utilitas baris perintah 363 00:17:21,160 --> 00:17:22,640 Anda dapat menggunakan dengan baris perintah Linux. 364 00:17:22,640 --> 00:17:24,990 Dan kita akan membahas banyak dari mereka di masa depan dalam CS50. 365 00:17:24,990 --> 00:17:27,948 Tapi untuk saat ini, hanya mendapatkan kaki Anda basah dengan bekerja dengan terminal ini 366 00:17:27,948 --> 00:17:30,540 lingkungan, lima perintah Anda harus mendapatkan cukup jauh 367 00:17:30,540 --> 00:17:34,990 dalam menavigasi sekitar dan bekerja dengan file dalam IDE Anda 368 00:17:34,990 --> 00:17:37,770 atau apa pun yang berbasis Linux sistem operasi yang Anda gunakan. 369 00:17:37,770 --> 00:17:40,580 >> Jika Anda penasaran dan ingin melihat ke depan sedikit di beberapa 370 00:17:40,580 --> 00:17:43,420 perintah baris perintah kita akan menggunakan di masa depan, 371 00:17:43,420 --> 00:17:46,930 berikut adalah daftar beberapa dari yang lebih umum. 372 00:17:46,930 --> 00:17:47,820 Aku Doug Lloyd. 373 00:17:47,820 --> 00:17:49,860 Ini adalah CS50. 374 00:17:49,860 --> 00:17:52,598