[Music kucheza] DOUG LLOYD: Sawa. Basi hebu majadiliano kuhusu jinsi ya kutumia Linux mstari amri. Sasa, CS50 IDE, au katika kweli, hata appliance CS50, kama wewe ni ukoo na kwamba, au wewe ni kuchukua toleo la wazee wa CS50, ni mashine wingu makao ambayo inaendesha Ubuntu, ambayo ni moja ya ladha nyingi ya Linux mfumo wa uendeshaji. Linux mfumo wa uendeshaji ni Maria kwa programmers, kwa sababu ni tu baridi, sawa? Wengi wa kisasa mgawanyo Linux na interfaces user graphical, ambayo sisi pia kupiga GUIs, G-U-mimi, ili kuruhusu rahisi panya makao urambazaji, ambayo wewe pengine ukoo na, kama wewe ni Windows au Mac user, wakiogelea panya yako, mbili-kubonyeza icons, na kadhalika. Bado ingawa, kama programu, na hata kama IDE ina uwezo wa kufanya baadhi ya mtumiaji graphical mambo, kubonyeza, na akawatoa, na yote hayo, wewe utakuwa bado kuwa kutumia yako terminal dirisha pretty mara kwa mara. Na unaweza kufanya mengi ya kazi ile ile ambayo unaweza kufanya na panya na amri keyboard. Na tunakwenda kuzungumza kidogo kuhusu nini baadhi ya amri hizo ni hivi sasa. Sasa, amri hizi zinaweza kutumika juu ya wowote wa uendeshaji Unix-msingi mfumo, ambayo ni pamoja na Linux, lakini pia ni pamoja na Mac OS. Kama wewe kufungua Terminal juu ya Mac yako, unaweza kutumia amri hizi halisi. Madirisha pia ina amri Haraka, lakini baadhi ya amri ni tofauti kidogo, hivyo haina kweli kazi, kwa sababu Windows ni si mfumo Unix-msingi. Basi hebu tuangalie baadhi ya amri hizi Linux. Moja ya kwanza kwamba utasikia pengine kutumia mengi kabisa ni ls. Hiyo ni ndogo l, ikifuatiwa na lowercase s, ambayo ni fupi kwa orodha. Na nini orodha amri gani ni anatoa readout ya mafaili yote na folders katika saraka yako ya sasa. Hivyo unaweza kuona kila kitu unaweza kupata kutoka ambapo sasa ni. Hivyo nimekuwa wazi juu hapa CS50 IDE. Na mimi nina kwenda kuvuta-katika katika pili kukupa kuangalia kwa karibu, lakini hapa ni picha pana nini IDE inaonekana kama. Upande wa kushoto, unaweza kuona tuna faili mti, ambayo wewe pengine ukoo na, mara mbili-kubonyeza, na files folders, na mambo ambayo yote. Hivyo hiyo ni bado kuna katika appliance CS50. Katika kituo katika juu ni mahali ambapo wewe ni kwenda kuwa kuandika kanuni yako, mara moja wewe click kwenye faili. Na chini, sisi na dirisha terminal, ambayo ni wapi tunaweza kutekeleza amri hizi wastaafu. Mimi nina kwenda kuvuta-katika na kichwa juu hapa, tu kuonyesha kwamba, kwa kweli, siwezi click kwenye mafaili haya na folders. Hivyo ni wazi, ambapo mimi sasa niko, nina folders mbili, iitwayo pset0 na pset1, na mafaili tatu, mtu mmoja aitwaye hello, moja inayoitwa hello.c, na mtu mmoja aitwaye hello.txt. Basi hebu hoja chini kwa wastaafu dirisha na kupata kuangalia kwa karibu. Hivyo sisi tu kuongea, tena, kuhusu ukweli kwamba tuna mafaili tatu na mbili folders katika saraka ya sasa. Kama mimi aina ls, ambayo tena ni amri kuorodhesha yaliyomo ya sasa directory, na kisha mimi hit Enter, kuangalia nini naona, hello, hello.c, hello.txt, pset0 na pset1. pset0 na pset1 ni rangi ya bluu, zinaonyesha na wewe kwamba wale ni directories kwamba tunaweza navigate ndani. Na tutaweza kujifunza kidogo kidogo kuhusu jinsi ya navigate ndani ya directories katika dakika. Na kila kitu kingine ni rangi nyeusi, ikiwa ni faili Nakala au chanzo kanuni faili, na kijani, ikiwa ni faili la kutekelezwa. Hivyo ni wazi, hiyo ina maana kwamba mimi kuweza kukimbia mpango ujulikanao, hodi. Hilo ndilo moja ya kijani huko maana yake. Lakini kimsingi, kuandika ls amri imeruhusu mimi wa kuangalia kila kitu kilichopo katika saraka yangu ya sasa, ambayo mechi nini tunaona hapa, katika graphical maonyesho ya sawa. Amri ya pili utasikia pengine kutumia kidogo kabisa ni CD, lowercase c, d ndogo, ambayo ni fupi kwa ajili ya mabadiliko directory. Hii inaruhusu sisi kufanya nini nilikuwa kuzungumza juu ya pili iliyopita, ambayo ni navigate kati Directories kwa amri mstari, kinyume na mara mbili-kubonyeza folders. Hivyo kama sisi aina cd na kisha jina la directory, tunaweza kupata katika saraka huo. Kama kando, tunajua kwamba jina ya saraka ya sasa daima dot, na jina la directory moja cha juu ambapo sisi ni sasa, kuwa ni jina la folder katika ambayo folder yetu ni, dot, dot-- au ambao folder yetu ni, ni dot, dot. Na kama wewe ni milele curious kuhusu jina la saraka yako, unaweza aina pwd, ambayo inasimamia kwa sasa kazi directory. Tutaweza kuchukua kuangalia yote haya sasa, na viongozi nyuma CS50 IDE. Hivyo mimi nina nyuma katika workspace yangu sasa. Na mimi itabidi kuvuta-tena kwenye wastaafu, ili tuweze kuchukua kuangalia katika wakiogelea ndani ya IDE. Hivyo nina kwenda kwa orodha yaliyomo ya saraka yangu tena, tu reground sisi katika tulipo. Hivyo kama mimi aina ls, ambayo ni kwa orodha tena, Mimi naona kwamba naweza kupata pset0 na pset1. Hayo ni directories Siwezi kupata kutoka hapa. Najua kwamba, kwa sababu IDE inatoa mimi fununu hizo kwa kuzipaka rangi ya bluu. Hebu kusema kwamba nataka kupata katika pset1 saraka yangu, kwa sababu mimi nina kazi ya tatizo kuweka 1. Siwezi aina cd-- tena, fupi kwa mabadiliko ya nafasi saraka, pset1. Na kama mimi hit Enter, taarifa nini kinatokea. Ni haina kuangalia kama mengi yamejitokeza. Lakini kama ukiangalia haraka, hivyo sasa ananiambia kwamba mimi niko katika ~ / workspace / pset1. Nimekuwa kutizamwa katika pset1 folder iliyokuwa ndani ya workspace yangu. Na kama mimi aina ls, naona baadhi mambo mbalimbali hapa, sawa? Hii si sawa orodha hiyo nikaona kabla. Nimekuwa kutizamwa katika pset1. Na hivyo sasa, wakati mimi aina ls, mimi nina kupata mazingira ya nini naweza kuona kutoka ndani ya pset1 folder. Sasa, mimi nina kwenda aina kudhibiti l, ambayo clears tu screen. Na mimi nina kwenda kuorodhesha yaliyomo ya directory tena, ili tu unaweza kuona. Mimi nilitaka kufanya hivyo kwa wazi nje baadhi ya mambo kwamba aliona chini chini na kuzuia hili wasiende mbali mno chini nje ya mbalimbali. Sasa, nilivyosema awali kwamba, kama nataka navigate kwa directory sasa, Siwezi aina cd nafasi nukta. Hit Enter. Haina kufanya kitu chochote, sawa? Mimi kubadilisha directories kwa saraka ya sasa. Wewe si daima kwenda kupata haja ya single dot, lakini wewe mara kwa mara. Hebu kusema kwamba nataka hoja juu ya ngazi moja. Nataka kupata nyuma workspace saraka yangu. Siwezi aina cd workspace, hakuna vile faili au directory. Na sababu ya that-- kama mimi aina ls moja zaidi time-- ni kwamba hakuna directory aitwaye workspace ndani ya pset1 saraka yangu. Mimi nina kwenda wazi yangu screen tena na udhibiti l. Kumbuka kile alisema mapema, ingawa, kwamba sisi unaweza navigate nyuma na nukta, nukta. Hiyo ni jina la directory mzazi. Hivyo kama mimi aina cd, nafasi, dot, dot, na kisha hit Enter, sasa tuangalie kile kilichotokea. Amri yangu haraka ananiambia kwamba mimi nina nyuma katika ~ / workspace yangu directory. Mimi wakiongozwa juu ngazi moja, shukrani kwa dot, dot. Sasa, hebu kusema kwamba mimi nina kutumia mfumo wa uendeshaji ambayo ni Linux makao, lakini hana si lazima kuniambia ambapo mimi. Hii moja kinachotokea kwa kutuambia kwamba Mimi niko katika ~ / workspace sasa hivi, haki katika haraka. Lakini mimi naweza kuwa kabisa waliopotea katika fujo ya folders, na Mimi sijui ambapo mimi na sijui ambapo mimi nataka kupata nyuma. Kuna mambo mawili ambayo siwezi kufanya. Awali ya yote, siwezi kufikiri nje ambapo mimi, kwa kuandika pwd. Hiyo ni kazi directory yangu ya sasa. Na kama mimi hit Enter, ni anasema mimi hasa ambapo mimi. Sasa / nyumbani / ubuntu ni muda mrefu njia ya kusema, tilde, ambayo ni nyumbani saraka yako. Lakini anasema mimi kwamba mimi niko katika nyumbani / ubuntu / workspace, au ~ / workspace. Mimi nina kwenda navigate kwa pset1 saraka yangu tena, na mimi nina kwenda kwa orodha ya yaliyomo. Na mimi kuona kwamba mimi na mwingine directory huko, iitwayo extras. Hivyo nina kwenda kwa cd ndani ya extras, na kisha mimi nina kwenda kwa wazi screen yangu. Hivyo sasa, mimi nina pretty mbali katika, sawa? Nini kama nataka kuunga kwa workspace mara moja? Kuna wanandoa mambo mimi naweza kufanya. Mimi naweza aina cd, dot, dot, kufyeka, dot, dot, na hoja juu ya ngazi moja na kisha ngazi nyingine. Lakini hiyo ni aina ya annoying. Hivyo kama mimi milele wanataka kupata nyuma tu wangu nyumbani directory, tilde, Siwezi aina cd na kitu baada yake. Cd, kuingia. Na sasa, mimi niko katika tilde. Na kama nataka kupata workspace, Siwezi aina tu cd workspace. Na kwamba ni jinsi gani kazi kubadilisha directories ndani ya CS50 IDE au Linux yoyote mfumo wa uendeshaji katika mstari amri. Sawa. Moja ijayo kwamba huenda kuja katika Handy ni mkdir, ambayo ni fupi kwa kufanya directory, kama mimi haja ya kujenga folder mpya. Kama wewe ni ukoo na GUI mfumo wa uendeshaji, unaweza haki-click. Na kisha, wakati orodha ya mazingira pops up, kuchagua New Folder. Kwamba pengine jinsi umefanya kosa kabla. Lakini tunaweza pia kujenga Directories katika mstari amri. Hivyo sisi ni nyuma katika IDE. Mimi itabidi kuvuta-katika juu ya wastaafu na orodha ya yaliyomo ya directory yangu tena, tu kutupa sura ya kumbukumbu. Hebu kusema kwamba, sasa, nimekuwa kumaliza kazi ya kuweka tatizo 0 na tatizo kuweka 1. Hivyo nataka kuunda saraka mpya kufanyia kazi kwa kuweka tatizo 2. Je, mimi kufanya hivyo? Naam, tena, mimi naweza haki-click katika upande wa kushoto kuna na kuchagua New Folder na kujenga pset2 directory. Hiyo ingekuwa kazi pia. Lakini basi mimi pia kufanya hivyo katika mstari amri pretty haraka, kwa kuandika mkdir, space-- mimi typed katika n, but-- nafasi pset2. Kama mimi hit Enter na kisha mimi orodha yaliyomo ya saraka yangu tena, Mimi naona kwamba, kuangalia, sasa Nina pset2 folder. Na siwezi navigate ndani kwamba kwa kutumia CD na kufanya kazi yote mimi haja ya kufanya kwa pset2. Kwa bahati mbaya, mimi itabidi pop juu ya hapa kweli haraka na faili mti. Na unaweza kuona kwamba, pia, katika graphical Picha Explorer, tunaweza kuona kwamba pset2 directory Pia imeanzishwa huko. Na siwezi navigate kwa jambo hilo, kutumia GUI pia. Wakati mwingine na kwamba pengine ni kwenda kuja katika Handy ni cp, ambayo ni fupi kwa ajili ya nakala. Nakala tofauti na wengine wote, amri tumeona kabla, inachukua hoja mbili, chanzo, jina la faili kwamba unataka nakala, na marudio, ambapo unataka nakala faili kwa. Ni pretty rahisi nakala faili, hivyo hebu kufanya hivyo. Hivyo sisi ni nyuma katika IDE. Mimi nina kwenda orodha ya yaliyomo ya saraka yangu ya sasa na ls. Sasa, hebu kusema kwamba nataka kufanya nakala ya hello.txt. Tena, kutoka faili mti juu ya kushoto, interface graphical, Mimi naweza haki-click kwenye hello.txt, kufanya nakala, kuweka nakala. Lakini siwezi kufanya hivyo pretty haraka katika mstari amri pia. Hebu sema Nataka nakala hello.txt kwa hi.txt. Siwezi CP, nafasi, hello.txt. Hiyo ni chanzo faili yangu, hivyo ndiyo sababu Mimi nina kwenda kuchagua kwamba moja ya kwanza. Na kisha mimi haja kwa jina marudio ya faili, hi.txt. Mimi hit Enter. Na kama mimi orodha ya yaliyomo ya yangu directory tena, kuna hi.txt. Mimi alifanya nakala yake. Na kwa kweli, ikiwa nilikwenda ndani ya hi.txt, mimi naweza kuona kwamba itakuwa halisi kurudia ya kila kitu ambacho kuwepo katika hello.txt faili yangu. Hivyo hiyo ni jinsi gani nakala faili. Lakini nini kama unataka nakala directory nzima? Hivyo kwa mara ya pili, hebu tuangalie katika nini katika pset0 saraka yangu. Kama mimi cd pset0 na orodha ya yaliyomo, Nina directory kuitwa, sampuli, na faili mwanzo, scratch.sb2. Hivyo hiyo ni vizuri kujua. Basi hebu wazi screen, na mimi nina kwenda nyuma kwa workspace yangu directory kwa ajili ya pili. Hebu kusema kwamba, sasa, nataka kufanya nakala ya pset0 saraka yangu. Siwezi kusema tu linganisha pset0 pset3, kwa mfano. Kupata ujumbe huu weird, omitting directory pset0. Kwa nini kupata ujumbe huo? Naam, ni zamu nje kwamba, wakati una directory kwamba ina mambo mengine ndani yake, amri linganisha haina kweli lazima kujua nini cha kufanya na hayo. Tunahitaji uwazi kuwaambia Linux, wastaafu, Nataka nakala pset0 directory na nakala kila folder kwamba ipo ndani ya yake na kila faili kwamba ipo ndani yake. Kwa maneno mengine, mimi haja ya wewe recursively mbizi chini ndani pset0 na kufanya nakala ya kila kitu huko. Kama mimi nataka kufanya hivyo, nini siwezi kufanya ni linganisha-r, kwa kujirudia, pset0 pset3. Hit Enter. Sasa, kama mimi orodha yaliyomo ya saraka yangu, Mimi naona kuna pset3 directory niweze kazi pamoja. Na kama mimi cd ndani ya pset3 sasa na kisha orodha ya yaliyomo, angalia, kuna sampuli na scratch.sb2 tena. Hivyo hiyo ni pretty cool. Hivyo hiyo ni jinsi gani unaweza nakala nzima directory, na si tu faili moja. Hivyo kama unataka nakala directory, kumbuka tu kutumia bendera r wakati uko kufanya kazi na amri cp. Sawa. Hivyo nimekuwa kunakiliwa faili, lakini Mimi tumefanya hivyo kwa makosa. Na sasa, nataka kujikwamua ni. Je, mimi kufanya hivyo? Tena, kama wewe ni ukoo na GUI interface, unaweza haki-click na tu kuchagua Futa. Na kutakuwa na kutuma kwa takataka au Recycle Bin. Lakini katika mstari amri, sisi unaweza aina tu rm, kwa kuondoa, na kisha jina la faili tunataka kujikwamua. Sasa, rm ni makini sana. Ni gani mengi ya mara mbili-kuangalia, kuhakikisha kuwa wewe kweli unataka kufuta faili. Haitaki kufanya makosa yoyote, kwa sababu hakuna Bin Recycle hapa. Mara sisi kufuta faili, ni gone. Na kuna kweli hakuna njia ya kuokoa yake. Kwa hiyo, tunahitaji kuwa pretty makini, na hivyo rm ni kwenda kuwa kweli makini kwa ajili yetu. Basi hebu kwenda nyuma ya IDE na kujikwamua kwamba hi.txt faili kwamba mimi umba dakika iliyopita na nakala. Hivyo tuko katika IDE. Na mimi orodha ya yaliyomo ya directory yangu tena, tu kutupa baadhi ya mazingira. I mean, unaweza kuona kwamba kuna hi.txt, ambayo mimi umba kidogo iliyopita. Sasa, nataka kujikwamua ni. Je, mimi kufanya hivyo? Tena, tu Rm. Hivyo siwezi aina rm hi.txt na hit Enter. Na kuna rm kuwa kweli makini kwa ajili yetu na kuhakikisha sisi kweli unataka kufuta faili hii. Je, kweli unataka kuondoa mara kwa mara tupu faili hi.txt? Hiyo tu kama uendeshaji mfumo, kama Windows au Mac, kwamba unaweza kuwa ukoo na yanajitokeza sanduku kwamba anasema ni kweli uhakika unataka kufanya hivyo. Mimi nina uhakika pretty nataka hii, hivyo mimi nina kwenda aina, yes-- au mimi naweza pia tu aina y-- na hit Enter. Na kama mimi orodha ya yaliyomo ya yangu directory tena, hi.txt ni gone. Si mbaya, sawa? Hebu vyombo vya habari Kudhibiti L, tu kujikwamua mambo haya yote na kupata yetu nyuma katika juu ya screen. Sasa, kuna njia ya mzunguko mfupi rm, hivyo kuwa haina kuuliza sisi swali hilo. Sisi kweli kujua tunataka kujikwamua faili kwamba, na hatuna hata wanataka kuulizwa swali. Je, sisi kufanya hivyo? Naam, tunaweza kutaja bendera za ziada, tu kama sisi alivyofanya kwa linganisha ambapo sisi inaweza kuongeza bendera r, kwa recursively nakala katika saraka. Kuna bendera nyingine kwa rm, ambayo ni -f, ambayo ni kwa nguvu rm kufanya hasa nini sisi ni kuwaambia ni kufanya. Basi hebu kusema kwamba, sasa, nataka kujikwamua hello.txt faili yangu. Sitaki kuwa moja ama. Nini naweza kufanya? Naam, siwezi Rm -f hello.txt. Je, unafikiri ni kinaenda kutokea hapa? Ni gone. Hawakuwa hata kuuliza mimi swali. Na kwa kweli, kama mimi orodha ya yaliyomo ya saraka yangu tena, ni gone. Hakuna tengua hapa. hello.txt ni gone, na sikuwa hata kuulizwa kama nilitaka kufuta. Nini kama mimi wanataka kujikwamua ya saraka mzima? Njia ya kufanya kwamba ni sawa na nakala. Kama unataka kufuta directory, huna tu unataka kufuta directory, unataka kufuta kila kitu ndani yake. Na hivyo kutumia r, kwa recursively kufuta directory. Basi hebu Rm r pset2. Mimi si kweli kazi juu ya pset2, hivyo siwezi kujikwamua directory huo. Mimi hit Enter. Je, Nataka kuondoa directory, pset2? Ndiyo, mimi kufanya. Na kama mimi orodha ya yaliyomo ya saraka yangu tena, ni gone. Sawa? Moja zaidi tofauti juu ya mada hii. Hivyo mimi itabidi wazi screen tena, kuweka kila kitu juu. Kugonga ls. Sasa, nataka kujikwamua ya pset3 saraka yangu, na mimi kwa kweli kujua nataka kujikwamua pset3 saraka yangu. Naweza recursively na kwa nguvu kuondoa pset3 saraka yangu. Sasa, wewe ni kwenda kuwa kweli makini wakati unatumia rm -rf. Kama wewe mpango zaidi, utakuwa ni kitu tu kufanya kweli haraka. Na kwa kweli, mimi kufanya hivyo wakati wote. Lakini inaweza kusababisha baadhi matokeo mabaya, kama ajali kufuta kitu kibaya. Hivyo mimi nataka wewe kuwa na ufahamu kwamba hii ni chaguo inapatikana na wewe, lakini matumizi yake haba, na matumizi yake kwa tahadhari. Najua kwa ukweli mimi si kazi juu ya tatizo langu kuweka 3 tena, hivyo mimi nina kwenda kujikwamua yote ya mafaili hizo. Na ninajua hawataki kuulizwa kila wakati kama nataka kufuta file, hivyo mimi nina kwenda kwa RM -rf pset3. Hawakuwa hata kuuliza mimi kama mimi alitaka kujikwamua ni. Mimi kugonga ls. pset3 ni gone. Hivyo hiyo ni tofauti wote kwamba wewe unaweza kutumia ili kujikwamua files na rm. Amri ya mwisho mstari amri hiyo ni kwenda pretty muhimu kwa ajili yenu ni mv, ambayo ni fupi kwa hoja. Hoja Je, kimsingi sawa na kubadili jina. Ni hatua ya faili kutoka eneo moja hadi mwingine, chanzo na marudio. Hebu angalia ambapo kwa kutumia hoja ya nguvu kuwa Handy katika dirisha wastaafu. Kwa hiyo mimi nina katika pset1 yangu directory, na nimekuwa niliona kitu amekwenda vibaya kidogo. Mimi alikuwa akifanya kazi kwenye tatizo langu tamaa, lakini mimi ajali jina lake ni greddy. Hivyo wakati mimi kujaribu na kukimbia kwa njia ya check50, ni kweli haina kazi. Mimi kufanya kuwa wanandoa wa chaguzi. Tunaweza kufanya kile ambacho tumefanya kabla, ambayo ni kufanya nakala ya faili. Mimi naweza nakala greddy.c kwa greedy.c, sawa? Hit Enter. Mimi naona kwamba mafaili yote mawili ni huko. Na kisha mimi naweza RM, kuondoa, greddy.c. Hiyo anapata kuondoa yake. Hivyo kwamba ingekuwa kazi, baada ya mimi kuthibitisha kuwa nataka kujikwamua ni. Na mimi kwa ufanisi na jina greddy.c kwa greedy.c. Mimi kunakiliwa yake, na kisha kuondolewa awali. Lakini hiyo ni mchakato hatua mbalimbali. Na hakika, kuna njia bora zaidi. Kwa kweli, kuna. Basi hebu kugonga Kudhibiti L, tu kuleta nyuma hii juu, na orodha ya yaliyomo ya saraka yangu tena. Hivyo hebu sema, loo, mimi alifanya makosa. Mimi kwa kweli kweli hakuwa wanataka kuwaita kwamba faili greddy.c. Katika moja akapiga swoop, siwezi aina hoja ya greedy.c kwa greddy.c. Hit Enter. Na sasa, sikuwa na na nakala na kuondoa hiyo, I just alikuwa na uwezo wa kubadili jina hilo. Moja ya kuacha ununuzi. Sasa, kuna mengi ya wengine msingi mstari amri yanayotoa kwamba unaweza kutumia kwa Linux mstari amri. Na tutaweza kujadili mengi wao katika siku zijazo katika CS50. Lakini kwa sasa, tu kupata miguu yako mvua na kufanya kazi na wastaafu huu mazingira, amri hizi tano lazima kupata wewe pretty mbali katika navigering kuzunguka na kufanya kazi na mafaili katika IDE yako au katika chochote Linux makao mfumo wa uendeshaji unatumia. Kama wewe ni curious na unataka kuangalia mbele kidogo katika baadhi amri ya mstari amri tutaweza kutumia katika siku zijazo, hapa ni orodha ya wanandoa miongoni mwa walio zaidi ya kawaida. Mimi nina Doug Lloyd. Hii ni CS50.