Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Arsenev-Obrazcov_S.S._i_dr._Osnovy_raboty_v_komandnoy_stroke_OS_Linux

.pdf
Скачиваний:
8
Добавлен:
12.11.2022
Размер:
1.66 Mб
Скачать

Дополнительные возможности

В командной строке linux существует еще один калькулятор. Пользователи обычно обнаруживают его по ошибке, когда вместо cd вводят dc. Это - калькулятор Reverse Polish. Работает он не как обычный калькулятор: сначала пользователь вводит числа, а затем операцию. С помощью этого калькулятора можно решать простые уравнения. Например:

user:~$ dc

5 4 + p

9

[Ctrl] + [D]

user:~$

31

9.Перенаправление стандартного ввода/вывода данных, конвейер

Вкомандной строке можно использовать известную операцию конкатенации “cat”. Она позволяет объединять несколько файлов в один:

user:Work$ cat abc.txt def.txt ghi.txt

ABC

ABC

ABC

GHI

GHI

GHI

user:Work$

Вывод на стандартное устройство (экран)

Результат объединения трех файлов мы видим с вами на экране. Такой выходной поток называется “standart output”. Но этот же выходной поток можно перенаправить, например, в новый файл:

user:Work$ cat abc.txt def.txt ghi.txt > combined.txt

user:Work$

Переадресация «>» использовала стандартный вывод команды cat и перенаправила его из терминала в файл comb.txt. Обратите внимание, что данная операция полностью переписывает файл comb.txt.

user:Work$ more combined.txt

ABC

GHI

GHI

user:Work$ cat abc.txt def.txt > combined.txt user:Work$ more combined.txt

ABC

DEF DEF

user:Work$

Для того, чтобы добавить поток вывода к файлу (не перезаписывая его) используют команду “>>”.

user:Work$ cat ghi.txt >> combined.txt

user:Work$ more combined.txt

ABC

GHI

user:Work$

32

15 75

Упражнение

Создайте файл lorem.txt и запишите в него результат конкатенации нескольких файлов с помощью “>”. После этого допишите к нему же результат конкатенации еще какихнибудь файлов с помощью “>>”.

Ввод со стандартного устройств (клавиатура)

В дополнение к стандартным выводам, команды Unix также имеют концепцию стандартного ввода «standard input». Здесь команды могут считывать данные. Если команда получает имя файла в качестве аргумента, то она будет считывать данные из него. Ввод по умолчанию осуществляется со стандартного канала ввода - клавиатуры. В этом случае используется комбинация клавиш [Ctrl] + [D], чтобы указать «конец ввода».

Будьте осторожны с комбинацией [Ctrl]+[D]. Если вы вызовите ее просто в пустой строке, то она будет интерпретирована как выход.

Мы уже встречались с командой wc:

user:Work$ wc abc.txt 9 9 36 abc.txt

user:Work$

Можно работать с этой командой, используя стандартный вход. Для этого введем текст в консоль:

user:Work$ wc

The quick brown fox jumps over the lazy dog. The cow jumped over the moon.

[Ctrl]+[D]

2

user:Work$

Поскольку [Ctrl]+[D] потенциально опасная комбинация клавиш, в Unix существует команда для завершения ввода:

user:Work$ wc <<END

The quick brown fox jumps over the lazy dog. The cow jumped over the moon.

END

2 15 75

user:Work$

Самое интересное, что вместо END можно написать, что угодно:

user:Work$ wc <<STOP

The quick brown fox jumps over the lazy dog. The cow jumped over the moon.

STOP

2 15 75

user:Work$

Так же совсем необязательно, чтобы этот маркер был словом. Например, пусть будет символ «!»:

33

user:Work$ wc <<!

The quick brown fox jumps over the lazy dog. The cow jumped over the moon.

!

2 15 75

user:Work$

Наконец, мы можем использовать стандартный канал ввода, чтобы перенаправить информацию из файла в консоль:

user:Work$ wc < combined.txt

27 27 108 user:Work$

Обратите внимание, что в консоль выводится просто результат (также как и в случае с символами “>”, “>>”). Это отличается от обычного вызова команды wc:

user:Work$ wc combined.txt

27 27 108 combined.txt

user:Work$

Конвейер

Существует мощный инструмент, объединяющий стандартный вход и стандартный выход, который называется “pipe”. Он нужен для того, чтобы в обход вывода текста (или другой информации) в консоль или сохранения его в файле, производить различные операции:

user:Work$ cat lorem.txt combined.txt | wc

40 568 3801

user:Work$

Вернемся к файлу “Treasure Island” и скомбинируем две команды:

user:Work$ cd ../Treasure\ Island/

user:Treasure Island$ grep -iw rum story.txt | more

Yo-ho-ho, and a bottle of rum!"

called roughly for a glass of rum. This, when it was brought to him,

"Rum," he repeated. "I must get away from here. Rum! Rum!"

the stranger. I got the rum, to be sure, and tried to put it down his --More--

34

10. Приложение

Список основных команд

Команда

Пример

bash

bash commands.sh

bc

 

bg

 

cat

cat abc.txt def.txt

cd

cd ../Work

chmod

