[MÜZİK OYUN] Doug LLOYD: Tamam. Peki nasıl en konuşalım Linux komut satırını kullanabilirsiniz. Şimdi, CS50 IDE, ya da Aslında, hatta CS50 cihazı, Eğer, o aşina iseniz veya Eğer CS50 eski bir sürümünü alıyorsun Bir bulut tabanlı makine Ubuntu çalıştığı, hangi birçok tatlar biridir Linux işletim sisteminin. Linux işletim sistemi programcılar tarafından tercih, Doğru, sadece soğuk olduğu için mi? Birçok modern Linux dağıtımları , grafik kullanıcı arabirimine sahip biz de GUI, G-U-I, diyoruz kolay fare tabanlı navigasyon izin hangi muhtemelen alışkınsanız, Windows ya da Mac kullanıcı iseniz, fare dolaşırım, böylece simgeleri çift tıklayarak, ve. Yine olsa, bir programcı olarak, ve olsa bile IDE yeteneğini içerir Bazı grafiksel kullanıcı yapmak şeyler, tıklatma ve sürükleyerek, ve bütün bu, Hala kullanarak olacak senin Oldukça sık Terminal penceresi. Ve birçok yapabilirsiniz Bu yapabilirsiniz aynı görevleri Klavye komutları ile bir fare ile yapmak. Ve biz biraz konuşacağız Bu komutların ne bazıları hakkında Şu anda bulunmaktadır. Şimdi, bu komutlar kullanılabilir herhangi bir Unix tabanlı işletim üzerinde Linux dahil sistem, ama aynı zamanda Mac OS içerir. Eğer Mac Terminal kadar açarsanız, Bu kesin komutları kullanabilirsiniz. Windows, Command vardır İstemi, ancak bazı komutları Böylece, biraz farklı aslında çalışmıyor, , Windows olmadığı Bir Unix tabanlı sistem. Öyleyse bazılarına bir göz atalım Bu Linux komutları. İlki olacak Muhtemelen oldukça çok ls kullanın. Bu bir tarafından izlenen bir küçük l bulunuyor listesi için kısa küçük s. Ve liste komutu yapar öyle Size tüm dosyaların bir okuma verir ve geçerli dizindeki klasörleri. Eğer her şeyi görebilirsiniz Yani yapabilirsiniz Şu anda yerden almak. Yani burada CS50 IDE açtık. Ve ben Büyütmek-in bir gidiyorum Size daha yakın bir görünüm vermek için, ikinci, ama burada geniş bir resim IDE neye benzediğini. Sol tarafta, biz görebilirsiniz muhtemelen konum bir dosya ağacı, aşina, çift tıklayarak, ve dosya ve klasörleri ve tüm bu şeyler. Yani hala orada CS50 cihazda. Sen nereye üst merkezinde yer alıyor Bir kez, senin kod yazma olacak Bir dosya üzerinde tıklatın. Ve altta, biz Bir terminal penceresi var, Biz idam nerede hangi Bu uç komutlar. Ben Büyütmek-in gidiyorum ve sadece burada üzerinde kafa size göstermek için aslında, can, o Bu dosya ve klasörlerin üzerine tıklayın. Şu anda nerede olduğumu Yani açıkça, ben pset0 ve pset1 adlandırılan iki klasör, ve üç dosya, tek denilen Merhaba, bir, merhaba.c denilen ve bir hello.txt olarak adlandırılan. Yani terminale aşağı hareket edelim Pencere ve daha yakından bakmak olsun. Yani biz hemen, yine konuştuk Biz üç dosya ve iki adet olması gerçeği geçerli dizindeki klasörleri. Ben ls, tekrar yazarsanız Listeye komut akım içeriği dizin ve sonra, Enter tuşuna basın Ben, merhaba merhaba.c gördüklerinizi bak, hello.txt, pset0 ve pset1. pset0 ve pset1 olan mavi renkli, göstermek için Size bu dizinleri olduğu Biz içine gidin ki. Ve biz biraz öğreneceksiniz gezinmek konusunda biraz Bir dakika içinde dizinlere. Ve diğer her şey, siyah renkli Bir metin dosyası veya kaynak kodu ise eğer, dosya ve yeşil bir yürütülebilir dosya var. Yani açıkça, o gelir ben merhaba, adında bir program çalıştırabilir. Oradaki yeşil biri anlama geliyor. Ama temelde, yazarak ls komutu izin verdi Beni var olan her şeyin bakmak Benim geçerli dizinde, hangi Biz, burada gördüğünüz maçlar Aynı grafik ekran. Bir sonraki komutu olacak Muhtemelen biraz kullanın cd, küçük c küçük d olduğunu hangi değişiklik dizinin kısa. Bu benim ne yapmak bize izin verir , önce bir saniye bahsediyoruz hangi arasında gezinmek için emrindedir dizinleri çizgi, aksine klasörlere çift tıklayarak. Yani biz o cd ve yazarsanız Bir dizinin adı, Biz o dizine alabilirsiniz. Bir kenara, isim biliyorum Geçerli dizini her zaman bir nokta ve dizinin adı biri şimdi nerede seviyesinden, bu klasörde adıdır Bizim klasör olan nokta, dot-- veya hangi bizim klasörü içinde, nokta, nokta olduğunu. Ve hiç merak iseniz senin dizinin adını, hangi standları, pwd yazabilirsiniz Mevcut çalışma dizinine için. Biz tüm bu bir göz atacağız Şimdi, geri CS50 IDE başlığı. Yani şimdi geri çalışma alanında değilim. Ve ben Büyütmek-in edeceğiz tekrar Terminal, bu yüzden biz bir göz atabilirsiniz IDE içinde dolaşırım at. Yani listelemek için gidiyorum Benim dizinin içeriğini Yine, sadece yeniden topraklamayı Nerede bize. Ben ls yazarsanız, hangi Yani Tekrar listeye için Ben pset0 ve pset1 alabilirsiniz görüyoruz. Bunlar dizinler Buradan alabilirsiniz. IDE verir, çünkü biliyorum Bana onları mavi boyama ile bir ipucu. Diyelim ki istiyorum diyelim Benim pset1 dizine almak, Ben sorun üzerinde çalışıyorum, çünkü set 1. Ben kısa, tekrar cd-- yazabilirsiniz , pset1 directory-- boşluk değiştirin. Ben Enter hit Ve eğer, ne olur dikkat edin. Bir çok şey oldu gibi görünmüyor. Ama istemi bakarsanız, şimdi I ~ / workspace / pset1 olduğumu söylüyor. Ben pset1 içine navigasyon ettik Klasör benim çalışma alanı içinde olduğunu söyledi. Ben ls yazarsanız, ben bazılarını görmek Burada farklı şeyler değil mi? Bu aynı şey değil Ben daha önce gördüm listesi. Ben pset1 içine navigasyon ettik. Ben ls yazarken Ve böylece şimdi, ben ne bağlamını olabilir alıyorum pset1 klasörü içinde görmek. Şimdi, ben denetimi yazın gidiyorum Sadece ekranı temizler l. Ve ben listelemek için gidiyorum dizinin içeriğini Yine, sadece bu yüzden görebilirsiniz. Ben sadece bunu yapmak istedim bazı şeyler temizlemek Aşağıda aşağı gördüğünü ve bunun önlenmesi için çok aşağı menzil dışında gitmekten. Şimdi, ben istiyorum, daha önce söyledi geçerli dizine gitmek için, Ben cd boşluk nokta yazabilirsiniz. Enter tuşuna basın. Bu doğru bir şey yapmıyor? Ben dizinleri değiştiriyorum geçerli dizine. Her zaman gitmiyorsun Tek bir nokta için bir ihtiyaç bulmak, ama zaman zaman olur. En istediğim diyelim Bir seviye yukarı taşımak için. Ben geri dönmek istiyorum Benim çalışma dizini. Ben, cd çalışma alanı yazamaz Böyle bir dosya ya da dizin var. Ve ki- nedeni Ben ls bir daha zamanımı yazarsanız denilen bir dizin olmasıdır Benim pset1 dizinin içinde çalışma. Ben temizlemek için gidiyorum benim Kontrol l ile tekrar ekrana. Ne dediğimi hatırlamıyorum Daha önce olsa, biz nokta ile geri gidebilirsiniz, nokta. Bu ana dizinin adı. Yani cd, uzay, nokta yazarsanız, nokta ve ardından, Enter tuşuna basın Şimdi ne oldu bak. Benim komut istemi ben olduğumu söyler geri ~ / çalışma dizininde. Ben, bir seviye yukarı taşındı teşekkürler, nokta nokta için. Şimdi, ben bir kullanıyorum diyelim Linux tabanlı işletim sistemi, ama mutlaka değil Nerede olduğumu söyle. Bu kimse bu bize olur Ben, şu anda ~ / çalışma alanında kulüpler Sağ isteminde. Ama ben tamamen olabilir klasörlerin bir karmaşa içinde kaybolmuş, ve ben ben hiçbir fikrim yok ve Ben geri dönmek istiyorum hiçbir fikrim yok. Ben yapabileceğiniz iki şey var. Her şeyden önce, ben anlamaya Ben pwd yazarak, nerede olduğumu. Bu benim şimdiki çalışma dizini var. Ve ben, o Enter hit eğer Ben tam olarak nerede söylüyor. Şimdi / home / ubuntu olduğunu diyerek, tilde uzun bir yol, Hangi ev dizinidir. Ama ben olduğumu söylüyor Ev / ubuntu / çalışma veya ~ / workspace. Ben gitmek için gidiyorum Benim pset1 dizini yeniden ve ben içeriğini listelemek için gidiyorum. Ve ben başka olduğunu görüyoruz dizin var, ekstralar çağırdı. Yani ekstralar içine cd gidiyor ve ben Sonra benim ekranı temizlemek için gidiyorum. Yani şimdi, ben sağ oldukça uzakta yaşıyorum? Ne yedeklemek istiyorsanız Hemen ÇalışmaAlanına? Yapabileceğim bir kaç şey var. Ben, cd, nokta, nokta, çizgi, nokta yazabilirsiniz nokta, daha sonra bir seviye yukarı taşımak ve Başka bir seviye. Ama bu tür can sıkıcı değil. Hiç geri almak istiyorsanız Yani Sadece benim ev dizini, tilde, Ben ondan sonra hiçbir şey cd yazabilirsiniz. Cd girin. Ve şimdi, ben tilde değilim. Ve ben çalışma alanına almak istiyorsanız, Ben sadece cd çalışma alanını yazabilirsiniz. Ve bu işe nasıl Değişen dizinleri CS50 IDE veya herhangi bir Linux içinde Komut satırında işletim sistemi. Pekala. Bir sonraki olabilir , mkdir olan kullanışlı hangi bir dizin yapmak için kısa, Ben yeni bir klasör oluşturmak gerekiyorsa. Eğer aşina iseniz GUI işletim sistemi, Eğer sağ tıklayın gerekebilir. Ve sonra, ne zaman bağlam menüsü açılır, Yeni Klasör seçin. Muhtemelen nasıl Eğer daha önce yaptık. Ama biz de oluşturabilirsiniz komut satırından dizinleri. Bu yüzden geri IDE konum. Ben Büyütmek-in edeceğiz terminalinde ve Benim dizinin içeriğini listelemek Yine, sadece bize vermek için bir referans çerçevesi. Şimdi, ben var, diyelim problem üzerinde çalışan bitmiş 0 set ve problem set 1. Yani yeni bir dizin oluşturmak istiyorum sorun için üzerinde çalışmak için 2 olarak ayarlayın. Bunu nasıl yaparım? Peki, tekrar, sağ tıklatın olabilir Orada yan bıraktı ve Yeni Klasör seçin ve bir pset2 dizin oluşturun. O da çalışmaya devam eder. Ama sonra ben de bunu yapmak oldukça hızlı komut satırı, mkdir yazarak, space-- I tarafından n ama- uzay pset2 yazdığınız. Sonra Enter'a basın ve ben listesi yine benim dizinin içeriğini, Ben, şimdi, bak görüyoruz Ben bir pset2 klasörü vardır. Ve ben içine gezinebilirsiniz Bu cd ​​kullanarak ve bunu tüm iş Ben pset2 için yapmamız gerekiyor. Bu arada, ben biraz üzerinde pop edeceğiz Burada gerçekten hızlı bir şekilde dosya ağacına. Ve sen, aynı zamanda, görebilirsiniz Grafik Dosya Gezgini, biz görebilirsiniz pset2 dizini orada da oluşturuldu. Ve ben buna gidebilirsiniz, hem de GUI kullanarak. Bir dahaki sefere ve işte Muhtemelen kullanışlı olacak kopya için kısa cp vardır. Diğer tüm farklı olarak, kopyalama Daha önce gördüğümüz komutları, İki argüman, bir kaynak alır kopyalamak istediğiniz dosyanın adını, ve bir hedef, nerede size Dosyayı kopyalamak istediğiniz. Bu kopyalamak için oldukça kolay Bir dosya, bu yüzden böyle yapalım. Bu yüzden geri IDE konum. Ben içeriğini listelemek için gidiyorum ls ile benim geçerli dizinin. Şimdi, istediğim diyelim hello.txt bir kopyasını yapmak için. Yine, dosya ağacından sol, grafik arayüzü, Ben hello.txt sağ tıklayın olabilir, Bir kopyasını kopya yapıştırın. Ama oldukça hızlı bir şekilde yapabilirsiniz Komut satırında da. Diyelim ki kopyalamak istediğiniz diyelim hello.txt hi.txt için. I, hello.txt alanı cp olabilir. Bu benim kaynak dosya, bu yüzden bu yüzden Ben ilk o birini seçmek için gidiyorum. Ve sonra isim gerekiyor hedef dosya, hi.txt. Ben Enter tuşuna basın. Ve ben içeriğini listelemek eğer benim Dizin yine orada hi.txt var. Ben bunun bir kopyasını yaptı. Ve aslında, ben gidersem hi.txt içine I could o tam bir olacağını görmek için Her şeyin çoğaltmak olduğunu Benim hello.txt dosyasında var. Bir dosyayı kopyalamak ne kadar Yani bu. Ama ne isterseniz Bir bütün dizin kopyalamak? İkinci Yani, en bir göz atalım benim pset0 dizininde budur. Ve ben cd pset0 ise, içeriğini listelemek Ben, numune adlı bir dizin var, ve çizilmeye dosyası, scratch.sb2. Yani bilmek güzel. Yani ekranını temizlemek edelim, ve ben geri gidiyorum Bir saniyeliğine benim çalışma dizinine. Şimdi, ben istiyorum, diyelim Benim pset0 dizinin bir kopyasını yapmak. Ben sadece cp pset0 diyemeyiz pset3, örneğin. Bu garip mesajı almak, Dizin pset0 ihmal. Neden bu mesajı alıyorum? Peki, ne zaman çıkıyor Eğer bir dizin var , bunun içinde başka şeyler var cp komutu gerçekten yok mutlaka onunla ne yapacağını biliyor. Biz açıkça gerekiyor Linux, terminali söyle, Ben kopyalamak istediğiniz pset0 dizin ve kopya içeride var olan her klasör o her dosyanın bu bunun içinde bulunmaktadır. Başka bir deyişle, sana gerek ardışık pset0 aşağı dalış ve orada her şeyin bir kopyasını yapmak. Bunu yapmak istiyorsanız, ben ne yapabilirim yinelemeli, pset0 pset3 için cp-r, olduğunu. Enter tuşuna basın. Şimdi, ben liste varsa Benim dizinin içeriğini, Ben pset3 var bakın Ben çalışabilirsiniz dizin. Ve şimdi eğer pset3 içine ben cd ve Daha sonra, bak, içeriğini listelemek Numune ve scratch.sb2 yine var. Yani oldukça serin. Yani bir bütününü kopyalayabilirsiniz nasıl Dizin ve sadece tek bir dosya. Bir kopyalamak istiyorsanız Yani Dizin, sadece hatırlamak sen ne zaman -r bayrağını kullanmak cp komutu ile çalışan. Pekala. Yani bir dosyayı kopyaladığınız ama ettik Yanlışlıkla yaptım. Ve şimdi, bundan kurtulmak istiyorum. Bunu nasıl yaparım? Yine, tanıdık iseniz bir GUI arayüzü ile, Eğer sağ tıklayabilirsiniz ve sadece Sil'i seçin. Ve bunu göndereceğiz çöp veya Geri Dönüşüm Kutusu'nu. Ama komut satırında, biz Sadece akıtma, rm yazabilirsiniz ve daha sonra adı Biz kurtulmak istediğiniz dosyayı. Şimdi, rm çok dikkatli olduğunu. Bu çift kontrol bir sürü yapar Emin aslında bunu yapmak için Dosyayı silmek istiyor. Herhangi bir hata yapmak istemiyor, Burada hiçbir Geri Dönüşüm Kutusu'nu var çünkü. Biz dosyayı sildiğinizde, gitti. Ve onu kurtarmak için hiçbir yolu gerçekten var. Bu yüzden güzel olması gerekir Dikkatli ve böylece rm Bizim için gerçekten dikkatli olacak. O halde IDE geri dönelim ve bu hi.txt dosyasının kurtulmak ben kopya ile bir dakika önce hazırlandı. Bu yüzden IDE konum. Ve ben dizinin içeriğini listelemek Yine, sadece bize bazı bağlamda vermek. Yani, sen hi.txt var olduğunu görebiliyorum hangi Biraz süre önce hazırlandı. Şimdi, ben ondan kurtulmak istiyorum. Nasıl yaparım? Yine, sadece rm. Yani rm hi.txt yazıp Enter tuşuna basabilirsiniz. Ve rm varlık var Bizim için gerçekten dikkatli ve emin olun biz aslında yapım Bu dosyayı silmek istiyorum. Eğer gerçekten kaldırmak istiyor musunuz Düzenli boş bir dosya hi.txt? Bu sadece bir işletim gibi Sistem, Windows ya da Mac gibi, Eğer olabileceğini haşhaş aşina Bu kutu gerçekten diyor Emin Bunu yapmak istiyorum. Ben bu istiyorum eminim bu yüzden evet-- yazın gidiyorum ya ben de olabilir sadece S-- yazıp Enter tuşuna basın. Ve ben içeriğini listelemek eğer benim dizin tekrar hi.txt gitti. Fena değil, değil mi? Diyelim basın Denetim L, sadece Bütün bu şeyler kurtulmak için ve geri bize ulaşın Ekranın üst. Şimdi, yolu yoktur kısa devre rm, böylece bize bu soruyu sormak gelmez. Biz gerçekten istediğini biliyorum Bu dosyanın kurtulmak için, ve biz bile istemiyoruz soru sorulmasını. Biz nasıl yapacağız? Peki, biz belirtebilirsiniz Ekstra bayrak, sadece biz gibi nerede cp ile yaptık -r bayrağı ekleyebilir, ardışık bir dizine kopyalayın. Başka bir bayrak var -f olan rm için, tam olarak hangi yapmak için rm zorlamak ne yapmak için söylüyorsun. Yani şimdi, ben istiyorum, diyelim Benim hello.txt dosyasının kurtulmak için. Ben de o bir tane istemiyorum. Ne yapabilirim? Eh, ben -f hello.txt rm olabilir. Sen ne düşünüyorsun Burada ne olacak? Gitti. Hatta bana soru sormadı. Ve aslında, ben içeriğini listelemek eğer Benim dizinin tekrar gitti. Burada geri alma yok. hello.txt gitti ve ben değildim Bunu silmek istedim bile sordu. Ben kurtulmak istiyorum ne bütün bir dizinin? Bunu yolu kopyalamak çok benzer. Bir silmek isterseniz Dizin, sadece yok İstediğiniz dizini silmek istediğiniz bunun içinde her şeyi silin. Ve böylece size, -r kullanın yinelemeli bir dizini silmek. Yani -r pset2 rm edelim. Aslında, pset2 üzerinde çalışıyorum değilim bu yüzden ben bu dizinin kurtulabilirsiniz. Ben Enter tuşuna basın. Ben kaldırmak istiyor musunuz Dizin, pset2? Evet ediyorum. Ve ben içeriğini listelemek eğer Benim dizin yine gitti. Pekala? Bu tema üzerine Bir daha varyasyon. Bu yüzden tekrar ekranı temizlemek olacak, üstündeki her şeyi koymak için. Ls vur. Şimdi, ben kurtulmak istiyorum Benim pset3 dizinin, ve ben gerçekten istiyorum biliyorum Benim pset3 dizinin kurtulmak. Ben ardışık ve zorla can Benim pset3 dizini kaldırmak. Şimdi, gerçekten olacaksın Eğer rm-rf kullanıyorsanız dikkatli. Daha fazla programlamak gibi, olacak Eğer sadece gerçekten hızlı bir şekilde yaptığım bir şey. Ve aslında, ben her zaman yaparım. Ama bazı yol açabilir feci sonuçları eğer yanlışlıkla yanlış bir şey silin. O yüzden farkında olmak istiyorum Bu, sizin için bir seçenek kullanılabilir ama, idareli kullanmak ve dikkatli kullanın. Ben çalışma değilim bir gerçeği biliyorum Benim sorun üzerinde artık 3 set, bu yüzden ben bu dosyaların tüm kurtulmak için gidiyoruz. Ve ben sorulmasını istemiyorum biliyorum Ben silmek istiyorsanız her zaman Bir dosya, bu yüzden -rf pset3 rm gidiyorum. Bile beni sormadı ben ondan kurtulmak istedim. Ben ls çarptı. pset3 gitti. Yani tüm varyasyonları olduğunu sen rm dosyaların kurtulmak için kullanabilirsiniz. Bu son komut satırı komutu sizin için oldukça yararlı oluyor hareket için kısa olan mv olduğunu. Taşı temelde yeniden adlandırmak eşdeğer midir. Bu bir konumdan bir dosya taşır Başka bir hedefe kaynak. Bir hamle gücünü kullanarak nereye Bakalım Terminal penceresinden kullanışlı. Yani benim pset1 değilim dizin ve ben fark ettik bir şey biraz yanlış gitti. Ben, benim açgözlü problem üzerinde çalışıyordu ama ben yanlışlıkla greddy atadı. Yani denemek ve içinden çalıştırdığınızda check50, gerçekten işe yaramaz. Ben birkaç seçeneğiniz var. Biz daha önce ne yaptık yapabileceğini, hangi dosyanın bir kopyasını yapmaktır. Ben greddy.c kopya olabilir Doğru, greedy.c için? Enter tuşuna basın. Ben iki dosya var olduğunu görüyoruz. Ve sonra, rm olabilir , greddy.c kaldırın. Bunun kurtulur. Yani ben onayladıktan sonra, çalışmaya devam eder Ben ondan kurtulmak istiyorum. Ve ben etkili olması adını greddy.c greedy.c için. Ben kopyaladı ve sonra Orijinali kaldırıldı. Ama bu çok adımlı bir süreç. Ve kesinlikle daha iyi bir yolu var. Aslında, vardır. Öyleyse Kontrol L vurmasına izin, Sadece, bu geri getirmek için ve içeriğini listelemek Benim dizinin tekrar. Yani oh, ben bir hata yaptım, diyelim. Ben aslında gerçekten istemiyordu Bu dosya greddy.c aramak için. Bir hamlede, ben yazabilirsiniz greddy.c için greedy.c hareket eder. Enter tuşuna basın. Ve şimdi, ben yoktu kopyalama ve kaldırmak için, Ben sadece bunu adlandırmak mümkün oldu. Tek noktadan alışveriş. Şimdi, diğer bir yeri vardır Temel komut satırı yardımcı programları Birlikte kullanabileceğiniz Linux komut satırı. Ve biz çok tartışıyor olacağız Bunların CS50 gelecekte. Ama şimdi, sadece ayaklarınızı alıyorum Bu terminalin çalışma ile ıslak çevre, bu beş komutları oldukça uzak almalısınız etrafında gezinmek ve IDE dosyalarla çalışma ya da her neyse Linux tabanlı Kullandığınız işletim sistemi. Eğer merak ediyorsanız ve isterseniz Bazı önde biraz bakmak Komut satırı komutları Biz gelecekte kullanarak olacak Burada bir çift bir listesi daha yaygın olanları. Ben Doug Lloyd değilim. Bu CS50 olduğunu.