[Играет музыка] ДАГ 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.