Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
intro:cmd [2022/08/10 23:03] root |
intro:cmd [2023/01/10 11:21] (текущий) root |
Консоль (текстовая), терминал (текстовый), командная строка, все это названия одного и того-же инструмента. Его история уходит корнями в те времена, когда мониторов еще не было и весь вывод компьютера попадал на принтер. Тем не менее даже сейчас этот инструмент остается востребованным во многих задачах. | Консоль (текстовая), терминал (текстовый), командная строка, все это названия одного и того-же инструмента. Его история уходит корнями в те времена, когда мониторов еще не было и весь вывод компьютера попадал на принтер. Тем не менее даже сейчас этот инструмент остается востребованным во многих задачах. |
| |
Взаимодействие пользователя с консолью происходит по следующей схеме: пользователь набирает текстовую команду, нажимает Enter и ожидает ее завершения. Программа, в свою очередь, выводит результаты работы в виде текста. Все команды делятся на две группы: команды оболочки (cmd.exe, bash, shell), и команды на запуск программ. С точки зрения пользователя они не различаются. Для того, чтобы определять режим работы программ, используется так называемые аргументы командной строки. Например при открытии файла в проводнике на самом деле запускается ассоциированная программа, а первым аргументом ей передается имя открываемого файла. | Взаимодействие пользователя с консолью происходит по следующей схеме: пользователь набирает текстовую команду, нажимает Enter и ожидает ее завершения. Программа, в свою очередь, выводит результаты работы в виде текста. Все команды делятся на две группы: команды оболочки (''cmd.exe'', ''bash'', ''shell''), и команды на запуск программ. С точки зрения пользователя они не различаются. Для того, чтобы определять режим работы программ, используется так называемые аргументы командной строки. Например при открытии файла в проводнике на самом деле запускается ассоциированная программа, а первым аргументом ей передается имя открываемого файла. |
| |
</div><div slide> | </div><div slide> |
Откроется окно консоли, где будет показано так называемое приглашение. Строка приглашения, как правило, включает имя текущей папки, а также может включать имя пользователя и имя компьютера. | Откроется окно консоли, где будет показано так называемое приглашение. Строка приглашения, как правило, включает имя текущей папки, а также может включать имя пользователя и имя компьютера. |
| |
Команды оболочки можно запускать немедленно, например ''dir'' - список файлов в текущей папке или "mkdir" - создать папку. | Команды оболочки можно запускать немедленно, например ''dir'' - список файлов в текущей папке или ''mkdir'' - создать папку. |
| |
==== Запуск программ и аргументы командной строки ==== | ==== Запуск программ и аргументы командной строки ==== |
| |
Предположим, что я хочу запустить программу "hello.exe" передав ей для обработки файл "data.txt". Предположим, что в документации к программе "hello.exe" написано, что входной файл должен передаваться с клюем "-f", тогда проще всего запустить эту программу в консоли с использованием абсолютных путей: | Предположим, что я хочу запустить программу ''hello.exe'' передав ей для обработки файл ''data.txt''. Предположим, что в документации к программе ''hello.exe'' написано, что входной файл должен передаваться с клюем ''-f'', тогда проще всего запустить эту программу в консоли с использованием абсолютных путей: |
| |
<code> | <code> |
</code> | </code> |
| |
Но это не сработает. Система интерпретировала бы эту строку как: вызвать программу "С:\Program" с аргументами "Files\Hello\hello.exe", "-f", "C:\Мои" и "документы\data.txt". Правильно будет так: | Но это не сработает. Система интерпретировала бы эту строку как: вызвать программу ''С:\Program'' с аргументами ''Files\Hello\hello.exe'', ''-f'', ''C:\Мои'' и ''документы\data.txt''. Правильно будет так: |
| |
<code> | <code> |
==== О ленивых программистах ==== | ==== О ленивых программистах ==== |
| |
Любой файл в компьютере можно адресовать по его полному пути, например ''c:\test\file.txt'', но программисты очень ленивы, с другой стороны очень любят запускать одну и ту же программу несколько раз, по этому во времена консолей был придуман альтернативный подход: относительное имя файла: ''file.txt''. Относительное, оно относительно текущего каталога ''c:\test''. Текущий каталог обычно отображается в приглашении командной строки и может быть изменен командой ''cd''. Получаем: | Любой файл в компьютере можно адресовать по его полному пути, например ''c:\test\file.txt'', но программисты очень ленивы, с другой стороны очень любят запускать одну и ту же программу несколько раз, поэтому во времена консолей был придуман альтернативный подход: относительное имя файла: ''file.txt''. Относительное, оно относительно текущего каталога ''c:\test''. Текущий каталог обычно отображается в приглашении командной строки и может быть изменен командой ''cd''. Получаем: |
| |
<code> | <code> |
===== Имена файлов и расширения ===== | ===== Имена файлов и расширения ===== |
| |
По историческим причинам имя файла состоит из двух частей — собственно имя и одно или несколько расширений, разделенных точкой, например "file.txt", "program.exe", "archive.tar.gz", где ".txt", ".exe" и ".tar.gz" — расширения. | По историческим причинам имя файла состоит из двух частей — собственно имя и одно или несколько расширений, разделенных точкой, например ''file.txt'', ''program.exe'', ''archive.tar.gz'', где ''.txt'', ''.exe'' и ''.tar.gz'' — расширения. |
| |
Расширения используются для определения типа файлов и выбора программы для работы с ним. Хотя файл может и не иметь расширения вовсе, обычно оно присутствует. Проводник Windows имеет дурную привычку скрывать расширения для большинства типов файлов. И уж конечно смена расширения никак не повлияет на содержание самого файла. | Расширения используются для определения типа файлов и выбора программы для работы с ним. Хотя файл может и не иметь расширения вовсе, обычно оно присутствует. Проводник Windows имеет дурную привычку скрывать расширения для большинства типов файлов. И уж конечно смена расширения никак не повлияет на содержание самого файла. |
| |
</div> | </div> |