Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Python. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆

Навигация

Можно использовать команду cd, которая означает изменение каталога, чтобы перейти к каталогу, используя абсолютный или относительный путь. Введите команду cd, за которой следует абсолютный путь / для перехода к корневому каталогу:
$ cd /
Теперь вы находитесь в своем корневом каталоге. Проверить текущее ме­стоположение можно с помощью команды pwd:
$ pwd >> /
Команда ls (сокращенно от list) печатает папки в каталоге, в котором вы находитесь, т.е. в текущем каталоге:
$ ls >> bin dev initrd.img lost+found ...
Можно создать новый каталог с помощью команды mkdir. В именах катало­гов не может быть пробелов. Переместитесь в свой домашний каталог (~ – это со­кращение для домашнего каталога в Unix-подобных операционных системах) и используйте команду mkdir, чтобы создать новый каталог с именем tstp:
$ cd ~ $ mkdir tstp
Убедитесь, что новый каталог существует, с помощью команды ls. Теперь используйте команду cd, чтобы войти в каталог tstp, передав относительный путь к tstp в качестве параметра:
$ cd tstp
Теперь используйте команду cd с двумя точками, чтобы вернуться в пап­ку, в которой находились до входа в каталог tstp (т.е. на уровень выше):
$ cd ..
Удалите новый каталог с помощью команды rmdir, что означает удале­ние каталога:
$ rmdir tstp
Используйте команду ls, чтобы убедиться, что каталог был удален.
121

Флаги

Команды имеют концепцию, называемую флагами, которые позволяют
пользователю, выдавшему команду, изменять поведение команды. Если ис­пользовать команду без каких-либо флагов, то для всех флагов команд устанав­ливается значение false. Но если добавить флаг к команде, он будет установ-
лен в значение true, и поведение команды изменится. Символы – и -- исполь­зуются для прикрепления флагов к команде. --author – это пример флага, ко­торый можно добавить к команде ls, чтобы вывести автора всех каталогов и файлов, которые будут перечислены. Этот пример предназначен для Linux. Вот пример использования флага --author с командой ls:
$ ls --author >> drwx--+ 13 alex 442B Sep 16 17:25 Pictures …
Если добавите флаг --author в свою команду ls, будет напечатано
название каждого каталога и папки в вашем текущем каталоге, а также некото­рая дополнительная информация, включая имя человека, который их создал.

Редактор vim

Vim – текстовый редактор командной строки. Это похоже на Microsoft
Word, за исключением того, что он используется из командной строки. Если
используете Ubuntu, сначала установите vim с помощью команды apt-get install vim. Не забудьте ввести Y, когда будет предложено. Если использу-
ете Mac, он должен поставляться с vim. Если используете интерактивную обо­лочку bash, на ней уже установлен vim.
Можно создать новый файл с помощью vim, перейдя в командную строку
и используя команду vim [имя файла для создания]. Используйте ко­манду vim self_taught.txt, чтобы создать новый текстовый файл с име­нем self_taught.txt. Нажмите клавишу i или Insert и введите абзац текста в файл. Подойдет любой абзац текста, который найдете в Интернете. Причина,
по которой приходится нажимать клавишу i или Insert при первом вводе файла,
122
заключается в том, что vim имеет разные режимы, оптимизированные для раз­ных действий. Текстовый редактор vim запускается в обычном режиме, кото­рый не предназначен для добавления текста в файл (он предназначен для удоб-
ства навигации). Можно удалить текст в обычном режиме, но нельзя вставить новый текст. Как только нажмете клавишу i или Insert и войдете в обычный ре­жим, сможете использовать vim как текстовый процессор – попробуйте ввести
текст в vim.
Поскольку нельзя перемещать курсор с помощью мыши, важно освоить несколько сочетаний клавиш для перехода в разные места документа, чтобы в конечном итоге не использовать клавиши со стрелками на клавиатуре (потому что это медленно). Чтобы попрактиковаться в перемещении, сначала убедитесь, что находитесь в обычном режиме (control-c). Можно перейти к началу
слова, нажав b, а к концу слова, нажав e. 0 переместит вас в начало строки, на которой вы находитесь, в то время как знак доллара $ переместит вас в конец строки. H переместит вас на первую строку страницы, а L – на последнюю. Можно удалить целые строки текста в обычном режиме, дважды нажав клави­шу d. Потратьте некоторое время на использование этих клавиш, чтобы озна­комиться с навигацией по файлу с помощью vim.
Для выхода из vim нужно сначала переключиться в обычный режим, нажав control-c. Затем нажать клавишу shift и клавишу двоеточия (все еще удерживая клавишу shift). Отсюда можно ввести q!, если хотите завер­шить работу без сохранения изменений в файле, или ввести x, если хотите со­хранить изменения и завершить работу. После введения одного из этих пара­метров нажмите клавишу Enter, чтобы выйти. vim полезен в нескольких си­туациях: доступ к серверам обычно осуществляется только через оболочку ко-
мандной строки, поэтому, если хотите внести изменения в файл на сервере, нужно использовать текстовый редактор командной строки. После освоения текстового редактора увидите, что использовать vim для внесения изменений удобнее и быстрее, чем с помощью обычного текстового процессора. Попро­буйте ввести vimtutor в оболочке командной строки Bash и посмотрите, что произойдет.
123

