>> [Грає музика]
>> ДАГ 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.