chmod a+x commands.sh

clear

 

cp

cp island.jpg map.jpg

date

date +"%H:%k:%M"

echo

echo *.txt

env

 

exit

 

fg

 

grep

grep rum story.txt

history

 

jobs

 

less

less lorem.txt

ls

ls Work

mkdir

mkdir Fun

more

more lorem.txt

mv

mv island.jpg ../map.jpg

rm

rm nonsense.txt

rmdir

rmdir Fun

w

 

wc

wc lorem.txt

who

 

Назначение

Это название интерпретатора командной строки, которое мы все время использовали. Калькулятор командной строки.

Команда перевода приложения в фоновый режим, которая была остановлена с помощью

[Ctrl]+[Z].

Конкатенация одного или нескольких файлов. Изменение каталога.

Изменение свойств файла или каталога. Очистка экрана. (Лучше использовать [Ctrl]+[L].)

Копирование файла. (Используйте опцию “-R” для рекурсивного копирования каталога)

Вывод даты и времени. Может быть изменен формат вывода.

Трансляция введенного текста на экран. Вывод всех переменных среды.

Выход из терминала. То же, что и [Ctrl]+[D]. Команда перезапуска приложения, остановленного с помощью комбинации [Ctrl]+[Z]. Команда поиска файла или каталога.

Список ранее использованных команд Список всех запущенных приложений.

Постраничный вывод текста в выбранном файле. Список содержимого каталога.

Создание каталога.

Вывод текста выбранного файла, который помещается на экране.

Переместить (переименовать) файл или каталог. Удаление файла (используйте опцию «R» для рекурсивного удаления каталога).

Удаление пустого каталога.

Информация о всех пользователях, находящихся в системе, их работе и загрузке системы. Подсчет строк, слов и символов в файле.

Вывод имён пользователей, которые подключены к системе в данный момент.

Формат даты

Год

 

 

%C

20

Век

%Y

2009

Год из 4-х цифр

%y

09

Год из 2-х цифр

Месяц

 

 

%b

Apr

Аббревиатура месяца

%B

April

Полное название месяца

%m

04

Шифр месяца из 2-х цифр

День

 

 

%j

118

Номер дня в году (1…366)

%d

28

Номер дня в месяце из 2-х цифр

%a

Tue

Аббревиатура дня недели

%A

Tuesday

Полное название дня

 

 

35

%u

2

Номер дня недели (1…7, 1=Понедельник)

%w

2

Номер дня недели с нуля (0…6, 0=Воскресенье)

Час

 

 

%H

21

Час в 24-часовом формате (0…23)

%I

09

Час в 12-часовом формате (1…12)

Минута

 

 

%M

07

Минута

Секунда

 

 

%S

23

Секунда

%s

1240949377

Количество секунд, начиная с 1970-01-01 00:00:00 GMT

Полезно

 

 

%n

 

Новая строка

%t

 

Tab

Существует два полезных модификатора. Если «% M» должно дать «07», то «% _M» даст

« 7», а «% -M» даст «7».

Управление текстом в командной строке

Часто существует два способа управления: нажатие одной или одновременно нескольких клавиш.

[Ctrl]+[F]

[→]

Перемещение вправо на один символ.

[Ctrl]+[B]

[←]

Перемещение влево на один символ.

[Alt]+[F]

[Ctrl]+[→]

Перемещение вправо на одно слово.

[Alt]+[B]

[Ctrl]+[←]

Перемещение влево на одно слово.

[Ctrl]+[A]

[Home]

Перемещение в начало строки.

[Ctrl]+[E]

[End]

Перемещение в конец строки.

[Ctrl]+[W]

 

Удаление слова слева от курсора.

[Ctrl]+[K]

 

Удаление слова справа от курсора.

[Ctrl]+[U]

 

Удаление строки слева от курсора.

[Ctrl]+[P]

[↑]

Вернуться назад на один шаг в истории.

[Ctrl]+[N]

[↓]

Вернуться вперед на один шаг в истории.

36

УЧЕБНОЕ ПОСОБИЕ

АРСЕНЬЕВ-ОБРАЗЦОВ СЕРГЕЙ СЕРГЕЕВИЧ ЖУКОВА ТАТЬЯНА МИХАЙЛОВНА ВОЛКОВ ЕВГЕНИЙ АЛЕКСЕЕВИЧ

ТЕХНОЛОГИЯ ПОСТРОЕНИЯ УЧЕБНОГО ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА НА ОБЛАКЕ AMAZON

В авторской редакции

Сведения о программном обеспечении, которое использовано для создания электронного издания:

Microsoft Word - набор, вёрстка текста, генерация PDF https://www.microsoft.com/

Техническая обработка и подготовка материалов выполнены автором

Подписано к использованию: 05.06.2019; Объём издания: 1,53 Мб; Тираж: 50 экз.; Комплектация издания: 1 CD-ROM;

Запись на физический носитель: Белоусов А.В., belousov.a@gubkin.ru.

119991, Город Москва, проспект Ленинский, дом 65, корпус 1, РГУ нефти и газа (НИУ) имени И.М. Губкина, учебно-методическое управление (900)

37