[Гуляе музыка] Даг Lloyd: ОК. Такім чынам, давайце пагаворым пра тое, як выкарыстоўваць камандны радок Linux. Цяпер, CS50 IDE, або ў То ,, нават CS50 прыбор, калі вы знаёмыя з тым, ці вы прымаеце старую версію CS50, воблака на аснове машыны які працуе ў Ubuntu, які з'яўляецца адным з многіх густаў аперацыйнай сістэмы Linux. Аперацыйная сістэма Linux з'яўляецца спрыяе праграмістаў, таму што гэта проста кулер, праўда? Многія сучасныя дыстрыбутывы Linux ёсць графічныя карыстацкія інтэрфейсы, якія мы таксама называем ГПІ, G-U-I, каб дазваляюць лёгкую навігацыю мышы аснове, якія вы, верагодна, знаёмыя, калі вы карыстальнік Windows, Mac або, рухацца вакол мышы, двойчы пстрыкнуўшы на абразах, і гэтак далей. Тым не менш, хоць, як праграміст, і нават нягледзячы на ​​тое, IDE змяшчае здольнасць да зрабіць некаторыя графічнага карыстацкага матэрыял, пстрычка, і перацягвання, і ўсё, што Вы па-ранейшаму выкарыстоўваць ваш акно тэрмінала даволі часта. І вы можаце зрабіць многія з ж задачы, якія можна зрабіць з дапамогай мышы з клавіятуры каманд. І мы збіраемся пагаварыць трохі аб тым, што некаторыя з гэтых каманд зараз знаходзіцеся. Зараз, гэтыя каманды могуць быць выкарыстаны на любы Unix-падобнай аперацыйнай сістэма, якая ўключае ў сябе Linux, але таксама ўключае ў сябе Mac OS. Калі вы адкрыеце тэрмінал на вашым кампутары, Вы можаце выкарыстоўваць гэтыя дакладныя каманды. Вокны таксама мае каманду Падкажыце, але некаторыя з каманд трохі адрозніваюцца, так гэта на самай справе не працуе, паколькі не з'яўляецца UNIX-сістэма на аснове. Такім чынам, давайце зірнем на некаторыя з гэтых каманд Linux. Першае, што вы будзеце верагодна, выкарыстоўваць даволі шмат гэта Ls. Гэта малыя л, які суправаджаецца маленькая з, што з'яўляецца абрэвіятурай ад спісу. І тое, што каманда спіс робіць гэта дае вам счытвання ўсіх файлаў і тэчкі ў бягучай дырэкторыі. Такім чынам, вы можаце бачыць усё, што вы можаце дабрацца да, дзе вы ў цяперашні час. Так што я адкрыў тут CS50 IDE. І я збіраюся, каб павялічыць у ў другі дасць вам бліжэй, але вось шырокая карціна ад таго, што IDE выглядае. Злева вы можаце ўбачыць у нас ёсць файл дрэва, якое вы, верагодна, знаёмыя з, двайны пстрычка, і файлы і тэчкі, і ўсё такое. Так што ўсё яшчэ там у CS50 прыбора. У цэнтры ў верхняй, дзе вы будзе пісаць код, адзін раз Вы націсніце на файле. А ўнізе, мы ёсць акно тэрмінала, які з'яўляецца, дзе мы можам выканаць гэтыя тэрмінальныя каманды. Я збіраюся, каб павялічыць у і над галавой тут, проста каб паказаць вам, што, на самай справе, я магу націсніце на гэтыя файлы і тэчкі. Такім чынам, ясна, дзе цяперашні час я, у мяне ёсць дзве тэчкі, якія называюцца pset0 і pset1, і тры файла, адзін называецца прывітанне, адна называецца hello.c, і адна называецца hello.txt. Такім чынам, давайце рухацца ўніз да тэрмінала вокны і атрымаць больш блізкі погляд. Такім чынам, мы толькі што казалі, зноў жа, аб Тое, што мы маем тры файла і два тэчак у бягучай дырэкторыі. Калі я друкую Ls, які зноў гэта каманда, спіс змесціва току Каталог, а затым я ударыў Enter, паглядзіце, што я бачу, прывітанне, hello.c, hello.txt, pset0 і pset1. pset0 і pset1 з'яўляюцца сіняга колеру, каб паказаць, вам, што тыя каталогі што мы маглі б арыентавацца ў. І мы даведаемся, трохі Крыху аб тым, як арыентавацца у каталогах у хвіліну. І кожны рэч чорнага колеру, калі гэта тэкставы файл або зыходны код падаць, і зялёны, калі гэта выкананы файл. Такім чынам, ясна, што азначае, што я можа запусціць праграму пад назвай, прывітанне. Гэта тое, што зялёная азначае, што. Але ў прынцыпе, увёўшы Каманда Ls дазволіла мне глядзець на ўсё, што існуе у маім бягучым каталогу, які адпавядае таму, што мы бачым тут, у Графічны дысплей тое ж самае. Наступная каманда вы будзеце верагодна, выкарыстоўваць трохі з'яўляецца CD, маленькая с, у ніжнім рэгістры г, які з'яўляецца скарачэннем для каталога зменаў. Гэта дазваляе нам рабіць тое, што я быў казаць пра другую таму, што з'яўляецца для перамяшчэння паміж каталогі ў камандзе Лінія, у адрозненне ад двайны пстрычка па тэчках. Так што, калі мы набяром кампакт-дыск і затым імя каталога, мы можам атрымаць у гэтым каталогу. Як і ў бок, ведаюць, што назва з бягучага каталога заўсёды кропка, і назва каталога на адзін узровень вышэй, дзе мы зараз знаходзімся, што гэтае імя тэчкі ў якія наша тэчка, кропка, dot-- або ў якіх наша татка ёсць, кропка, кропка. І калі вы калі-небудзь ведаць, назва вашага каталога, Вы можаце ўвесці PWD, які стаіць для дадзенага працоўнага каталога. Мы будзем глядзець на ўсе гэтыя цяпер, вяртаючыся да CS50 IDE. Так што я зноў у маёй працоўнай гэтага часу. І я буду маштабу ў раз на Тэрмінал, таму мы можам зірнуць пры перамяшчэнні вакол у IDE. Так што я збіраюся пералічыць Змест маім каталогу зноў, проста перезатачиваемые нам у дзе мы знаходзімся. Так што, калі я друкую Ls, якія для спісу зноў, Я бачу, што я магу атрымаць, каб pset0 і pset1. Тыя каталогі Я магу дабрацца да адсюль. Я ведаю, што, таму што IDE дае мне ключ ад афарбоўкі іх сіні. Давайце выкажам здагадку, што я хачу, каб трапіць у маім каталогу pset1, таму што я працую па праблеме ўсталяваць 1. Я магу надрукаваць cd-- зноў, кароткі для змяніць directory-- прастору, pset1. І калі я ударыў Enter, заўважыць, што адбываецца. Гэта не выглядае як шмат адбылося. Але калі вы паглядзіце на хуткае, цяпер кажа мне, што я знаходжуся ў ~ / рабочай / pset1. Я выйшаў у pset1 Тэчка, быў у маім працоўным прасторы. І калі я набіраю Ls, я бачу некаторыя розныя рэчы тут, праўда? Гэта не тое ж самае Спіс, які я бачыў. Я выйшаў у pset1. І вось зараз, калі я друкую Ls, я атрымліваць кантэксце таго, што я магу см з папкі pset1. Зараз, я збіраюся ўвесці кантроль л, што проста ачышчае экран. І я збіраюся пералічыць Змесціва каталога зноў жа, так што вы можаце бачыць. Я проста хацеў зрабіць што ачысціць некаторыя рэчы што вы бачылі ўнізе і каб прадухіліць гэта зайсці занадта далёка ўніз з дыяпазону. Зараз, я сказаў раней, што, калі я хачу перайсці да бягучай дырэкторыі, Я магу надрукаваць кд прасторы кропка. Націсніце Enter. Гэта нічога не рабіць, ці не так? Я мяняю каталогі у бягучым каталогу. Вы не заўсёды будзе знайсці неабходнасць для адной кропкі, але вы будзеце час ад часу. Давайце выкажам здагадку, што я хачу, каб падняцца на адзін узровень. Я хачу, каб вярнуцца да Мой сайт каталога. Я не магу ўвесці кд працоўная прастора, няма такога файла ці каталога. І прычына that-- калі я тыпу Ls яшчэ адзін time-- з'яўляецца тое, што няма дырэкторыя Працоўная прастора ўнутры маёй дырэкторыі pset1. Я збіраюся ачысціць экран зноў кіравання л. Памятаеце, што я сказаў, раней, аднак, што мы можа вярнуцца назад з пункту, кропка. Гэтае імя бацькоўскага каталога. Так што, калі я друкую CD, прастору, кропка, кропка, а затым ударыў Enter, Цяпер паглядзім, што адбылося. Мой каманднага радка кажа мне, што я таму ў маім каталогу ~ / працоўнай. Я пераехаў на адзін узровень уверх, дзякуючы кропка, кропка. Цяпер, давайце скажам, што я выкарыстоўваю Аперацыйная сістэма Linux, якая на аснове але не абавязкова скажы мне, дзе я знаходжуся. Гэты адбываецца, каб паведаміць нам, што Я ў ~ / рабочай прама цяпер, Права на радку. Але я мог быць цалкам страцілі ў беспарадак тэчак, і я паняцця не маю, дзе я і Не ведаю, дзе я хачу, каб вярнуцца да. Там дзве рэчы, якія я магу зрабіць. Перш за ўсё, я магу зразумець , Дзе я, набраўшы PWD. Гэта мой сапраўдны працоўны каталог. І калі я ударыў яго, увядзіце кажа мне дакладна, дзе я знаходжуся. Цяпер / дома / Ubuntu гэта доўгі шлях кажучы, тыльды, што ваш хатні каталог. Але ён кажа мне, што я знаходжуся ў Галоўная / Ubuntu / працоўная прастора, ці ~ / працоўная прастора. Я збіраюся перайсці на мой каталог pset1 зноў, і я збіраюся пералічыць змесціва. І я бачу, што ў мяне ёсць яшчэ адзін Каталог існуе, называецца статыстаў. Так што я збіраюся кд ў статыстаў, і тады я іду, каб ачысціць свой экран. Так што цяпер, я даволі далёка ў, правільна? Што рабіць, калі я хачу, каб падтрымаць неадкладна працоўнай прасторы? Там ёсць пара рэчаў, якія я мог бы зрабіць. Я мог бы ўвесці CD, кропка, кропка, кропка слэш ,, кропка, каб перайсці на адзін узровень уверх, а затым іншы ўзровень. Але гэта выгляд раздражняе. Так што, калі я калі-небудзь хочаце, каб вярнуцца да проста мой хатні каталог, тыльда, Я магу надрукаваць кампакт-дыск з нічога пасля яго. Cd, Enter. А цяпер, я знаходжуся ў тыльды. І калі я хачу, каб дабрацца да працоўнай вобласці Я магу проста набярыце кд працоўная прастора. І гэта, як вы працуеце Змена каталога у CS50 IDE або любы Linux Аперацыйная сістэма ў камандным радку. Добра. Наступны, што можа спатрэбіцца ў MkDir, што з'яўляецца абрэвіятурай зрабіць каталог, калі мне трэба, каб стварыць новую тэчку. Калі вы знаёмыя з аперацыйная сістэма графічны інтэрфейс, Вы маглі б пстрыкніце правай кнопкай мышы. А потым, калі кантэкстнае меню ўсплывае, абярыце New Folder. Гэта, верагодна, як Вы зрабілі гэта раней. Але мы таксама можам стварыць каталогі ў камандным радку. Так мы вярнуліся ў IDE. Я маштабу ў на тэрмінале і спіс змесціва каталога маёй зноў жа, каб даць нам кадр з ссылкі. Давайце выкажам здагадку, што, у цяперашні час, я маю скончыў працу па праблеме ўсталяваць 0 і праблема ўсталяваць 1. Таму я хачу, каб стварыць новы каталог працаваць на для задачы набор 2. Як мне гэта зрабіць? Ну, зноў жа, я мог пстрыкніце правай кнопкай мышы ў левы бок і выбраць новую тэчку і стварыць каталог pset2. Гэта было працаваць таксама. Але тады я гэта зрабіць на каманднага радка даволі хутка, , Набраўшы MkDir, space-- I набралі ў рускай, но-- прасторы pset2. Калі я ўдарыў Увядзіце, а затым я пералічу змесціва майго каталога зноў, Я бачу, што, паглядзіце, у цяперашні час У мяне ёсць тэчка pset2. І я магу перамяшчацца ў што з дапамогай кампакт-дыска і рабіць ўся праца Мне трэба зрабіць для pset2. Дарэчы, я проста трашчаць тут вельмі хутка ў файлавым дрэве. І вы можаце бачыць, што, акрамя таго, у графічны File Explorer, мы можам бачыць, што каталог pset2 Таксама было створана ёсць. І я магу перайсці да яе, з дапамогай графічнага інтэрфейсу, а таксама. У наступны раз, і гэта верагодна, спатрэбіцца з'яўляецца ф, які з'яўляецца скарачэннем для капіявання. Скапіруйце, у адрозненне ад усіх іншых каманды, якія мы бачылі раней, прымае два аргументу, крыніца, Імя файла, які вы хочаце скапіяваць, і прызначэння, дзе вам хачу, каб скапіяваць файл на. Гэта даволі лёгка скапіяваць файл, так што давайце рабіць гэта. Так мы вярнуліся ў IDE. Я збіраюся пералічыць змесціва маёй бягучай дырэкторыі з Ls. Цяпер, давайце скажам, што я хачу, каб зрабіць копію hello.txt. Зноў жа, з файлавага дрэва на налева, графічны інтэрфейс, Я мог пстрыкніце правай кнопкай мышы на hello.txt, зрабіць копію, ўставіць копію. Але я магу зрабіць гэта даволі хутка у камандным радку занадта. Скажам, я хачу, каб скапіяваць hello.txt ў hi.txt. Я магу CP, прастору, hello.txt. Гэта мой зыходны файл, так што гэта, чаму Я збіраюся выбраць, што адзін у першую чаргу. А потым мне трэба назваць файл прызначэння, hi.txt. Я ўдарыў Enter. І калі я спіс змесціва майго Каталог раз, там hi.txt. Я зрабіў копію. І на самай справе, калі б я пайшоў у hi.txt, я мог бачыць, што гэта было б дакладнае дубляваць усё, што існавала ў маёй hello.txt файла. Дык вось, як вы капіруеце файл. Але што, калі вы хочаце, каб скапіяваць ўвесь каталог? Такім чынам, для другой, давайце зірнем на тое, што ў маім каталогу pset0. Калі я кд pset0 і спіс змесціва, У мяне ёсць каталог з імем, ўзор, і драпіна файл, scratch.sb2. Так што гэта добра ведаць. Такім чынам, давайце ачысціць экран, і я збіраюся вярнуцца Мой сайт каталога на секунду. Давайце выкажам здагадку, што, у цяперашні час, я хачу, каб зрабіць копію майго каталога pset0. Я не магу проста сказаць пар pset0 pset3, напрыклад. Вы атрымаеце гэты дзіўны паведамленне, апускаючы каталогаў pset0. Чаму вы атрымаеце гэта паведамленне? Ну, атрымліваецца, што, калі ў вас ёсць каталог, які ёсць і іншыя рэчы ўнутры яго, каманда пар сапраўды ня абавязкова ведаць, што з ім рабіць. Мы павінны дакладна расказаць Linux, тэрмінал, Я хачу, каб вы скапіяваць Каталог pset0 і копія кожны тэчка, існуе ўнутры з яго, і кожны файл, які існуе ўнутры яго. Іншымі словамі, я хачу, каб ты рэкурсіўна ныраць у pset0 і зрабіць копію ўсяго там. Калі я хачу, каб рабіць тое, што я магу зрабіць, з'яўляецца ф-т, для рэкурсіўнага, pset0 pset3. Націсніце Enter. Цяпер, калі я пералічу змесціва майго каталога, Я бачу, што гэта pset3 каталог, які я магу працаваць з. І калі я кампакт-дыск у pset3 цяпер і затым пералічыць змесціва, паглядзіце, ёсць узор і scratch.sb2 зноў. Так што гэта даволі халаднавата. Дык вось, як вы можаце скапіяваць ўвесь каталог і не толькі адзін файл. Так што, калі вы хочаце, каб скапіяваць Каталог, проста памятайце, выкарыстоўваць сцяг -r, калі вы працаваць з камандай пар. Добра. Так што я скапіяваў файл, але Я зрабіў гэта з памылкі. А цяпер, я хачу, каб пазбавіцца ад яго. Як мне гэта зрабіць? Зноў жа, калі вы знаёмыя з графічным інтэрфейсам, Вы можаце пстрыкнуць правай кнопкай мышы і проста выбраць Выдаліць. І гэта будзе адправіць яго ў смецце або кошыка. Але ў камандным радку, мы можаце проста ўвесці RM, для выдаліць, і затым імя з падаць мы хочам пазбавіцца. Цяпер, RM вельмі асцярожныя. Гэта робіць шмат пераправеркі, каб пераканацца, што вы на самай справе Выдаліць файл. Яна не хоча, каб рабіць якія-небудзь памылкі, таму што няма кошыка тут. Пасля таго, як мы выдаляем файл, ён сышоў. І на самай справе няма спосабу яго аднавіць. Такім чынам, мы павінны быць вельмі асцярожныя, так і ГТ будзе вельмі асцярожным для нас. Такім чынам, давайце вернемся да IDE і пазбавіцца ад гэтага hi.txt файла што я стварыў хвіліну назад з копіяй. Такім чынам, мы знаходзімся ў асяроддзі IDE. І я пералічыць змесціва маім каталогу зноў жа, каб даць нам некаторы кантэкст. Я маю на ўвазе, вы можаце бачыць, што ёсць hi.txt, які я стварыў некаторы час таму. Цяпер я хачу, каб пазбавіцца ад яго. Як гэта зрабіць? Зноў жа, ГТ. Так што я магу ўвесці ГТ hi.txt і націсніце Увод. І ёсць RM істота вельмі асцярожныя для нас і пераканаўшыся, што мы на самай справе Выдаліць гэты файл. Вы сапраўды жадаеце выдаліць Стабільны пусты файл hi.txt? Вось толькі, як дзеючых Сістэма, як Windows, Mac або, што вы маглі б быць знаёмыя з выскокваюць што скрынка кажа вы сапраўды ўпэўненыя, што хочаце гэта зрабіць. Я ўпэўнены, што я хачу, каб гэта, так што я збіраюся ўвесці, yes-- ці я мог таксама проста увядзіце y-- і націсніце Увод. І калі я спіс змесціва майго Каталог раз, hi.txt няма. Не дрэнна, ці не так? Давайце націсніце кіравання L, толькі каб пазбавіцца ад усяго гэтага матэрыялу і вярнуць нас на верхняя частка экрана. Зараз ёсць спосаб кароткае замыканне RM, так што ён не задаць нам гэтае пытанне. Мы ведаем, што мы хочам каб пазбавіцца ад гэтага файла, і мы нават не хочам быць зададзены пытанне. Як мы гэта робім? Ну, мы можам паказаць дадатковая сцяг, як мы зрабіў з ф, дзе мы можна дадаць сцяг -r, рэкурсіўна капіяваць у тэчку. Там яшчэ адзін сцяг для РМ, якая -f, што прымусіць RM рабіць менавіта тое, што мы гаворым гэта зрабіць. Такім чынам, давайце казаць, што цяпер, я хачу, каб пазбавіцца ад майго hello.txt файла. Я не хачу, што адзін небудзь. Што я магу зрабіць? Ну, я магу ГТ -f hello.txt. Што вы думаеце тут павінна адбыцца? Ён знік. Я нават не прашу мяне пытанні. І на самай справе, калі я пералічваю змесціва маёй дырэкторыі зноў, ён сышоў. Там няма адмяніць тут. hello.txt сышоў, і я не быў нават спытаў, калі я хацеў, каб выдаліць яго. Што рабіць, калі я хачу, каб пазбавіцца з усяго каталога? Як вы зрабіць гэта вельмі падобны на капіраванне. Калі вы хочаце выдаліць Каталог, вы не проста хочаце выдаліць каталог, вы хочаце выдаліць усе ўнутры яго. І таму можна выкарыстоўваць -r, каб рэкурсіўна выдаліць каталог. Такім чынам, давайце ГТ -r pset2. Я на самой справе не працуе на pset2, так што я магу пазбавіцца ад гэтага каталога. Я ўдарыў Enter. Хачу я, каб выдаліць каталог, pset2? Так. І калі я пералічваю змесціва мой каталог зноў, ён сышоў. Усё ў парадку? Яшчэ адна варыяцыя на гэтую тэму. Так што я буду ачысціць экран зноў, паставіць усё на самым версе. Хіт Ls. Цяпер я хачу, каб пазбавіцца маёй дырэкторыі pset3, і я ведаю, я хачу, каб пазбавіцца ад майго каталога pset3. Я магу рэкурсіўна і гвалтоўна выдаліць мой каталог pset3. Зараз, вы збіраецеся быць сапраўды асцярожныя, калі вы карыстаецеся ГТ -rf. Як вы программируете больш, што гэта будзе тое, што вы проста зрабіць вельмі хутка. І на самай справе, я раблю гэта ўвесь час. Але гэта можа прывесці да некаторых катастрафічныя наступствы, Калі вы выпадкова выдаліць няправільную рэч. Таму я хачу, каб вы ведалі, што гэта варыянт даступныя для вас, але выкарыстаць яго умерана, і выкарыстоўваць яго з асцярогай. Я ведаю тое, што я не працуе на маёй праблеме набор 3 больш, так што я збіраецца пазбавіцца ад усіх гэтых файлаў. І я ведаю, я не хачу, каб спытаўся кожны раз, калі я хачу, каб выдаліць файл, так што я збіраюся ГТ -rf pset3. Нават не пытайцеся мяне, калі я хацеў пазбавіцца ад яго. Я ўдарыў Ls. pset3 няма. Дык вось усе змены, якія вы можна выкарыстоўваць, каб пазбавіцца ад файлаў з РМ. Апошняя каманда каманднага радка, што гэта збіраецца вельмі карысна для вас гэта М.В., які з'яўляецца скарачэннем ад пераезду. Перамясціць у асноўным эквівалентная перайменаваць. Гэта перамяшчае файл з аднаго месца ў іншая крыніца ў пункт прызначэння. Давайце паглядзім, дзе выкарыстанне крок можа быць зручна ў акне тэрмінала. Так што я ў маім pset1 Каталог, і я заўважыў, нешта пайшло крыху няправільна. Я працаваў на маім прагным праблемы, але я выпадкова назваў яго GReddy. Так што, калі я спрабую і запусціць яго праз check50, гэта сапраўды не працуе. У мяне ёсць некалькі варыянтаў. Мы маглі б зрабіць тое, што мы рабілі раней, што зрабіць копію файла. Я мог скапіяваць greddy.c каб greedy.c, праўда? Націсніце Enter. Я бачу, што абодва файла ёсць. І тады я мог RM, выдаліць, greddy.c. Гэта пазбаўляецца ад яго. Так, што будзе працаваць, пасля таго як я пацвердзіць што я хачу, каб пазбавіцца ад яго. І я фактычна ёсць перайменаваны ў greddy.c greedy.c. Я скапіяваў яго, а затым выдаліць арыгінал. Але гэта шматэтапны працэс. І вядома, ёсць лепшы шлях. На самай справе, ёсць. Такім чынам, давайце ўдарыў кіравання L, проста прынесці гэта назад уверх, і спіс змесціва маёй дырэкторыі зноў. Такім чынам, давайце казаць, ах, я зрабіў памылку. Я на самой справе сапраўды хочуць патэлефанаваць гэты файл greddy.c. У адным махам, я магу тыпу рухацца greedy.c ў greddy.c. Націсніце Enter. А цяпер, у мяне не было капіяваць і выдаляць яго, Я проста быў у стане, каб перайменаваць яго. Адзін-стоп пакупкі. Зараз, ёсць шмат іншых Асноўныя ўтыліты каманднага радка што вы можаце выкарыстоўваць з каманднага радка Linux. І мы будзем абмяркоўваць шмат з іх у будучыні ў CS50. Але цяпер, проста атрымліваць вашыя ногі мокрыя з працы з гэтым тэрміналам навакольнага асяроддзя, гэтыя пяць каманд павінна вам даволі далёка ў навігацыі вакол і працы з файламі ў вашай IDE або ў любы Linux-аснове Аперацыйная сістэма вы выкарыстоўваеце. Калі вам цікава, і вы хочаце, каб глядзець наперад трохі на некаторыя каманд каманднага радка мы будзем выкарыстоўваць у будучыні, вось спіс з некалькіх з найбольш распаўсюджаных з іх. Я Дуг Лойд. Гэта CS50.