Примеры команды parted в Linux

Стандартные потоки ввода и вывода в Linux являются одним из наиболее распространенных средств для обмена информацией процессов, а перенаправление >, >> и | является одной из самых популярных конструкций командного интерпретатора.

Стандартный ввод

Стандартный входной поток обычно переносит данные от пользователя к программе. Программы, которые предполагают стандартный ввод, обычно получают входные данные от устройства типа клавиатура. Стандартный ввод прекращается по достижении EOF (конец файла), который указывает на то, что данных для чтения больше нет.

EOF вводится нажатием сочетания клавиш Ctrl+D.

Рассмотрим работу со стандартным выводом на примере команды cat (от CONCATENATE, в переводе “связать” или “объединить что-то”).

Cat обычно используется для объединения содержимого двух файлов.

Cat отправляет полученные входные данные на дисплей терминала в качестве стандартного вывода и останавливается после того как получает EOF.

Пример

Введите команду cat без аргументов:

В открывшейся строке введите, например, “1” и нажмите клавишу Enter. На дисплей выводится “1”. Введите “a” и нажмите клавишу Enter. На дисплей выводится “a”.

Дисплей терминала выглядит следующим образом:

[email protected]:~/stream$ cat11aa

Для завершения ввода данных следует нажать сочетание клавиш Ctrl + D.

Примеры использования команды find

Теперь давайте посмотрим на несколько примеров использования команды find в Linux, которые помогут вам в быстром изучении данной утилиты.

Поиск по названию (-name)

Вот простой пример. Следующая команда ищет файл в текущем каталоге:

$ find . -name "" ./

где:

  • . (точка) — означает что файл относится к текущему каталогу
  • -name — указывает критерии, которые должны быть сопоставлены. В данном случае название файла

В данном примере критерий -name учитывает регистр и игнорирует файл Чтобы гарантировать, что ваш поиск нечувствителен к регистру, используйте -iname :

$ find . -iname "" ./ ./

Чтобы найти все .jpg файлы изображений в текущем каталоге, используйте шаблон подстановки *.jpg:

$ find . -name "*.jpg" ./ ./ ./ ./ ./moodle/ ./

Читайте также:  Как установить Skype на телефон: инструкция

Вы можете использовать имя каталога для поиска. Например, чтобы найти все изображения в формате .jpg в каталоге /home:

$ find /home -name "*.jpg" find: `/home/ubuntu/.ssh’: Permission denied /home/vagrant/ /home/vagrant/ /home/me/ find: `/home/me/testfiles’: Permission denied find: `/home/me/data’: Permission denied /home/me/ find: `/home/me/.cache’: Permission denied

Если вы видите слишком много ошибок, связанных с отказом в разрешениях (Permission denied), вы можете добавить опцию 2> /dev/null в конце команды. Она перенаправляет сообщения об ошибках на устройство /dev/null и дает более чистый вывод:

find /home -name "*.jpg" 2>/dev/null /home/vagrant/ /home/vagrant/ /home/me/ /home/me/

Поиск по типу файла

С помощью критерия -type вы можете искать файлы по типу. Типы файлов могут быть:

  • f — простой файл
  • d — директория
  • l — символические ссылки
  • b — блочные устройства (dev)
  • c — символьные устройства (dev)
  • p — именованные каналы
  • s — сокеты

Например, при использовании -type d будут перечислены только каталоги:

$ find . -type d . ./.ssh ./.cache ./moodle

Поиск по размеру файла

Возможно, вам потребуется найти большие файлы и удалить их. В следующем примере за критерием размера файла следует строка +1G. Это приведет к поиску всех файлов размером более 1 ГБ.

$ find . -size +1G ./Microsoft_Office__ ./

Знак + означает поиск файлов, размер которых превышает указанное ниже число. Знак минус (-) может использоваться для обозначения меньшего чем. Отсутствие знака означает точное совпадение размера.

Символ Единица измерения
с Байт
k Килобайт
M Мегабайт
G Гигабайт

Поиск пустых каталогов и файлов

Используйте критерий -empty чтобы найти пустые каталоги и файлы:

$ find . -empty ./ ./datafiles ./ … ./.cache/

Поиск по времени изменения файла

Вы можете искать все файлы и каталоги в зависимости от времени создания или изменения с помощью опции -cmint. Для поиска всех файлов, измененных за последние 60 минут (менее 60), используйте -60 :

