Linux ls command

Общий синтаксис

find <где искать> <опции>

<где искать> — путь к корневому каталогу, откуда начинать поиск. Например, find /home/user — искать в соответствующем каталоге. Для текущего каталога нужно использовать точку «.».

<опции> — набор правил, по которым выполнять поиск.

* по умолчанию, поиск рекурсивный. Для поиска в конкретном каталоге можно использовать опцию maxdepth.

Описание опций

Опция Описание
-name Поиск по имени.
-iname Регистронезависимый поиск по имени.
-type

Тип объекта поиска. Возможные варианты:

  • f — файл;
  • d — каталог;
  • l — ссылка;
  • p — pipe;
  • s — сокет.
-size Размер объекта. Задается в блоках по 512 байт или просто в байтах (с символом «c»).
-mtime Время изменения файла. Указывается в днях.
-mmin Время изменения в минутах.
-atime Время последнего обращения к объекту в днях.
-amin Время последнего обращения в минутах.
-ctime Последнее изменение владельца или прав на объект в днях.
-cmin Последнее изменение владельца или прав в минутах.
-user Поиск по владельцу.
-group По группе.
-perm С определенными правами доступа.
-depth Поиск должен начаться не с корня, а с самого глубоко вложенного каталога.
-maxdepth Максимальная глубина поиска по каталогам. -maxdepth 0 — поиск только в текущем каталоге. По умолчанию, поиск рекурсивный.
-prune Исключение перечисленных каталогов.
-mount Не переходить в другие файловые системы.
-regex По имени с регулярным выражением.
-regextype <тип> Тип регулярного выражения.
-L или -follow Показывает содержимое символьных ссылок (симлинк).
-empty Искать пустые каталоги.
-delete Удалить найденное.
-ls Вывод как ls -dgils
-print Показать найденное.
-print0 Путь к найденным объектам.
-exec <команда> {} \; Выполнить команду над найденным.
-ok Выдать запрос перед выполнением -exec.

Также доступны логические операторы:

Оператор Описание
-a Логическое И. Объединяем несколько критериев поиска.
-o Логическое ИЛИ. Позволяем команде find выполнить поиск на основе одного из критериев поиска.
-not или ! Логическое НЕ. Инвертирует критерий поиска.

Полный набор актуальных опций можно получить командой man find.

Linux урок 6. Поиск файлов/директорий/ссылок. Команда find

655

19

1

00:12:36

07.09.2020

Поиск файлов/директорий/ссылок. Команда find

Прежде чем выполнить поиск мы задаемся вопросами:

-где искать? (Например в текущей директории)
-что искать? (файлы или директории или ссылки)
-свойство/значение искомого? (дата_создания, размер_файлов, расширение и т.п.)

Утилита/команда find — позволяет производить гибкую настройку поиска.

Команда find в стандартном исполнении производит поиск по имени ссылки в ТЕКУЩЕЙ ДИРЕКТОРИИ. Выводит на экран все доступные файлы, директории, ссылки с указанным именем.

ПОИСК С ПОМОЩЬЮ КЛЮЧЕЙ -type, -name

Ключ -type — поиск файлов, папок, символьных ссылок по типу. Выведет все доступные файлы/директории/ссылки:

Значения:
f-файл
d-директория
l-ссылка (В ДАННОМ УРОКЕ ССЫЛКИ МЫ НЕ РАССМАТРИВАЕМ, ТАК КАК НЕ КОСНУЛИСЬ ТЕМЫ ССЫЛОК!)

Поиск в текущей директории:
Синтаксис:
find -type f,d,l

Пример:
find -type d

Поиск с указанием директории поиска.
Синтаксис:
find директория_поиска -type f,d,l
Пример:
find /home/hitruk -type f

Ключ -name — поиск файлов, папок, символьных ссылок по имени.

Поиск в текущей директории:
Синтаксис:
find -name ‘имя_искомого_файла’
Пример:
find -name ‘readme’

Поиск с указанием директории поиска:
Синтаксис:
find имя_директория_поиска -name’имя_искомого_файла’
Пример:
find /home/hitruk -name ‘readme’

ПОИСК С ПОМОЩЬЮ КОМБИНАЦИИ КЛЮЧЕЙ -name, -type.
Возможно использовать как с указанием директории поиска, так поиском в текущей директории.

* — «подстановочный» знак последовательности символов. Использует любую из указанной последовательности символов, включая отсутствие символов.

Пример:
‘*readme.’
‘*.txt’

Найти все файлы, которые заканчиваются на .conf:
Синтаксис:
find имя_директории -type f -name «*.conf»
Пример:
find /home -type f -name «*.conf»

Для ознакомления.

Дополнительные значения, например ключ -size, -mtime

Найти все файлы с именем readme*, размер которых больше 5 Килобайт.
Пример:
find /home -type f -name ‘readme*’ -size -5k

