Задания по командной строке линукс

Содержание
  1. Упражнения по работе с командной строкой linux
  2. Основные команды для работы с файлами
  3. Работа с текстовыми файлами
  4. Задания в командной строке линукс
  5. Самые полезные приёмы работы в командной строке Linux
  6. Вывод результатов работы команд в виде таблицы
  7. Многократный повтор команды до её успешного завершения
  8. Сортировка процессов по используемой памяти
  9. Сортировка процессов по использованию ресурсов CPU
  10. Одновременный просмотр нескольких лог-файлов
  11. Возврат к предыдущей директории
  12. Мониторинг с регулярными интервалами
  13. Продолжение выполнения программы после окончания сессии
  14. Автоматический ответ yes или no
  15. Создание файла заданного размера
  16. Выполнение последней команды с root-привилегиями
  17. Создание протокола терминальной сессии
  18. Замена пробелов на знаки табуляции
  19. Замена строчных букв на прописные
  20. Автоматическое формирование списка аргументов для команд: xargs
  21. Итоги

Упражнения по работе с командной строкой linux

На этой странице собраны упражнения по основным командам для манипуляции с файлами и директориями из командной строки Linux. Каждая из этих команд выполняет одно простое действие, но в дальнейшем может быть использована для составления более сложных цепочек команд.

Перед тем как начать — первый простой вопрос:

Как получить справку по команде ssh? ответ

Основные команды для работы с файлами

Как посмотреть текущую рабочую директорию? ответ

Как сменить рабочую директорию? ответ

например, cd /var/www/

Как перейти в родительскую директорию? ответ

Как вернуться в домашнюю директорию? ответ

cd — вызов команды без аргументов приводит к переходу в директорию, указанную в переменной окружения $HOME.

Как вывести список файлов в директории? ответ

ls — вывести список файлов в текущей директории

ls /var/log/ — вывести список файлов в директории /var/log/

ls -l — вывести подробный список файлов

Как посмотреть вермя последнего изменения/доступа к файлу /tmp/test.txt? ответ

ls -l /tmp/test.txt — посмотреть время последнего изменения файла

ls -lu /tmp/test.txt — посмотреть время последнего доступа к файлу

stat /tmp/test.txt — показывает 3 временные метки:

  • Access — время последнего доступа к файлу (любое открытие файла для чтения: просмотр, поиск по файлу и т.п.)
  • Modify — время последнего изменения файла
  • Change — время изменения статуса файла (прав доступа, владельца, изменение файла).

Как создать новую директорию test? ответ

Как создать пустой файл? ответ

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

  • cp empty.txt empty1.txt — скопировать любой другой пустой файл
  • touch empty.txt — «потрогать» несуществующий файл
  • :> empty.txt — перенаправить в файл вывод команды, которая ничего не делает
  • vi empty.txt, затем сразу :wq — открыть файл и сохранить его пустым

Как создать файл /tmp/2mb.txt размером 2Mb? ответ

dd if=/dev/zero of=2mb.txt bs=1M count=2

если в предыдущей команде задать bs=1MB, то файл будет размером 2_000_000 байт.

в данном примере файл будет заполнен нулевыми байтами (0x00).

Как узнать тип файла? ответ

$ file empty.txt empty.txt: empty $ file /usr/bin/perl /usr/bin/perl: symbolic link to `perl5.16.3′ $ file /usr/bin/perl5.16.3 /usr/bin/perl5.16.3: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped $ file index.html index.html: HTML document, UTF-8 Unicode text, with very long lines

Как переименовать файл? ответ

mv имя_файла новое_имя_файла

Как удалить файл/директорию? ответ

rm имя_файла — удалить файл

rmdir имя_директории или rm -r имя_директории — удалить директорию

shred -uv имя_файла — удаление файла для параноиков (без опции -u просто перезаписывает содержимое файла мусором)

Как создать символическую/жесткую ссылку на файл/директорию? ответ

ln -s имя_файла имя_ссылки — создаём символическую ссылку на файл

ln -s имя_директории имя_ссылки — создаём символическую ссылку на директорию

ln имя_файла имя_жесткой_ссылки — создаём жесткую ссылку на файл

Читайте также:  Как тонкую настройку windows

в обычных условиях создать жесткую ссылку на директорию невозможно

Как посмотреть размер файла? ответ

ls -l имя_файла — размер файла в байтах

ls -lh имя_файла — размер файла в более привычном формате

Как как узнать размер директории? ответ

du -s имя_директории — размер места в килобайтах (блоках по 1024 байт), которое директория со всем своим содержимым занимает на диске

du -sh имя_директории — в более привычном формате

Как узнать сколько свободного места осталось на разделе диска? ответ

при помощи команды df место_монтирования_раздела или просто df

df -h выведет размеры не в килобайтах, а в более удобном формате.

df -ih выведет информацию о количестве использованных и свободных инодов

Работа с текстовыми файлами

Как сравнить два текстовых файла? ответ

diff файл_1 файл_2 или diff -a файл_1 файл_2

Как посчитать количество строк в текстовом файле? ответ

или awk ‘END ’ имя_файла

а можно открыть файл в текстовом редакторе vi имя_файла и посмотреть кол-во строк CTRL+G

Как вывести на экран отсортированные строки текстового файла? ответ

Как удалить дубли строк из файла? ответ

sort -u имя_файла

или sort имя_файла | uniq

Как дописать содержимое одного текстового файла в конец второго? ответ

cat файл_1 >> файл_2

Как разбить текстовый файл на несколько по 100 строк в каждом? ответ

split -l 100 имя_файла 100-

в результате работы этой команды в директории появятся файлы 100-aa, 100-ab… содержащие по 100 строк из исходного файла. Если исходный файл содержал число строк не кратное 100, то в последнем файле будет меньше ста строк.

Как вывести на экран первые 30 строк файла? ответ

head -n30 имя_файла

Как вывести на экран последние 30 строк файла? ответ

tail -n30 имя_файла

Как посмотреть содержимое текстового файла? ответ

cat имя_файла — вывести файл на экран целиком

more имя_файла — выводить файл на экран постранично (пробел — перейти к следующей странице, enter — на строку вниз)

less имя_файла — выводить файл на экран с возможностью перемещаться по нему вверх и вниз

vi имя_файла или nano имя_файла или emacs имя_файла — открыть файл в любимом текстовом редакторе

Как вывести на экран строки текстового файла /tmp/file.txt начинающиеся со слова ‘START’? ответ

*!G4;:%#`START/ p’ имя_файла

Как вывести на экран содержимое текстового файла без однострочных комментариев (строка комментария начинается с символа #)? ответ

Как среди нескольких файлов в директории найти те, которые содержат слово ‘test’? ответ

grep ‘test’ * — поиск во всех файлах в текущей директории

grep ‘test’ файл_1 файл_2 файл_3 — поиск только в указанных файлах

Источник

Задания в командной строке линукс

1. С использованием команды cat удвойте содержимое файла, приписав исходное содержимое к концу этого же файла. Перейдите в каталог flowers. Добавьте в файл spisok список содержимого каталога flowers. Просмотрите содержимое файла
2. Попытайтесь прочитать с помощью команды cat несуществующий файл. Какова реакция системы? Сделайте то же самое, перенаправив сообщения об ошибках в файл myerror. Что Вы видите на экране? Просмотрите файл myerror.

Пыталась сделать но выводит что файла не существует и myerror не находит

3. Создайте конвейер для получения списка только имен и прав доступа к файлам, которые в данный момент находятся в Вашем рабочем каталоге.
4. Измените, построенный конвейер так, чтобы список сохранялся в файле spisok Вашего HOME-каталога, а на экран выводилось только число файлов в списке.

5. Завершите сеанс работы и вновь зарегистрируйтесь. Работает ли псевдоним dir? Что следует сделать, чтобы псевдоним «не терялся» между сеансами? сеанс знаю как завершить ,а как зарегаться и сохранить псавдонимы между сеансами незнаю подскажите

Читайте также:  Не запускается rocketdock для windows 10

задания вроде не сложные, но никогда не сталкивалась с линуксом
заранее спасибо

Иероглифы в командной строке
Ребят, как исправить, чтобы и англ и рус символы отображались. ?

Иероглифы в командной строке
Пользуюсь visual studio2017 community,изучаю язык С. Пишу первую программу по учебнику Прата.

Вопросы по командной строке
Здравствуйте! У меня есть пару вопросов по командным файлам. Буду очень признателен если вы мне.

Графика в командной строке
Под водой. @echo off title Oo bubblesinblue oO setlocal enabledelayedexpansion color 9f.

Источник

Самые полезные приёмы работы в командной строке Linux

Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

Вывод результатов работы команд в виде таблицы

Иногда вывод результатов работы команд выглядит как мешанина из беспорядочных строк. Найти то, что надо, в таких данных можно, но работать с ними неудобно. Например – что-то подобное можно получить в ответ на команду mount . Хорошо бы то же самое вывести в виде таблицы. И это не только возможно, но ещё и очень просто:


Результаты работы команды mount, оформленные в виде таблицы

По умолчанию команда формирует табличное представление, ориентируясь на пробелы между словами. А что, если в качестве разделителей используются другие символы, вроде двоеточий? Например – в выводе cat /etc/passwd ?

Упорядочить можно и такие данные – достаточно указать символ-разделитель с параметром –s . Например, ниже приведена команда для символа «:».


Отформатированный вывод /etc/passwd

Многократный повтор команды до её успешного завершения

Если вы погуглите на эту тему, то обнаружите, что многие задают вопрос о том, как повторять команду до тех пор, пока она не будет успешно выполнена. Например, такое может быть полезным при пинге сервера до тех пор, пока он не откликнется, при проверке выгрузки файлов, или при опросе некоего URL до тех пор, пока он не окажется доступен.

Решить подобную задачу поможет цикл while true . Выглядит всё это так:


Команда будет повторяться до её успешного завершения

В этом примере конструкция >/dev/null 2>&1 перенаправляет вывод программы в /dev/null , включая и Standard Error, и Standard Out.

Вероятнее всего, это – один из самых полезных приёмов работы с командной строкой Linux.

Сортировка процессов по используемой памяти


Отсортированный список процессов

Сортировка процессов по использованию ресурсов CPU

Сортировка процессов по использованию CPU делается так:


Отсортированный список процессов

Для того, чтобы вывести сведения об архитектуре, используйте команду getconf LONG_BIT .

Одновременный просмотр нескольких лог-файлов

Для просмотра лог-файлов вполне подходит команда tail , но иногда может понадобиться одновременная работа с несколькими подобными файлами. Для решения этой задачи подойдёт консольный инструмент multitail , который поддерживает выделение текста, фильтрацию и многие другие полезные возможности.

Читайте также:  Windows 10 pro 2004 sanlex


Работа с multitail

Установить эту утилиту, если вы её у себя не найдёте, можно командой apt-get install multitail .

Возврат к предыдущей директории

Для того, чтобы вернуться к предыдущей директории, просто наберите cd –.

Мониторинг с регулярными интервалами

Использование утилиты watch (например, watch df –h ) поможет организовать наблюдение за выводом любой команды. Например, можно наблюдать за объёмом свободного пространства, и за тем, как он меняется.

Пожалуй, вы сами сможете найти подходящие сценарии для использования этой команды.

Продолжение выполнения программы после окончания сессии

Когда вы запускаете любую программу в фоне и закрываете консоль, программа тоже завершит работу. А что, если надо, чтобы программа работала и после закрытия оболочки?

Для того, чтобы этого добиться, можно воспользоваться командой nohup , название которой расшифровывается как «no hang-up». Выглядит это так:

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


Команда nohup

В примере, показанном на рисунке выше, в текущей директории будет создан файл nohup.out , содержащий вывод команды:


Файл nohup.out

Полезная штука, согласны?

Автоматический ответ yes или no

Предположим, вы хотите автоматизировать процесс, который требует от пользователя постоянно отвечать yes . Сделать это можно, используя команду yes :

Возможно, вместо этого вы решите автоматизировать отрицательные ответы. Тут поможет такая конструкция:


Автоматизация ответа YES

Создание файла заданного размера

Создавать файлы заданного размера можно, используя команду dd :

Вышеприведённая команда создаст файл размером 10 Мб, заполненный нулями.


Создание файла заданного размера

Выполнение последней команды с root-привилегиями

Иногда можно забыть ввести sudo перед командой, которой нужны root-привилегии. Вводить всё заново нет нужды – достаточно воспользоваться такой командой:


Выполнение последней команды с root-привилегиями

Создание протокола терминальной сессии

Для того, чтобы записать в файл всё, что было выведено в окне терминала, можно воспользоваться командой script .

После выхода из сессии протокол будет записан в файл typescript .

Замена пробелов на знаки табуляции

Вот команда, которая позволяет заменить пробелы на знаки табуляции:

На самом деле, она универсальна и умеет работать с любыми символами.

Замена строчных букв на прописные

А вот – пример вышеописанной команды для замены строчных букв в файле с текстом на прописные:


Замена строчных букв в файле на прописные

Автоматическое формирование списка аргументов для команд: xargs

Утилита xargs , пожалуй, достойна звания одной из самых полезных возможностей командной строки Linux. Её можно использовать для передачи вывода некоей команды в качестве аргумента для другой. Например, вот как можно выполнить поиск .png-файлов и сжать их, или сделать с ними что-нибудь ещё:

Или, возможно, у вас имеется файл со списком URL, и вы хотите загрузить ресурсы по этим адресам, или ещё как-то их обработать:

Тут надо учитывать, что вывод первой команды передаётся в качестве аргумента в конце команды xargs . Если при конструировании второй команды надо явно указать место, куда должны попасть выходные данные первой, достаточно воспользоваться парой фигурных скобок, <> и параметром –i для замены аргумента в нужном месте:


Команда xargs

Итоги

Полезности для командной строки Linux – тема невероятно обширная. Поэтому любой список, подобный нашему, можно пополнять очень и очень долго. Например, много неожиданного скрыто в командах awk и sed . Пожалуй, главное – чтобы такие вот списки шли в дело.

А какими интересными приёмами работы в командной строке пользуетесь вы?

Источник

Оцените статью