Команда touch

Можно использовать команду touch, за которой следует путь к файлу,
чтобы быстро создать новый файл:
$ touch purple_carrots.txt >>

Просмотр файлов командой less

Команда less позволяет просматривать файлы из командной строки. Вы-
берите файл на своем компьютере и используйте команду less [filepath] для просмотра файла из командной строки в программе less. Убедитесь, что находитесь в той же папке, в которой создали файл self_taught.txt с по­мощью vim, и передайте имя файла в качестве параметра:
$ less self_taught.txt >> whatever text you put in your file
Нажмите q, чтобы выйти.

Пользователи

У операционных систем может быть много пользователей. У каждого
пользователя есть различные действия, которые ему разрешено выполнять, называемые правами доступа, а также их собственные каталоги и файлы, к ко­торым другие пользователи не могут получить доступ. Пользователей также можно объединять в группы с указанием всей группы. Увидеть имя пользовате­ля, которым вы являетесь в вашей операционной системе, можно с помощью команды whoami:
$ whoami >> alex
Обычно вы начинаете как пользователь, аккаунт которого создали при
установке операционной системы. Этот пользователь не имеет самые широкие полномочия. Пользователем самого высокого уровня (суперпользователем) является пользователь root, что означает, что он имеет самый высокий уро-
вень прав доступа. В каждой системе есть пользователь root, который может
124
делать что угодно, например создавать или удалять аккаунты других пользо­вателей.
Для соблюдения безопасности обычно не входят в систему как пользователь
root. Вместо этого используют команду sudo (от англ. словосочетания superuser do – выполняет суперпользователь) перед другой командой, чтобы вы-
полнить ее как суперпользователь. Команда sudo позволяет делать большинство вещей от имени пользователя root, но не все. Обязательно будьте осторожны при использовании sudo, потому что использование команд с sudo может нане­сти вред вашей операционной системе, если не знаете, что делаете.
Ниже приведен пример использования команды echo с командой sudo.
$ sudo echo Hello, World! >> Hello, World!
Если на компьютере установлен пароль, то будет предложено его ввести при использовании команды с sudo. Команда с sudo снимает защитные меры, которые оберегают операционную систему от нанесения вреда, поэтому нико­гда не выполняйте команду с sudo, если до конца не уверены, что она не навредит операционной системе.

Разрешения

