- •II. First steps on the command line
- •5. Man pages
- •6. Working with directories (работа с папками)
- •7.Working with files
- •8. Working with file contents
- •9. The Linux file tree
- •III. Shell expansion
- •10. Commands and arguments
- •11. Control operators
- •12. Variables
- •13. Shell history
- •14. File globbing
- •IV. Pipes and commands
- •Глава 16. Фильтры.
- •16.3 Grep
- •16.7. Sort
- •16.8. Uniq
- •16.9. Comm
- •16.12. Примеры пайпов
- •Глава 17. Основные инструменты Unix
- •17.1. Find
- •17.2. Размещение
- •17.3. Date
- •17.5. Sleep
- •17.6. Time
- •17.7. Gzip - gunzip
- •17.8. Zcat - zmore
- •18.3. Замена и удаление символов (r X X)
- •18.4. Отменить и повторить (u .)
- •18.5. Вырезать, копировать и вставить строчки (dd yy p p)
- •18.6. Вырезать, копировать и вставить строчки (3dd 2yy)
- •18.8. Объединения двух и более линий (j)
- •18.9. Слова (w b)
- •18.10. Сохранить (или нет) и выход (:w :q :q! )
- •18.11. Поиск (/ ?)
- •18.13. Чтение файлов (:r :r !cmd)
- •19.1. Предпосылки
- •19.2. Hello World
- •19.4. Комментарии
- •20.2. Если, затем, иначе (if then else)
- •20.3. If then elif
- •20.4. For loop
- •20.5. While loop
- •21.2. Shift through parameters.
- •21.3. Runtime input.
- •21.3. Sourcing a config file.
- •21.5. Get script options with getopts.
- •21.6. Get shell options with shopt.
- •Глава 22 More scripting.
- •22.1. Eval.
- •22.4. Case.
- •22.5. Shell functions.
- •Раздел VII. Local user management. Глава 23. Users.
- •23.1. Identify yourself.
- •23.2. Users.
- •23.3. Passwords.
- •23.4 Home directories
- •23.5 User shell
- •23.6. Switcj users with su
- •23.7 Run a program as another user
- •23.10 Shell environment
- •Глава 24. Groups
- •24.1 About groups
- •24.2 Groupadd
- •24.3 /Etc/group
- •24.4 Usermod
- •24.5 Groupmod
- •24.6 Groupdel
- •24.7 Groups
- •24.8 Gpasswd
- •24.9 Vigr
18.9. Слова (w b)
Находясь в командном режиме, с помощью w вы переместись на следующее слово, а с b на предыдущее слово. wиbможно также использовать сdиyчтобы копировать и вставлять слова (dw db yw yb).
Таблица 18.9. Слова
command |
action |
w |
Перенесет вас к следующему слову |
b |
Перенесет вас к предыдущему слову |
3w |
Перенесет вас на 3 слова вперед |
dw |
Удалит одно слово |
yw |
Скопирует одно слово |
5yb |
Скопирует 5 предыдущих слов |
7dw |
Удалит 7 следующих слов |
18.10. Сохранить (или нет) и выход (:w :q :q! )
Нажмите «:» это откроет вам инструкции по vi(технически говоря, ввод двоеточия откроет вамex editor).:w запишет (сохранит) файл,:q выйти из неизмененного файла без сохранения, и:q! выйти изviбез изменений.:wq сохранить и выйти, тоже самое делает командаZZ в командном режиме.
Таблица 18.10. Сохранить и выйти vi
command |
action |
:w |
Запишет (сохранит) файл |
:w fname |
Сохранит как fname |
:q |
Выход |
:wq |
Сохранить и выйти |
ZZ |
Сохранить и выйти |
:q! |
Выход без изменений |
:w! |
Сохранить в нередактируемый файл |
Последняя команда немного особенная. С :w! vi попытается при помощиchmod получить права на запись (работает, если вы владелец) и используетchmod, чтобы вернуть права обратно при удачной записи. Это должно всегда работать в корне системы (и файловая система доступна для записи).
18.11. Поиск (/ ?)
Находясь в командном режиме, набирание «/» позволит вам искать в viстроки (может быть обычным выражением). Набрав /foo, вы начнете поиск после строчкиfooи
набрав ?barначнете поиск перед строчкойbar.
Таблица 18.11. Поиск (/ ?)
command |
action |
/string |
Поиск после строчки string |
?string |
Поиск до строчки string |
n |
Перейти к следующему вводу поиска |
/^string |
Начать поиск stringс начала строки |
/string$ |
Начать поиск stringс конца строки |
/br[aeio]l |
Поиск bral brel bril и brol |
/\<he\> |
Искать слово he (исключаяhereиthe) |
18.12. Замена ( :1,$ s/foo/bar/g )
Заменяет все входящие строчки с fooнаbar, для начала переключитесь на ex mode с помощью «:». Затем скажитеviкакие строки вы будете использовать, к примеру, 1,$ заменит все строчки от первой и до последней. Вы можете написать 1,5, это заменит 5 первых строчек.s/foo/bar/gзаменит все входящиеfooнаbar.
Таблица 18.12. Замена
command |
action |
:4,8 s/foo/bar/g |
Заменить все fooнаbarс 4 по 8 строчки |
:1,$ s/foo/bar/g |
Заменить все fooнаbarпо всем строчкам |
18.13. Чтение файлов (:r :r !cmd)
Находясь в командном режиме, :rfooпрочитает файл с именемfoo, :r !foo выполнит команду foo. Результат поместится в текущее местоположение. Таким образом :r!lsпоместит листинг текущего каталога в ваш текстовый файл.
Таблица 18.13. Чтение файлов
command |
action |
:r fname |
(Чтение) файла fnameи вставка содержимого |
:r !cmd |
Выполнить и вывести cmd |
18.14. Текстовые буферы
В viхранится 36 буферов для хранения текста. Вы можете использовать их с помощью символа «”»
Таблица 18.14. Текстовые буферы
command |
action |
"add |
Удаление текущей строчки и копирование ее в буфер а |
"g7yy |
Скопировать 7 строчек в буфер g |
"ap |
Вставка текста из буфера а |
18.15. Несколько файлов
Вы можете редактировать несколько файлов с vi. Вот несколько советов.
Таблица 18.15. Несколько файлов
command |
action |
vi file1 file2 file3 |
Выбрать для редактирования 3 файла |
:args |
Списки файлов и пометки на активных файлах |
:n |
Начать редактировать следующий файл |
:e |
Переключиться на следующий отредактированный файл |
:rew |
Переместить файл указатель на первый файл |
18.16. Аббревиатуры
С помощью :ab вы можете создавать аббревиатуры вvi. Используйте:unna, чтобы убрать аббревиатуру.
Таблица 18.16. Аббревиатуры
command |
action |
:ab str long string |
Аббревиатура str для 'long string' |
:una str |
Убрать аббревиатуру str |
18.17. Горячие клавиши
Как и для аббревиатур, вы можете использовать горячие клавиши с :mapдля командного режима и:map!для режима вставки.
Этот пример показывает, как установить на F6 функциональную клавишу для переключения между set number иset nonumber. <bar> разделяет две команды,set number! меняет состояние иset number?сообщает о текущем состоянии.
:map <F6> :set number!<bar>set number?<CR>
18.18. Настройка параметров
Некоторые параметры, которые можно настроить в vim.
:set number ( also try :se nu )
:set nonumber
:syntax on
:syntax off
:set all (list all options)
:set tabstop=8
:set tx (CR/LF style endings)
:set notx
Вы можете настроить следующие параметры (и многое другое) в /.vimrc дляvimили~/.exrc дляvi.
paul@barry:~$ cat ~/.vimrc
set number
set tabstop=8
set textwidth=78
map <F6> :set number!<bar>set number?<CR>
paul@barry:~$
Часть VI. Создание скриптов
Оболочки, такие как BashиKornимеют поддержку программных конструкций, которые могут быть сохранены в виде скриптов. Эти скрипты в свою очередь, стали командами оболочки. Многие команды в Linux, это скрипты. Скрипты профиля пользователя выполняются, когда пользователь входит в систему и, тогда, выполняются скрипты инициализации, когдаdaemonостановлен или запущен. Это означает, что системному администратору необходимы базовые знания скриптов, чтобы понять, как запускаются сервера и приложения, обновления, модернизация, исправления, поддерживание, настройки и удаление, а также понять, как построена среда пользователя. Целью этой главы является дать вам достаточно информации, чтобы иметь возможность читать и понимать скрипты. Чтобы не стать создателем сложных скриптов.