Найти все файлы с именем readme*, которые были изменены за последние 10 дней.
Пример:
find /home -type f -name ‘readme*’ -mtime -10

LS

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

Стандартный вывод программы выглядит так:

Это стандартный вывод команды, мы видим все каталоги и файлы в директории где мы находимся.
Каталоги отмечены синим цветом, файлы белым.

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

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

Все ключи вводятся сразу после команды  и команда приобретает следующий вид

ls -l

Теперь посмотрим на примеры выполнения команды с ключами.

ls -l

Вывод разбит на столбцы, каждый столбец отображает определенную информацию.

Слева направо — Права доступа, Количество ссылок, Владелец, Группа владельца, Размер в байтах, Время последнего изменения, Название файла.

В первом столбце отображаются права доступа к файлу, однако что первый символ в текущем выводе иногда «-», а иногда «d».
Этот первый символ указывает на тип файла.

— обычный файл — директория

Есть еще и другие типы файлов.

При выполнении команды с этим ключом, выводится путь к каталогу, а после двоеточия список файлов и подкаталогов.

ls -m

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

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

Так же помним, что linux чувствителен к регистру, команда  и  разные. Каталоги  и  тоже разные.

Не забываем об этом.

05 мая 2015, 22:07
  
Александр

Linux

  
4172

Из этой категории

  • Opera не показывает некоторые видео в linuxАвтоматическая смена MAC-адреса в LinuxНастройка принтера HP LaserJet 1018 в Debian 10Установка LAMP-сервера и phpMyAdmin в Debian 10Установка XAMPP в Debian 10 (Ubuntu) LinuxОтключить пароль SUDO в LinuxBash-команды для экономии времениУстанавливаем Brackets в Debian 10Работа с пакетами при помощи dpkgНастройка Linux Debian 10

Управление процессами в Linux.

ps
ps —help
Список всех процессов, запущенных в системе:ps -e — выдаст список процессов с идентификаторами
( PID ) и их именами
или:ps -eF — выдаст тот же список процессов, но с полной строкой запуска
список задач, порожденных пользователем user:ps -U user
список задач, связанных с текущим терминалом:ps -T
список задач, связанных с терминалом N:ps t ttyN
Если список задач большой, а нас интересует состояние одной или нескольких
задач, можно воспользоваться grep:ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени
    Для получения сведений об использовании ресурсов компьютера можно
воспользоваться командой top

В верхней части окна выводятся суммарные данные о состоянии системы —
текущее время,
время с момента загрузки системы, число пользователей в системе,
число процессов в разных состояниях,
данные об использовании процессора и памяти.
Ниже выводится таблица, характеризующая отдельные процессы.
Число строк, отображаемых в этой таблице, определяется размером окна.
Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h
выводит справку по командам, которые позволяют изменить формат отображаемых данных
и управлять некоторыми параметрами процессов в системе:

s или d — изменить
интервал обновления окна.

z — цветное/черно-белое отображение

n или # — количество отображаемых
процессов
Можно отсортировать список процессов по использованию ресурсов процессора
(P), памяти (M),
времени выполнения (T) и т.п.
    В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:

k — снять ( kill ) задачу. По этой команде будет
запрошен идентификатор процесса ( PID ), после ввода которого, процесс будет
завершен.