$ find . -cmin -60 . ./ ./datafiles

Для файлов, измененных в любое время до последних 60 минут, используйте +60.

Поиск по времени доступа

Вы можете искать файлы по времени последнего доступа с помощью опции -atime. Например, следующая команда ищет файлы, к которым не обращались в течение последних 180 дней:

$ find . -atime +180

Их можно переместить на устройство резервного копирования, если на диске не хватает места.

Поиск по имени пользователя

С помощью опции -user username вы можете искать все файлы и каталоги, принадлежащие пользователю. Например, следующая команда ищет все файлы и каталоги, принадлежащие пользователю ubuntu, в каталоге /home:

$ find /home -user ubuntu 2>/dev/null /home/ubuntu /home/ubuntu/.bash_logout /home/ubuntu/.bashrc /home/ubuntu/.ssh /home/ubuntu/.profile

Читайте также:  Сравнение AirPods 1, 2, 3 (Pro) — в чем разница и что выбрать?

Поиск по режиму

Хотите искать файлы, настроенные для определенного режима, то есть иметь определенный набор разрешений? Используют критерий -perm. В следующем примере выполняется поиск файлов с разрешениями 777:

$ find /home -perm 777

Работа с файлами и директориями Linux

ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd [каталог] #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www* #найти все файлы с названием, заканчивающимся на #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R — рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла

файлов и права доступа.

Права доступа отображаются следующим образом, пример, d|rwx|r-x|r-x данный пример можно разделить на четыре группы, первая группа (d) сообщает о типе файла, вторая (rwx) владельца файла, третья (r-x) права группы, четвертая (r-x) остальных пользователей.

Таблица символов, представляющих права доступа, и типы файлов:

«-» — обычный файл;

«-» — исполняемый файл;

Данная команда отображает обычный и исполняемый файл одним знаком «-»;

«d» — каталог;

«l» — символьная ссылка;

«s» — сокет;

«b» — блочное устройство;

«c» — символьное устройство;

«p» — именованный канал.

По файлам.

Буква «r» «w» «x» означают чтение, запись, выполнение.

Разъяснение, «r» обозначает — «чтение разрешено», буква «w» – «запись разрешена», буква «x» – «выполнение разрешено». Символ «-» в соответствующей позиции означает «данное действие запрещено». Если дефис указан вместо буквы «r», это значит «чтение запрещено». Так же запрещается запись или выполнение, если символ – находится на месте «w» или «x».

Читайте также:  Выпущена iOS 12.3 beta 1 — новая версия для разработчиков

По каталогам.

«r» — можно просматривать содержимое каталога с помощью команды «ls».

«w» — пользователь может включать в каталог новые файлы, а также переименовывать и удалять существующие.

«x» — означает доступ к каталогу, т.е. право выполнять команды, выполняющие определенные действия с файлами из этого каталога, обращаться к подкаталогам данного каталога.

«chgrp» — изменение групп для файлов и каталогов.

Пример, chgrp –v root Видео; команда поменяет текущую группу на root каталога Видео.

R – рекурсивное изменение принадлежности каталога группе.

v – получение подробной информации о действиях выполняемых командой.

с – получение информации по реальным изменениям выполненным командой.

«chown» — изменение владельца и группы для файлов и каталогов.

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

Обозначение прав доступа с использованием символьных обозначений.

chmod[ugo][+-=] [rwx]

«+» — этот символ используется для назначения;

«-» — этот символ используется для удаления;

«=» — этот символ используется для конкретной установки прав.

После выше перечисленных символов указывается буквы (r, w, x, s, s, t).

Символы «r, w, x» были рассмотрены четь выше, но про символы «s, s, t» ни говорилось ни слова, рассмотрим эти символы.

«s» (S) – признак suid указывает на то, что любой пользователь может запускать файл на выполнение справами владельца файла, как будто этот файл запускает сам владелец.

«s» (S) – признак sgid указывает на то, что любой пользователь может запускать файл на выполнение с правами группы.

«t» — признак «striky bit» сообщает системе о том, что файл часто используется и должен находиться в области подкачки для быстрого обращения (в Linyx игнорируется).

Символ «s» может отображаться как в строчном виде, так и в прописном, все зависит от того имел ли пользователь ранее права на исполнение файла, т.е. если пользователь ранее имел право на исполнение, то «s», если таким правом он не обладал, то будет отображено «S», таким образом система предоставляет дополнительную информацию.