[MUZIKO Ludante] DOUG LLOYD: OK. Do ni parolu pri kiel uzi la Linuksa komandlinio. Nun, la CS50 IDE, aŭ en Fakte, eĉ CS50 aparaton, se vi estas familiara kun tiu, aŭ vi prenas malnova versio de CS50, estas nubo-bazita maŝino alvokantan Ubuntu, kiu estas unu el la multaj gustoj de la Linukso operaciumo. Linukso mastruma sistemo estas favoritaj de programistoj, ĉar ĝi estas nur pli malvarmeta, dekstra? Multaj modernaj Linuksaj distribuaĵoj havas grafikajn interfacojn de uzanto, kiun ni ankaŭ nomas GUI-oj, G-Aŭ-mi, al permesi facilan muso-bazita navigado, kiu vi estas probable familiara kun, se vi estas Windows aŭ Mac uzanto, movi ĉirkaŭ via muso, duobla-klakanta sur ikonoj, kaj tiel plu. Ankoraŭ tamen, kiel programisto, kaj kvankam la IDE enhavas la kapablon fari iun grafikan uzanto ŝtofo, alklakinte, kaj trenante kaj ĉiu tio, vi ankoraŭ esti uzanta vian terminalfenestro bela ofte. Kaj vi povas fari multajn el la samaj taskoj kiujn vi povas faru kun muso kun klavaraj komandoj. Kaj ni tuj paroli iomete pri kio kelkaj el tiuj komandoj estas nun. Nun, tiuj ordonoj povas esti uzata en ajna Unikso-bazita funkciada sistemo, kiu inkludas Linukso, sed ankaŭ inkludas Mac OS. Se vi malfermas Fina stacion sur via Mac, vi povas uzi ĉi tiujn ĝustajn komandojn. Vindozo ankaŭ havas Komando Prompt, sed kelkaj el la komandoj estas iomete malsama, tiel ĝi ne vere funkcias, ĉar Vindozo ne estas Unikso-bazita sistemo. Do ni rigardu iom de tiuj Linukso komandoj. La unua unu ke vi probable uzas sufiĉe multe estas ls. Tio minusklan L, sekvita per minuskla s, kiu estas mallonga por lerta. Kaj kion la liston komando faras estas ĝi donas vin legado de ĉiuj dosieroj kaj dosierujoj en via nuna dosierujo. Do vi povas vidi ĉion vi povas atingos de kie vi nun estas. Do mi malfermis tie la CS50 IDE. Kaj mi tuj zomi -in en dua por doni al vi pli proksiman rigardon, sed jen la larĝa bildo de kio la IDE aspektas. Maldekstre vi povas vidi ni havas dosiero arbo, kiun vi probable familiara kun, duobla musklako, kaj dosieroj kaj dosierujoj, kaj cxio, kion aĵoj. Do jen ankoraŭ tie en la CS50 aparaton. Ĉe la centro de la pinto estas kie vi estas tuj skribos vian kodon, fojo vi klakas sur dosiero. Kaj ĉe la fundo, ni havi fina fenestro, kio estas kie ni povas ekzekuti tiuj terminalo komandojn. Mi tuj zomi -in kaj gvidi super tie, nur montri al vi ke, fakte, mi povas alklaki tiujn dosierojn kaj dosierujojn. Do klare, kie mi nuntempe estas, mi havas du dosierujojn, nomita pset0 kaj pset1, kaj tri dosieroj, nomatan saluton, unu nomata hello.c, kaj oni vokis hello.txt. Do ni moviĝas malsupren al la fina stacio fenestro kaj akiri pli proksiman rigardon. Do ni nur parolis, denove, pri la fakto ke ni havas tri dosierojn kaj du dosierujojn en la aktuala dosierujo. Se mi tajpas ls, kiu denove estas la komando al listo la enhavon de la nuna dosierujo, kaj tiam mi batis Enter, rigardu kion mi vidas, saluton, hello.c, hello.txt, pset0 kaj pset1. pset0 kaj pset1 estas kolorigita blua, por indiki al vi, ke tiuj estas subdosierujoj ke ni povus navigi en. Kaj ni lernos iom bita pri kiel navigi en dosierujojn en minuto. Kaj ĉiu alia afero estas kolorita nigra, se ĝi estas teksta dosiero aux fontkodo fajliloj, kaj verda, kvazaŭ ĝi estas plenumebla dosiero. Do klare, ke signifas, ke mi povis kuri programon nomata, saluton. Tion la verdo ekzistas signifas. Sed esence, tajpante la ls komando permesis min vidi la aferojn kiu ekzistas en mia aktuala dosierujo, kiuj egalas kion ni vidas ĉi tie, en la grafika ekrano de la sama. La sekva komando vi instruos vin probable uzas tre iom Estas cd, minuskle ĉ, minuskla d, kiu estas mallonga por ŝanĝo dosierujo. Tio ebligas nin fari kion mi parolas sekundo antaŭ, kiuj estas navigi inter adreslibroj al la diro linio, kontraste al duobla musklako sur dosierujoj. Do se ni tajpas cd kaj tiam la nomo de dosierujo, ni povas enir tiu dosierujo. Kiel flanken, scias ke la nomo de la aktuala dosierujo estas ĉiam streketo kaj la nomo de la dosierujo unu nivelo supre kie ni estas nun, kiu estas la nomo de la dosierujo en kiun nia dosierujo estas, streketo dot-- aŭ en kiu nia dosierujo estas, estas dot, punkto. Kaj se vi estas ĉiam scivola pri la nomo de via dosierujo, vi povas tajpi PWD, kiu staras por ĉeestanta labordosierujon. Ni rigardu ĉiujn tiujn nun, per iri reen al la CS50 IDE. Do mi estas reen en mia laborspaca nun. Kaj Mi zomi -in denove sur la terminalo, do ni povas tuj iri ĉe movanta ĉirkaŭ ene la IDE. Do mi tuj listigi la enhavo de mia dosierujo denove, nur por reground ni kie ni estas. Do se mi tajpas ls, kiu estas por listo denove, Mi vidas ke mi povas alveni al pset0 kaj pset1. Tiuj estas la subdosierujoj Mi povas atingi de ĉi tie. Mi scias ke, ĉar la IDE donas mi havas indikon per coloreando ilin bluaj. Diru ke mi volas enir mia pset1 dosierujon, ĉar mi laboras en problemo starigis 1. Mi povas tajpi cd-- denove, mallongigo ŝanĝi directory spaco, pset1. Kaj se mi batis Enter, rimarki kio okazas. Ĝi ne aspektas kiel multe okazis. Sed se vi rigardas la prompto, ĝi nun diras al mi ke mi estas en ~ / laborspaca / pset1. Mi kapturna al la pset1 dosierujo kiu estis ene mia laborspaco. Kaj se mi tajpas ls, Mi vidas iun malsamajn aferojn ĉi tie, ĉu ne? Tio ne estas la sama listo, kiun mi vidis antaŭe. Mi kapturna al pset1. Kaj tial nun, kiam mi tajpas ls, Mi estas akiranta la kunteksto de kion mi povas vidi de ene la pset1 dosierujo. Nun, mi tuj tajpi kontrolo l, kiu nur demetas la ekrano. Kaj mi tuj listigi la enhavon de la dosierujo denove, nur do vi povas vidi. Mi nur volis fari tion al malbari kelkaj de la aĵoj ke vi vidis malsupre kaj malhelpi tiun iri tro ege malsupren el intervalo. Nun, mi diris antaŭe, ke, se mi volas por navigi al la kuranta dosierujo, Mi povas tajpi kd spaco punkto. Hit Enter. Ĝi ne faras nenion, ĉu ne? Mi ŝanĝanta subdosierujoj al la aktuala dosierujo. Vi ne ĉiam tuj trovi bezonon de ununura punkto, sed vi foje. Diru ke mi volas movi supren unu nivelon. Mi volas reiri al miaj laborspaca dosierujo. Mi ne povas tajpi kd laborspaca, estas nenia tia dosiero aŭ dosierujo. Kaj la kialo that-- se mi tajpas ls pli time-- estas ke ne ekzistas dosierujo nomita laborspaca interne de mia pset1 dosierujo. Mi tuj purigi mian kribri denove kun kontrolo l. Memoru kion mi diris pli frue, tamen, ke ni povas navigi reen kun streketo pentras. Tio estas la nomo de la patro dosierujo. Do se mi tajpas cd, spaco, punkto, streketo kaj tiam batis Enter, nun rigardu kio okazis. Mia komando prompto diras min ke mi estas reen en mia ~ / laborspaca dosierujo. Mi movis supren unu nivelon, danke al pentras, punkto. Nun, Lasita-a diri ke mi uzas la mastruma sistemo kiu estas Linuks-bazita, sed ne nepre diru al mi kie mi estas. Ĉi tiu sekvinbero al diri nin ke Mi estas en ~ / laborspaca nun, dekstren ĉe la prompto. Sed mi povus esti tute perdita en malordo de dosierujoj, kaj mi havas neniun ideon kie mi estas kaj neniun ideon kie mi volas reiri al. Ekzistas du aferojn kiujn mi povas fari. Unue, mi povas kalkuli kie mi estas, tajpante pwd. Tio estas mia nuna labordosierujon. Kaj se mi batis Enter, ĝi diras al mi precize kie mi estas. Nun / home / ubuntu estas la longa maniero diri, tildo, Kiu estas via hejma dosierujo. Sed ĝi diras min ke mi estas en hejmo / ubuntu / laborspaca, aŭ ~ / laborspaca. Mi tuj navigi al miaj pset1 dosierujo denove, kaj mi tuj listigi la enhavojn. Kaj mi vidas ke mi havas alian dosierujo ekzistas, nomata ekstraj. Do mi tuj kd en ekstraj kaj tiam mi tuj purigi mian ekranon. Do nun, mi estas sufiĉe malproksime en, dekstra? Kio se mi volas subteni al Workspace tuj? Ekzistas paro aĵoj kiujn mi povus fari. Mi povis tajpi cd, dot, punkto, oblikvo, streketo streketo movi supren unu nivelon kaj tiam alia nivelo. Sed tio estas ia ĝena. Do se mi iam volas reiri al nur mia hejmo dosierujo, tildo, Mi povas tajpi kd kun nenio post ĝi. Kd, Enter. Kaj nun, mi estas en supersigno. Kaj se mi volas ricevi por laborspaca, Mi povas simple tajpi kd laborspaca. Kaj tiel estas kiel vi laboras ŝanĝi dosierujojn ene de la CS50 IDE aŭ ajna Linukso mastruma sistemo ĉe la komandlinio. Bone. La sekva kiu povus veni en oportuna estas mkdir, kiu estas mallonga por fari dosierujon, se mi devas krei novan dosierujon. Se vi konas la GUI mastruma sistemo, vi eble dekstra klako. Kaj tiam, kiam la kunteksto menuo Popoj supren, elektu Nova Teko. Tio probable kiom vi jam faris antaŭe. Sed ni povas ankaŭ krei adreslibroj ĉe la komandlinio. Do ni estas reen en la IDE. Mi zomi-en sur la fina stacio kaj printi la enhavo de mia dosierujo denove, simple doni nin kadron de referenco. Diru ke, nun, mi havas finis laborante en problemo aro 0 kaj problemo starigis 1. Do mi volas krei novan dosierujon labori dum problemo starigis 2. Kiel mi faru tion? Nu, denove, mi povus dekstra klako en la lasita flanko kaj elekti Nova Dosierujo kaj krei pset2 dosierujo. Kiu laborus ankaŭ. Sed tiam mi ankaŭ faras ĝin ĉe la komandlinio bela rapide, tajpante mkdir, space-- mi tajpita en n, sed- spaco pset2. Se mi batis Enter kaj tiam mi printi la enhavo de mia dosierujo denove, Mi vidas ke, rigardu, nun Mi havas pset2 dosierujo. Kaj mi povas navigi en ke uzante cd kaj faros tutan laboron mi bezonas fari por pset2. Parenteze, mi nur Pufo tie vere rapide al la dosiero arbo. Kaj vi povas vidi ke, ankaŭ, en la grafika Dosiero Explorer, ni povas vidi ke la pset2 dosierujo ankaŭ estis kreitaj tie. Kaj mi povas navigi al ŝin, uzante la GUI tiel. La sekva tempo kaj tio estas verŝajne iranta veni en oportuna estas cp, kiu estas mallonga por ekzemplero. Kopiu, kontraste kun ĉiuj aliaj komandojn ni vidis antaŭe, prenas du argumentojn, fonto, la nomo de la dosiero kiun vi volas kopii, kaj celloko, kie vi deziras kopii la dosieron al. Ĝi estas sufiĉe facila por kopii dosiero, do ni faru tion. Do ni estas reen en la IDE. Mi tuj printi la enhavo de mia aktuala dosierujo kun ls. Nun, ni diru ke mi volas fari kopion de hello.txt. Denove, de la dosiero arbo forlasis, la grafika interfaco, Mi povis dekstra-alklaku hello.txt, fari kopion, alglui la kopion. Sed mi povas fari ĝin sufiĉe rapide ĉe la komandlinio tro. Diru mi volas kopii hello.txt al hi.txt. Mi povas Cp, spaco, hello.txt. Jen mia fontdosieron, do jen kial Mi tuj elektos tiu unua. Kaj tiam mi devas nomi la celdosiero, hi.txt. Mi batis Enter. Kaj se mi listigas la enhavon de miaj dosierujo denove, tie hi.txt. Mi faris kopion de ĝi. Kaj fakte, se mi irus en hi.txt, mi povis vidu ke ĝi estus ĝusta duobligi de ĉio ekzistis en mia hello.txt dosiero. Do jen kiel vi kopias dosiero. Sed kion se vi volas kopiu tuta dosierujo? Do dum sekundo, lasu rigardu ĉe kio estas en mia pset0 dosierujo. Se mi cd pset0 kaj listigi la enhavon, Mi havas dosierujon nomita, specimenaj, kaj grati dosiero, scratch.sb2. Do tio estas bona scii. Do ni purigi la ekrano, kaj mi tuj reiros al mia laborspaco dosierujo por dua. Diru ke, nun, mi volas fari kopion de mia pset0 dosierujo. Mi ne povas simple diri kmp pset0 pset3, ekzemple. Vi ricevas tiun strangan mesaĝon, Ellaso dosierujo pset0. Kial do vi havas tiun mesaĝon? Nu, Ĝi rezultas ke, kiam vi havas dosierujo kiu havas aliajn aferojn en ĝi, la Cp ordonon ne vere nepre scias kion fari kun ĝi. Ni devas eksplicite diru Linukso, la fina stacio, Mi volas ke vi kopiu la pset0 dosierujo kaj kopio ĉiu dosierujo kiu ekzistas interne de ĝi kaj ĉiu dosiero kiu Ekzistas ene de ĝi. Alivorte, mi bezonas vin por rekursie plonĝi malsupren en pset0 kaj fari kopion de ĉiu en oni. Se mi volas fari tion, kion mi povas fari estas cp-r, por rekursie, pset0 pset3. Hit Enter. Nun, se mi listigi la enhavo de mia dosierujo, Mi vidas ke estas la pset3 dosierujo kiu mi povas labori kun. Kaj se mi cd en pset3 nun kaj tiam listigi la enhavojn, rigardu, ekzistas specimeno kaj scratch.sb2 denove. Do jen bela malvarmeta. Do jen kiel vi povas kopii tutan dosierujo kaj ne nur ununuran dosieron. Do se vi volas kopii dosierujo, nur memoras uzi la -r flago kiam vi estas laborante kun la Cp ordonon. Bone. Do mi kopiis dosiero, sed Mi jam faris erare. Kaj nun, mi volas forigi gxin. Kiel mi faru tion? Denove, se vi konas kun GUI interfaco, vi povas dekstre-klaki kaj simple elektu Forigi. Kaj sendos ĝin al la rubo aŭ la Reutiliga Bin. Sed ĉe la komandlinio, ni povas simple tajpi rm, por forpreni, kaj tiam la nomo de la file ni volas forigi. Nun, rm estas tre zorgema. Ĝi faras multajn duoblan-kontrolanta, certigi ke vi fakte volas forviŝi la dosieron. Ĝi ne volas fari neniun eraron, ĉar ne Reutiliga Bin tie. Iam ni forigi dosieron, ĝi estas irita. Kaj estas vere neniu vojo por rekuperi ŝin. Do ni devas esti bela zorgema, kaj tiel rm tuj estos vere prizorgis por ni. Do ni revenu al la IDE kaj seniĝi de tiu hi.txt dosieron ke mi kreita antaŭ minuto kun kopion. Do ni estas en la IDE. Mi listigas la enhavon de mia dosierujo denove, simple doni nin iuj kunteksto. Mi volas diri, vi povas vidi ke estas hi.txt, kiun mi kreis nelonge. Nun, mi volas forigi gxin. Kiel mi faras ĝin? Denove, nur RM. Do mi povas tajpi rm hi.txt kaj batis Enter. Kaj estas rm estaĵo vere prizorgis por ni kaj certigante ni efektive volas forigi tiun bildon. Ĉu vi vere volas forigi regula malplena dosiero hi.txt? Tio estas nur kiel mastruma sistemo, kiel Windows aŭ Mac, ke vi povus esti familiara kun krevanta supre ke skatolo diras vi estas vere certe volas fari tion. Mi estas sufiĉe certa ke mi volas tion, do mi tuj tajpi, yes-- aŭ mi povus ankaŭ simple tajpu y-- kaj batis Enter. Kaj se mi listigas la enhavon de miaj dosierujo denove, hi.txt malaperis. Ne malbone, ĉu ne? Ni gazetaro Kontrolo L, nur forigi ĉiuj ĉi aferoj kaj porti nin reen ĉe la supro de la ekrano. Nun, tie estas vojo fuŝkontakto rm, do ke ĝi ne petas al ni tiun demandon. Ni vere scias ni volas seniĝi de tiu dosiero, kaj ni ne eĉ volas esti demandis la demandon. Kiel ni faru tion? Nu, ni povas specifi ekstraj flago, Samkiel ni faris kun kmp kie ni povis aldoni la -r flago, por rekursie kopii en dosierujon. Ekzistas alia flago por rm, kiu estas -f, kio estas devigi rm fari precize kion ni rakontis ĝin fari. Do diru ke, nun, mi volas forigi mian hello.txt dosiero. Mi ne volas ke unu aŭ. Kion mi povas fari? Nu, mi povas rm -f hello.txt. Kion vi pensas estas okazos tie? Ĝi foriris. Eĉ ne petu min la demando. Kaj fakte, se mi listigi la enhavon de miaj dosierujo denove, ĝi estas irita. Mankas malfaro tie. hello.txt malaperis, kaj mi ne eĉ demandis ĉu mi volis forviŝi ĝin. Kio se mi volas forigi de tuta dosierujo? La vojo vi fari tion estas tre simila al kopii. Se vi volas forviŝi dosierujo, vi ne nur volas forviŝi la dosierujon, vi volas forviŝi ĉio ene de ĝi. Kaj tial vi uzas -r, al rekursie forviŝi dosierujon. Do ni rm -r pset2. Mi ne deĵoras en pset2, do mi povas liveri de tiu dosierujo. Mi batis Enter. Ĉu mi volas forigi la dosierujon, pset2? Jes mi faras. Kaj se mi listigi la enhavojn de mia dosierujo denove, ĝi estas irita. Bone? Unu pli variado pri la temo. Do mi devos liberigi la ekrano denove, meti ĉion je la supro. Hit ls. Nun, mi volas forigi de miaj pset3 dosierujon, kaj mi vere konas mi volas forigi mian pset3 dosierujo. Mi povas rekursie kaj perforte forigi mian pset3 dosierujo. Nun, vi tuj estos vere zorgema kiam vi uzas rm -rf. Kiel vi plani pli, ĝi estos io vi nur faru vere rapide. Kaj fakte, mi faras ĝin la tutan tempon. Sed ĝi povas konduki al iu katastrofaj konsekvencoj, se vi hazarde forviŝi la malĝusta afero. Do mi volas ke vi konsciu ke tiu estas eblo havebla al vi, sed uzi ĝin ŝpare, kaj uzi ĝin kun singardeco. Mi scias por fakto mi ne laboras sur mia problemo aro 3 plu, do mi tuj forigi ĉiujn tiujn dosierojn. Kaj mi scias ke mi ne volas esti demandita ĉiun solan fojon se mi volas forigi dosiero, do mi tuj rm -rf pset3. Eĉ ne petu min se mi volis forigi gxin. Mi trafis ls. pset3 malaperis. Do jen ĉio la variadoj kiujn vi povas uzi por forigi dosierojn per rm. La lasta komandlinio komando tio tuj bela utila por vi estas mv, kio estas mallongigo de movo. Move estas esence ekvivalenta al renomi. Ĝi movas dosiero de unu loko al alia, la fonto al la celloko. Ni vidu kie uzante movon heroajxoj esti utila ĉe la fina fenestro. Do mi estas en mia pset1 dosierujo, kaj mi rimarkis iu iris iom malĝusta. Mi laboris sur mia avidaj problemo, sed mi hazarde nomis ĝin greddy. Do kiam mi provas kaj ruli ĝin per check50, ĝi ne vere funkcias. Mi ja havas kelkajn eblojn. Ni povus fari kion ni faris antaŭe, kiu estas por fari kopion de la dosiero. Mi povus kopii greddy.c al greedy.c, dekstra? Hit Enter. Mi vidas ke ambaux dosieroj estas tie. Kaj tiam mi povus RM, forigi, greddy.c. Ke malfaras de ĝi. Por ke ĝi funkcius, post mi konfirmas ke mi volas forigi gxin. Kaj mi efektive havas renomita greddy.c al greedy.c. Mi kopiis ĝin kaj tiam forigis la originalaj. Sed tio estas multi-paŝa procezo. Kaj certe, estas pli bona vojo. Fakte, ekzistas. Do ni batis Kontrolo L, nur por alporti ĉi asist, kaj listigi la enhavon de miaj dosierujo denove. Do diru, ho, mi eraris. Mi fakte vere volas voki ke dosiero greddy.c. En unu falis plonĝo, mi povas tajpi movi greedy.c al greddy.c. Hit Enter. Kaj nun, mi ne havis kopii kaj forigi ĝin, Mi nur povis alinomi ĝin. Unu-haltiga butikumado. Nun, ekzistas multe de aliaj bazaj komandlinio utilecoj kiun vi povas uzi kun la Linuksa komandlinio. Kaj ni estos diskutanta multe el ili en la estonteco en CS50. Sed nuntempe, nur nun viaj piedoj trinkigu laborante kun ĉi tiu stacio medion, tiuj kvin komandoj devus akiri vin bela malproksima en navigi ĉirkaŭ kaj laborante kun dosieroj en via IDE aŭ en ajn Linukso-bazita mastruma sistemo vi uzas. Se vi estas scivola kaj vi volas rigardas antaŭen iomete ĉe iuj de la komandlinio komandojn ni uzos en la estonteco, Jen listo de kelkaj de la pli komunaj. Mi Doug Lloyd. Jen CS50.