r — изменить текущий приоритет задачи (renice).
Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение
приоритета (отображается в колонке NI). Диапазон значений приоритетов — от минус 20
(наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только
пользователь root.
    Для выхода из top нажмите q

    Эти же действия (принудительное завершение процесса и изменение его приоритета)
можно выполнить и без команды top.
    Процессы в Linux имеют возможность обмениваться
так называемыми «сигналами» с ядром и другими процессами. При получении сигнала
процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов.
Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:kill номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
Определим идентификатор процесса mc:ps -e | grep mc
Пусть PID= 11597.

Linux Команды LS и LL используют методы и основные различия

Команда linux. ls с участием ll Как использовать:

ll:СписокТекущийПодробности файла или каталога, со временем, разрешения на чтение / запись, размер, время и т. Д., Подробная информация отображается как Windows. Л. Л. псевдоним «LS -L». Совсем в ярлыках в окнах. Может понять ll с участием ls -l Функция одинакова, ll да ls -l изПсевдоним。

ls:Только ЛУО перечисленыТекущийИмя файла или имя каталога похоже на список файлов в Windows.

Один,ll Да ls -l Способ просмотра псевдонима, используйте :(alias) Просмотр псевдонима.

два,ls Можно сказать, что команда находится под LinuxНаиболее используемоеОдна из команд.

Ls

-a Перечислите все файлы в каталоге, включая запуск скрытых файлов.-A Все файлы, кроме «». «И» и «..» отображаются.-k Представляет размер файла в виде K bytes.-l Перечислите детали файла.-s Выведите размер файла после каждого имени файла.-t Сортировать по времени.-u Сортировать к тому времени, доступ к в прошлый раз.-S Сортировать по размеру файла.-R Перечислите файлы во всех подкаталоге.-p -F К каждому имени файла прикреплено символ, чтобы объяснить тип файла.»*»:Представляет исполняемый нормальный файл;»/»:Каталог;“@”:Указывает на символическую ссылку;“|”:FIFOS;“=”:Указывает на розетки.-X Сортировать по расширению файла (последний.).-m Имя горизонтального выходного файла — «», нажмите.—color=no Цветное имя файла   1. синий-> Каталог   2. зеленый-> Исполняемый документ   3. красный-> Сжатый файл   4. Светло-синий-> файл ссылки   5. серый-> Другие файлы -b перечислены символы, в которых имя файла не выводится с обратной ячейкой (как на языке C).-c Собирается время модификации I узел выходного файла.-d отображает файл значка каталога, а не отображать файл под ним.Вся информация о выходном времени, а не извлекающаяся информация.-F -U не сортирует выходные файлы.-G бесполезно.Индекс информации I узема выходного файла.-n заменяет имя с количеством UID, GID.-O Отображает подробную информацию о групповой информации файла.-Q вместо неотъемлемого вывода.-R Сортировать по обратному каталогу.-x списки горизонтально, сбоку.-B не выводит резервный файл, заканчивающийся с помощью «~».-C Выход отсортирован в вертикальном выходе.-G информация группы выходных файлов.-L Перечисляет имя файла ссылки вместо файла, который связан.-N не ограничивает длину файла.-Q помещает выходное имя файла двойным цитатам.-1 линия только выводит файл.- Справка отображает справочную информацию о стандартном выходе.—Version выводы информации о версии на стандартном выходе и выходах.

В-третьих, экземпляр

-F Тип файла (тип файла). Добавьте символ после каждого элемента списка. Эти символы включают в себя:

/ :Указывает, что это каталог;@ :Указывает, что это символическая ссылка на другие файлы;* :Указывает, что это исполняемый файл.

1. Запрос под текущей папкойФайл каталога

$ ls -f | grep «/ $» # Запрос папки в текущем каталоге

$ ls -f | greep «/» # Запрос папки в текущем каталоге

$ ls -al | grep «^ d» # Запрос папки в текущем каталоге

2, запрос под текущей папкойфайл

$ ls -al | grep «^ -» # Запрос файлов в текущем каталоге

3, запросить текущую папкуСимволическая ссылка Файл

$ LS -F | GREP «@» # Запрос символический файл ссылок в текущем каталоге

4, запрос под текущей папкойзапускаемый файл

$ ls -f | grep «*» # Запрос исполняемого файла текущего каталога

5, запрос под текущей папкойКоличество файлов

$ LS -AL | GREP «^ -» | wc -l # queries Количество файлов в текущем каталоге

Linux Commune RSS Адрес: https://www.linuxIdc.com/rssfeed.aspxЭта статья постоянно обновляет адрес ссылки:https://www.linuxidc.com/Linux/2018-07/153131.htm

Использование тоннелей

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

ls -lt | head -n 5

С помощью утилиты xargs вы можете комбинировать команды таким образом, чтобы стандартный ввод передавался в параметры. Например, скопируем один файл в несколько папок:

echo test/ tmp/ | xargs -n 1 cp -v testfile.sh

Здесь параметр -n 1 задает, что для одной команды нужно подставлять только один параметр, а опция -v в cp позволяет выводить подробную информацию о перемещениях. Еще одна, полезная в таких случаях команда — это tee. Она читает данные из стандартного ввода и записывает в стандартный вывод или файлы. Например:

echo «Тест работы tee» | tee file1

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

Управление аккаунтами пользователей

Обычные и системные аккаунты

Имя пользователя (Username)Пароль:UID:GID:Поле комментариев (Comment field):Каталог (Directory):Оболочка (Shell):/sbin/nologinПример содержимого /etc/shadow.

Следующие поля определены в /etc/shadow:Имя для входа:Зашифрованный пароль:Дни с 1 января 1970 года, когда пароль последний раз изменялся:За несколько дней до того, как пароль может быть изменен:Дни, после которых пароль должен быть изменен:За несколько дней до истечения срока действия пароля пользователь получает предупреждение:Через несколько дней после истечения срока действия пароля эта учетная запись отключена:Дни с 1 января 1970 года эта учетная запись отключена:Зарезервированное поле, которое когда-то было добавлено «для будущего использования»:passwd chage

Изменение файлов конфигурации

vipwvipw -svigrПриятно знать, что vipw и vigr существуют, но лучше не использовать эти утилиты или что-либо еще, что напрямую открывает файлы конфигурации пользователя и группы. Вместо этого используйте такие инструменты, как useradd и groupmod.

Файлы конфигурации для управления пользователями по умолчанию

Список некоторых наиболее важных свойств, которые можно установить в /etc/login.defs:MOTD_FILE:ENV_PATH:PASS_MAX_DAYSPASS_MIN_DAYSPASS_WARN_AGEUID_MIN:CREATE_HOME:USERGROUPS_ENAB:

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

Для создания пользовательской среды несколько файлов играют роль:

  • /etc/profile: используется для настроек по умолчанию для всех пользователей при запуске оболочки входа;
  • /etc/bashrc: используется для определения значений по умолчанию для всех пользователей при запуске подоболочки;
  • ~/.profile: специальные настройки для одного пользователя, применяемые при запуске оболочки входа;
  • ~/.bashrc: специальные настройки для одного пользователя, применяемые при запуске подоболочки.

В этом примере вы применяете общие решения для создания учетных записей пользователей.vim /etc/login.defsCREATE_HOMEUSERGROUPS_ENABcd /etc/skelmkdir Picturesmkdir Documentsexport EDITOR=/usr/bin/vimuseradd lindaid lindapasswd lindapasswd -n 30 -w 3 -x 90 linda-x 90-w 3-n 30for i in lisa lori bob; do useradd $i; donegrep lori /etc/passwd /etc/shadow/ etc/group

Каналы

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

Пример

В результате каждый файл текущего каталога будет размещен на новой строке:

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

Пример

Для сохранения имен файлов, содержащих строку «LOG», используется следующая команда:

Вывод команды dir отсылается в команду-фильтр find. Имена файлов, содержащие строку «LOG», хранятся в файле loglist в виде списка (например, Config.log, Logdat.svd и Mylog.bat).

При использовании нескольких фильтров в одной команде рекомендуется разделять их с помощью знака канала |.

Перенаправить вывод в файл

Все очень просто. Вы можете перенаправить вывод в файл с помощью символа >. Например, сохраним вывод команды top:

top -bn 5 > top.log

Опция -b заставляет программу работать в не интерактивном пакетном режиме, а n — повторяет операцию пять раз, чтобы получить информацию обо всех процессах. Теперь смотрим что получилось с помощью cat:

Символ «>» перезаписывает информацию из файла, если там уже что-то есть. Для добавления данных в конец используйте «>>». Например, перенаправить вывод в файл linux еще для top:

top -bn 5 >> top.log

По умолчанию для перенаправления используется дескриптор файла стандартного вывода. Но вы можете указать это явно. Эта команда даст тот же результат:

top -bn 5 1>top.log

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

Стандартный вывод записывает данные, сгенерированные программой. Когда стандартный выходной поток не перенаправляется в какой-либо файл, он выводит текст на дисплей терминала.

При использовании без каких-либо дополнительных опций, команда echo выводит на экран любой аргумент, который передается ему в командной строке:

Аргументом является то, что получено программой, в результате на дисплей терминала будет выведено:

При выполнении echo без каких-либо аргументов, возвращается пустая строка.

Пример

Команда объединяет три файла: file1, file2 и file3 в один файл bigfile:

Команда cat по очереди выводит содержимое файлов, перечисленных в качестве параметров на стандартный поток вывода. Стандартный поток вывода перенаправлен в файл bigfile.

Выводы

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

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

Linux система, например, Ubuntu 16.04

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

Стандартный вывод и стандартная ошибка отображаются на дисплее терминала пользователя в виде текста.

Ввод и вывод распределяется между тремя стандартными потоками:

  • stdin — стандартный ввод (клавиатура)
  • stdout — стандартный вывод (экран)
  • stderr — стандартная ошибка (вывод ошибок на экран)

Потоки также пронумерованы:

Из стандартного ввода команда может только считывать данные, а два других потока могут использоваться только для записи. Данные выводятся на экран и считываются с клавиатуры, так как стандартные потоки по умолчанию ассоциированы с терминалом пользователя. Потоки можно подключать к чему угодно: к файлам, программам и даже устройствам. В командном интерпретаторе bash такая операция называется перенаправлением:

  • file — Направить стандартный поток вывода в файл. Если файл не существует, он будет создан, если существует — перезаписан сверху
  • 2> file — Направить стандартный поток ошибок в файл. Если файл не существует, он будет создан, если существует — перезаписан сверху
  • >>file — Направить стандартный поток вывода в файл. Если файл не существует, он будет создан, если существует — данные будут дописаны к нему в конец
  • 2>>file — Направить стандартный поток ошибок в файл. Если файл не существует, он будет создан, если существует — данные будут дописаны к нему в конец
  • &>file или >&file — Направить стандартный поток вывода и стандартный поток ошибок в файл. Другая форма записи: >file 2>&1
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: