Linux commands (upd. 27.03.2018)

***

ln — создает ссылки(связи) между файлами. 

По умолчанию делаются жесткие ссылки, при указании опции -s --sym­bol­ic, делаются символьные (или мягкие) ссылки.

ln [КЛЮЧ]… [-T] ЦЕЛЕВОЙ_ФАЙЛ ИМЯ_ССЫЛКИ (1-ая форма) создаётся ссылка на ЦЕЛЕВОЙ_ФАЙЛ с указанным ИМЕНЕМ_ССЫЛКИ.
ln [КЛЮЧ]… ЦЕЛЕВОЙ_ФАЙЛ (2-ая форма) создаётся ссылка на ЦЕЛЕВОЙ_ФАЙЛ в текущем каталоге.
ln [КЛЮЧ]… ЦЕЛЕВОЙ_ФАЙЛ… КАТАЛОГ (3-я форма) создаются ссылки на каждый ЦЕЛЕВОЙ_ФАЙЛ в КАТАЛОГЕ.
ln [КЛЮЧ]… -t КАТАЛОГ_DEST ЦЕЛЕВОЙ_ФАЙЛ…(4-ая форма) создаются ссылки в КАТАЛОГ_DEST на каждый ЦЕЛЕВОЙ_ФАЙЛ.

По умолчанию создаются жёсткие ссылки, каждый ЦЕЛЕВОЙ_ФАЙЛ должен существовать. Ссылка и файл физически будут являться одним и тем же файлом. Жесткие ссылки не могут указывать на файлы, расположенные на разных дисковых разделах. Также невозможно создать жёсткую ссылку на каталог.
-s --sym­bol­ic — создаются символьные ссылки, файла ЦЕЛЕВОЙ_ФАЙЛ может и не существовать, символьная ссылка с именем ИМЯ_ССЫЛКИ всё равно будет создана. Символьные ссылки могут содержать произвольный текст; при разыменовании
относительная ссылка интерпретируется относительно родительского каталога.

Аргументы, обязательные для длинных ключей, обязательны и для коротких.
--backup[=КОНТРОЛЬ] создать резервную копию для каждого целевого файла;
-b то же, что и --back­up, но не принимает аргумент;
-d, -F, --direc­to­ry позволить суперпользователю создавать жесткие ссылки на каталоги (замечание: вероятно, это не получится из-за системных ограничений, даже для суперпользователя);
-f, --force удалять существующие файлы, заменить на файл-ссылку. Каждое имя новой ссылки не должно принадлежать именам других файлов. Если одноименный с ссылкой файл существует, символьная ссылка с именем ИМЯ_ССЫЛКИ всё равно будет создана;
-i, --inter­ac­tive спрашивать перед удалением целей;
-L, --log­i­cal разыменовывать ЦЕЛИ, являющиеся символьными ссылками;
-n, --no-deref­er­ence рассматривать ИМЯ_ССЫЛКИ, как обычный файл, если это символьная ссылка на каталог;
-P, --phys­i­cal создавать жёсткие ссылки непосредственно на символьные ссылки;
-r, --rel­a­tive создавать символьные ссылки относительно расположения ссылки;
-s, --sym­bol­ic создавать символьные ссылки, вместо жёстких ссылок;
-S, --suffix=СУФФИКС переопределяет обычный суффикс резервных копий;
-t, --target-directory=КАТ указать КАТАЛОГ, в котором создавать ссылки
-T, --no-tar­get-direc­to­ry всегда считать ИМЯ_ССЫЛКИ обычным файлом
-v, --ver­bose печатать имя каждого файла при создании ссылки
-- Завершает список опций. 

[свернуть]

***

speedtest-cli - тестирование пропускной способности интернета с помощью speedtest.net.
Установка:
sudo apt install speedtest-cli
Использование: 
speedtest-cli [-h] [--no-down­load] [--no-upload] [--bytes] [--share]
           [--sim­ple] [--csv] [--csv-delim­iter CSV_DELIMITER]
                    [--csv-head­er] [--json] [--list] [--serv­er SERVER]
                    [--mini MINI] [--source SOURCE] [--time­out TIMEOUT]
                    [--secure] [--no-pre-allo­cate] [--ver­sion]
Ключевые аргументы:
-h, --help                                             Показать эту справку и выйти.
--no-down­load                                   Не измерять скорость загрузки.
--no-upload                                        Не измерять скорость отдачи.
--bytes                                                Отображать значения в байтах вместо битов. Не применимо к выводу созданному --share, и не выводят из  --json или --csv.
--share                                                Создается ссылка URL-адрес изображения результатов sharestest.net, не применимо к выводу созданному с помощью --csv.
--sim­ple                                              Отмена подробного вывода, показывать только основную информацию.
--csv                                                    Показывать только основную информацию в формате CSV. Результат выводится в бит/с. --bytes не применимо.
--csv-delim­iter  "CSV_DELIMITER" Одиночный разделитель символов для использования в выводе CSV. По умолчанию ","
--csv-head­er                                       Печать заголовков CSV
--json                                                   Показывать только основную информацию в формате JSON.Результат выводится в бит/с. --bytes не применимо.
--list                                                    Отобразить список серверов speedtest.net.
--serv­er "ID SERVER"                        Укажите идентификатор сервера для проверки (смотри список ниже)
--mini "MINI"                                       URL of the Speedtest Mini server
--source "SOURCE"                           Source IP address to bind to
--time­out "TIMEOUT"                         Время ожидания HTTP в секундах. По умолчанию 10
--secure                                               Используйте HTTPS вместо HTTP при обращении к серверам, управляемым speedtest.net
--no-pre-allo­cate                                 Не предраспределять исходящие данные. Предраспределение включено по умолчанию для повышения производительности загрузки.
Используйте эту опцию, чтобы избежать ошибкок памяти в системах с недостаточным ее объемом.
--ver­sion                                              Показать номер версии и выйти. 
Exam­ple: speedtest-cli --serv­er 1168
где 1168 это id "Astana"…"Kaza­kht­ele­com"
 * server_to_test_against.txt
В открывшейся вкладке найдите поиском название города на латинице, затем скопируйте цифровое значение идентификатора - id="XXXXX" и вставьте в команду.
P. S.
$ speedtest-cli --list | grep Astana
1168) Kaza­kht­ele­com (Astana, Kaza­khstan) [191.88 km]
2802) KCell JSC (Astana, Kaza­khstan) [191.88 km]
5078) Bee­line KZ (Astana, Kaza­khstan) [191.88 km]
20152) Transt­ele­com JSC (Astana, Kaza­khstan) [191.88 km]
$ speedtest-cli --serv­er 2802 # для сервера KCell JSC (Astana, Kazakhstan)

[свернуть]

***

find — утилита поиска файлов по имени и другим свойствам. 

Может производить поиск в одном или нескольких каталогах с использованием критериев, заданных пользователем (по умолчанию, find находит все файлы в рабочей директории), а также позволяет пользователю применять определённые действия к найденным файлам. Поддерживаются регулярные выражения. Для поиска файлов по содержимому следует пользоваться утилитой grep.
-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки. Опция `-name' различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname'.
-type — тип искомого: b=специальный блочный файл, c=специальный символьный файл, f=обычный файл, d=каталог, l=ссылка (link), p=именованный канал (pipe), s=сокет.
-user — владелец: имя пользователя или UID.
-group — владелец: группа пользователя или GID.
-perm — указываются права доступа.
-size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).
-atime — время последнего обращения к файлу (в днях).
-amin — время последнего обращения к файлу (в минутах).
-ctime — время последнего изменения владельца или прав доступа к файлу (в днях).
-cmin — время последнего изменения владельца или прав доступа к файлу (в минутах).
-mtime -n +n — поиск файлов по дате изменения, менее (-) или более (+) дней назад.
-mmin — время последнего изменения файла (в минутах).
-new­er другой_файл — искать файлы созданные позже, чем другой_файл.
-delete — удалять найденные файлы.
-ls — генерирует вывод как команда ls -dgils.
-print — показывает на экране найденные файлы.
-print0 — выводит путь к текущему файлу на стандартный вывод, за которым следует символ ASCII NULL (код символа 0).
-exec com­mand {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.
-ok — перед выполнением команды указанной в -exec, выдаёт запрос.
-depth или -d — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.
-maxdepth — максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом.
-prune — используется, когда вы хотите исключить из поиска определённые каталоги.
-mount или -xdev — не переходить на другие файловые системы.
-regex — искать по имени файла используя регулярные выражения.
-regex­type тип — указание типа используемых регулярных выражений.
-P — не разворачивать символические ссылки (поведение по умолчанию).
-L — разворачивать символические ссылки.
-emp­ty — только пустые каталоги.
Примеры на википедии

[свернуть]

***

youtube-dl - утилита скачивает видео с youtube.com и других видеоплатформ. 

youtube-dl - это программа командной строки для загрузки видео, аудио, субтитров не только с сайта YouTube.com, но и с огромного количества ресурсов потокового видео.

УСТАНОВКА

sudo apt-get install youtube-dl

Утилита pip обновит youtube-dl, если вы уже установили ее ранее:

sudo apt-get update
sudo apt-get install python-pip
sudo pip install --upgrade pip
sudo pip install --upgrade youtube-dl
Дополнительную информацию см. На странице pypi.

СИНТАКСИС
        youtube-dl OPTIONS (#options) URL [URL …]
URL - ссылка на страницу просмотра видеофайла.

Поддерживается большой выбор настроек, некоторые из них:

-F, --list-for­mats
вывод списка доступных форматов медиафайла;

-f, --for­mat FORMAT
укажите 'id' из списка доступных форматов. Возможно использование косой черты для нескольких вариантов «-f 22/17/18». Также можно использовать указание «-f mp4» и «-f flv», поддерживаются специальные имена "best", "bestau­dio", "worst", and "worstau­dio". По умолчанию youtube-dl скачивает в максимальном качестве;

-a, --batch-file FILE
используйте созданный текстовый файл, содержащий URL-адреса для загрузки;

-i, --ignore-errors
продолжить при ошибках загрузки, например, пропустить недоступное видео в плейлисте;

-t, --title
использовать заголовок для названия файла;

-write-sub
записать файл субтитров;

--sub-lang LANGS
языки субтитров для загрузки  (опционально), разделенные запятыми, используйте IETF языковые теги, такие как 'en, ru, pt';

-x, --extract-audio
конвертировать видеофайлы в аудио-файлы (требуется ffm­peg или avconv и ffprobe или avprobe);

--audio-for­mat FORMAT
укажите качество или формат аудио "best", "aac", "vor­bis", "mp3", "m4a", "opus", или "wav"; best по умолчанию;

-h, --help
распечатать текст справки и выйти;
Для более подробной информации используйте man youtube-dl.

[свернуть]

du - определение использования дискового пространства для каталогов и файлов. 

СИНТАКСИС

du [OPTION] … [FILE] …

du [OPTION] … --files0-from = F

ОПИСАНИЕ

Обязательные аргументы для длинных опций также обязательны для коротких опций.

-0, --null
завершать каждую выходную строку с помощью ПРОБЕЛа, а не новой строки;

-a, --all
количество записей для всех файлов, а не только каталогов;

--appar­ent-size
указывать существующие размеры, а не использованное место на диске;

-B, --block-size = SIZE*
Выводить размеры в блоках длиной 'SIZE' байт.; например, «-BM» печатает размеры в единицах 1 048 576 байт;

-b, --bytes
эквивалент '--appar­ent-size -block-size = 1'

-c, --total
Показать общий размер;

-D, --deref­er­ence-args
разыменовать только символьные ссылки, перечисленные в командной строке. Не учитывать каталоги-ссылки;

-d, --max-depth = N
Вывести общий размер для каталога (или файла с помощью --all), только если объект находится на равном или меньшем уровне глубины 'N' заданого в командной строке;

--max-depth=0
То же самое, что и '-s, --sum­ma­rize';

--files0-from=F
суммировать вывод использования диска с именами файлов с завершающим Пробелом, указанными в файле F; если F ЭТО '-', то читать имена из стандартного ввода

-H
эквивалентно -deref­er­ence-args (-D)

-h, --human-read­able
Вывести размеры в читаемом для человека формате (например, 1K 234M 2G)

--inodes
Выдаётся информация о количестве использованых inode'ов в директории вместо информации о блоках. 

-k
То же самое, что и '--block-size = 1K', по умолчанию 512 байт;

-L, --deref­er­ence
Раскрывать символические ссылки. Указывать объем объектов на которые ссылаются ссылки вместо размера самих ссылок;

-l, --count-links
Указывать объем занятого пространства всеми объектами, включая жесткие ссылки.

-m
То же самое, что и '--block-size = 1M', по умолчанию 512 байт;

-P, --no-deref­er­ence
Не учитывать символьные ссылки (это значение по умолчанию)

-S, --sep­a­rate-dirs
Показать размер каталогов, не включая размер подкаталогов;

--si
как -h,опция использует официальные единицы измерения SI, используется 1000 вместо 1024;

-s, --sum­ma­rize
Отображать только общий размер для каждого аргумента;

-t, --thresh­old = SIZE*
Исключить записи, меньшие, чем 'SIZE' , если 'SIZE' положительное, или записи, имеющие большую величину, если значение 'SIZE' отрицательное;

--time
Показать время последней модификации любого файла в каталоге или любого из его подкаталогов;

--time = WORD
Показать время как 'WORD' вместо времени модификации, которое может быть: atime, access, use, ctime or sta­tus;

--time = STYLE
Показать время показа с помощью 'STYLE', вместо времени модификации, которое может быть: full-iso, long-iso, iso или + FORMAT; FORMAT интерпретируется как «дата»;

-X, --exclude-from = FILE
Исключить файлы, соответствующие любому шаблону 'FILE';

--exclude = PATTERN
Исключить файлы, соответствующие 'PATTERN';  PATTERN - это шаблон оболочки (не регулярное выражение). Шаблон ? соответствует любому символу, тогда как * соответствует любой записи (состоящей из нуля, одного или нескольких  аргументов). Например, '* .o' будет соответствовать любым файлам, имена которых заканчиваются на .o. Поэтому команда du --exclude = '*. o' пропустит все файлы и подкаталоги, заканчивающиеся на .o (включая сам файл .o).

-x, -one-file-sys­tem
Пропустить каталоги из других (разных) файловых систем;

--help
Отобразить эту справку и выйти;

--ver­sion
Вывести информацию о версии и выйти;

Отображаемые значения находятся в единицах первого доступного SIZE от --block-size и переменных окружения DU_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE. В противном случае единицы по умолчанию - 1024 байта (или 512, если установлен POSIXLY_CORRECT).

* Параметр SIZE представляет собой целочисленный и дополнительный блок (пример: 10K - 10 * 1024). Единицы K, M, G, T, P, E, Z, Y (соотносятся к 1024) или KB, MB, … (соотносятся к 1000).

[свернуть]

 

***

Назад к списку команд.

***

«UNIX прост. Но надо быть гением, чтобы понять его простоту» — Деннис Ритчи.

Добавить комментарий