Каждый каталог и файл на компьютере имеет набор разрешений. Эти раз­решения определяют, какие действия пользователь может выполнять с ними. Существует три типа разрешений: r – чтение, rw – запись и x – выполнение. Чтение файла означает его просмотр, запись файла – его изменение, а выполне­ние файла – запуск как программы. Можно просмотреть права доступа к файлу или каталогу с помощью команды
ls -lah [имя_файла].
Используйте команду touch, чтобы создать новый файл с именем tstp: $ touch tstp
>>
Теперь можно просмотреть права доступа к файлам:
$ ls -lah tstp
-rw-r–r– 1 alex staff 5B Feb 21 11:55 test.py
125
Данный файл имеет три разрешения, которые применяются к трем различ-
ным группам пользователей, представленным -rw-r–r–. Первый набор при­меняется к владельцу файла, второй набор – к группе, которой назначен файл,
а третий набор – ко всем. Таким образом, в этом примере владелец файла имеет разрешение на чтение и запись файла, тогда как все остальные могут только чи­тать файл.
Можно добавлять и удалять разрешения с помощью команды chmod (со-
кращенно от change mode – режим изменения). Можно добавить разрешение на чтение с помощью команды chmod +r, разрешение на чтение и запись с по­мощью команды chmod +rw и разрешение на выполнение с помощью chmod
+x. Также можно удалять одни и те же разрешения с помощью chmod -r, chmod -w и chmod -x соответственно.

Программы Bash

Если необходимо запустить скрипт bash из командной строки, нужно дать
разрешение на выполнение владельцу файла. Создайте новый файл с именем hello_world.sh и введите echo Hello, World! в нем. Расширение .sh используется для того, чтобы любой, кто увидит этот файл, знал, что это скрипт (сценарий) Bash. Синтаксис ./[имя_файла] используется для выполнения файла в каталоге, в котором вы находитесь. Запускаете файл с ./[имя_файла], точка означает поиск файла в текущем каталоге. Можно заменить точку на путь к файлу. Попробуйте запустить файл (убедитесь, что вы находитесь в том же каталоге, что и файл):
$ ./hello_world.sh >> Permission denied
Причина, по которой было отказано в разрешении на печать, заключается в том, что нет разрешения на выполнение файла. Это можно изменить с помо­щью команды chmod.
$ chmod u+x hello_world.sh $ ./hello_world.sh >> Hello, World!
126
В приведенном выше примере добавили u к +x, чтобы получить u+x, по­тому что u означает пользователя, и нужно дать себе возможность выполнить файл. Если необходимо повторить аргумент из предыдущей командной строки, в данном случае имя файла, можно использовать !$ для представления повто­ряющегося аргумента.

Скрытые файлы

Операционная система и различные программы на компьютере использу­ют скрытые файлы для хранения данных. Скрытые файлы в Unix-подобных системах – это файлы, которые по умолчанию не отображаются пользовате­лям, поскольку их изменение может повлиять на программы, которые от них зависят. Скрытые файлы начинаются с точки, например, .hidden. Можно
увидеть скрытые файлы, используя команду ls с флагом -a, что означает
“все” (от англ. слова all). Создайте скрытый файл с именем .self_taught
и проверьте, видите ли вы его с помощью команд ls и ls -a.
$ touch .self_taught

Переменные окружения

Операционная система может хранить и использовать переменные, назы­ваемые переменными окружения. Переменная окружения (переменная среды, англ. environmental variable) – текстовая переменная операционной системы, хранящая какую-либо информацию, например данные о настройках системы или сведения о текущем пользователе. Можно создать новую переменную сре­ды из командной строки с синтаксисом export variable_name=[variable_value]. Чтобы использовать переменную среды, следует поставить знак доллара перед именем переменной среды. Например:
$ export x=100 $ echo $x >> 100
Создание переменной среды из командной строки не является постоянным. Если выйти из командной строки, затем снова открыть ее и набрать echo $x, терминал больше не будет печатать 100.
127
Можно сделать переменную среды x постоянной, добавив ее в скрытый файл, используемый Unix-подобными операционными системами, называемый .profile, расположенный в вашем домашнем каталоге. Перейдите в свой домаш- ний каталог с помощью команды cd ~ (~ – это ярлык для представления ваше­го домашнего каталога в Unix-подобных операционных системах) и откройте файл .profile с помощью vim командой vim.profile. Обязательно войдите в обычный режим, введите export x=100 в первую строку файла и выйдите с помощью :x. Закройте и снова откройте командную строку, и вы все равно сможете распечатать переменную среды, которую определили:
$ echo $x >> 100
Переменная среды x получает значение 100, если она определена в файле .profile. Она будет сохранена до тех пор, пока будет содержаться в файле .profile. Переменную можно удалить, стерев ее из файла .profile.

Переменная окружения $PATH

Когда вводите команду в командную оболочку Bash, она ищет команду во всех каталогах, хранящихся в переменной окружения с именем $PATH. $PATH – это строка путей к каталогам, разделенных двоеточиями. Командная оболочка Bash ищет в каждом из этих каталогов файл, соответствующий имени введен­ной вами команды. Если файл найден, команда выполняется, если нет, команд-
ная оболочка выводит «команда не найдена». Используйте эхо, чтобы напеча­тать вашу переменную среды $PATH (команда $PATH может выглядеть иначе, чем указано здесь):
echo $PATH >> /usr/local/sbin:/user/local/bin:/usr/bin: …
В этом примере в $PATH есть три пути к каталогу: /usr/local/sbin, /user/local/bin и /usr/bin. Оболочка командной строки Bash сможет
выполнить любую команду, найденную в этих трех каталогах. Можно увидеть,
128
где установлена такая команда, как grep, передав ее в качестве параметра ко­манде which:
$ which grep >> /usr/bin/grep
Команда grep находится в /usr/bin, одном из местоположений в пере-
менной среды $PATH используемой операционной системы.

Вертикальная черта (пайп)

В Unix-подобных системах символ | известен как «пайп» (конвейер). Можно использовать пайп для передачи вывода одной команды в качестве вво­да для другой команды (перенаправление ввода-вывода), например передать вывод команды ls в качестве ввода команды less, чтобы открыть less со всеми файлами в текущем каталоге:
$ ls | less >> Applications …
Результатом является текстовый файл с выводом ls, открытый в програм­ме less (нажмите q, чтобы выйти из less). Вы не ограничены конвейером двух команд и можете связать несколько команд вместе, используя конвейеры.

Команда cat

Можно использовать универсальную команду cat для отображения со­держимого файла и подключения к сети, что означает “для последовательного подключения”. Создайте новый файл с именем hello.txt и добавьте
"Hello, World!" в качестве первой строки. Теперь используйте команду cat, чтобы распечатать содержимое файла:
$ cat hello.txt >> echo Hello, World!
Чтобы использовать команду cat для объединения двух файлов, сначала создайте файл с именем c1.txt и добавьте текст Boy. Затем создайте еще
129
один файл с именем c2.txt и добавьте текст Meets World. Теперь можно объединить их, передав оба файла в качестве параметров команде cat, за кото- рыми следует символ «больше» ( > ) и имя нового файла:
$ cat c1.txt c2.txt > combined.txt >>
Откройте только что созданный файл Combined.txt, в котором должно быть
написано «Boy Meets World» (Мальчик встречает мир).

Последние команды

Просматривать последние команды можно, нажимая стрелки вверх ↑ и вниз ↓ в оболочке командной строки. Чтобы увидеть список всех последних команд, используйте команду history:
$ history >> 1. echo Hello, World! >> 2. pwd >> 3. ls …

Быстрые перемещения

При вводе команд в терминале могут возникать потребности в редактиро­вании уже введенных команд. Для этого можно использовать клавишу со стрелкой вправо или влево, чтобы переместить курсор на ту часть, которую нужно изменить. Но это медленно. Тогда можно использовать клавиши быстро­го доступа.
Введите команду echo hello, world! (не нажимая Enter) в терминале и используйте esc b, чтобы переместить курсор на одно слово назад, и esc f, чтобы переместить курсор на одно слово вперед. Также можно переместить курсор в начало строки с помощью элемента управления a или в конец строки с помощью элемента управления e.
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]