Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Возвращение на игровую площадку

Пора ставить найдите для некоторого (почти) практического использования. Мы создадим игровую площадку и попробуем кое-что из того, что узнали.


Во-первых, давайте создадим игровую площадку с множеством подкаталогов и файлов:



[я @ linuxbox ~] $ mkdir -p игровая площадка / каталог- {001..100}

[я @ linuxbox ~] $ коснитесь игровая площадка / каталог- {001..100} / файл- {A..Z}

[я @ linuxbox ~] $ mkdir -p игровая площадка / каталог- {001..100}

[я @ linuxbox ~] $ коснитесь игровая площадка / каталог- {001..100} / файл- {A..Z}


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

Метод, который мы использовали для выполнения этой магии, включал знакомую команду (MkDir), экзотическое расширение оболочки (фигурные скобки) и новую команду, трогать, Объединяя MkDir с -p вариант (который вызывает MkDir для создания родительских каталогов указанных путей) с раскрытием фигурных скобок мы смогли создать 100 подкаталогов.

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

На нашей игровой площадке мы создали 100 экземпляров файла с именем файл-A. Найдем их:


[я @ linuxbox ~] $ найти игровую площадку -type f -name 'file-A'

[я @ linuxbox ~] $ найти игровую площадку -type f -name 'file-A'


Обратите внимание, что в отличие от ls, найдите не дает результатов в отсортированном порядке. Его порядок определяется компоновкой запоминающего устройства. Мы можем подтвердить, что у нас действительно есть 100 экземпляров файла:



[я @ linuxbox ~] $ найти игровую площадку -типа f -name 'file-A' | туалет -l

100

[я @ linuxbox ~] $ найти игровую площадку -типа f -name 'file-A' | туалет -l

100


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



[я @ linuxbox ~] $ сенсорная площадка / отметка времени

[я @ linuxbox ~] $ сенсорная площадка / отметка времени


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


о файле и его атрибутах:



[я @ linuxbox ~] $ статистика игровая площадка / отметка времени

Файл: `игровая площадка / отметка времени '

Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов Устройство: 803h / 2051d Inode: 14265061 Ссылки: 1

Доступ: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) Доступ: 2016-10-08 15: 15: 39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400

[я @ linuxbox ~] $ статистика игровая площадка / отметка времени

Файл: `игровая площадка / отметка времени '

Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов Устройство: 803h / 2051d Inode: 14265061 Ссылки: 1

Доступ: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) Доступ: 2016-10-08 15: 15: 39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400


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



[я @ linuxbox ~] $ сенсорная площадка / отметка времени

[я @ linuxbox ~] $ статистика игровая площадка / отметка времени

Файл: `игровая площадка / отметка времени '

Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов Устройство: 803h / 2051d Inode: 14265061 Ссылки: 1

Доступ: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) Доступ: 2016-10-08 15: 23: 33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400

[я @ linuxbox ~] $ сенсорная площадка / отметка времени

[я @ linuxbox ~] $ статистика игровая площадка / отметка времени

Файл: `игровая площадка / отметка времени '

Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов Устройство: 803h / 2051d Inode: 14265061 Ссылки: 1

Доступ: (0644 / -rw-r - r--) Uid: (1001 / me) Gid: (1001 / me) Доступ: 2016-10-08 15: 23: 33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400


Далее воспользуемся найдите чтобы обновить некоторые файлы нашей игровой площадки:


[я @ linuxbox ~] $ найти игровую площадку -type f -name 'file-B' -exec touch '{}' ';'

[я @ linuxbox ~] $ найти игровую площадку -type f -name 'file-B' -exec touch '{}' ';'


Это обновит все файлы на игровой площадке с именем файл-B. Далее мы будем использовать найдите для идентификации обновленных файлов путем сравнения всех файлов с эталонным файлом отметка времени:


[я @ linuxbox ~] $ найти игровую площадку -тип f -новую игровую площадку / метку времени

[я @ linuxbox ~] $ найти игровую площадку -тип f -новую игровую площадку / метку времени


Результаты содержат все 100 экземпляров файл-B. Поскольку мы провели трогать во всех файлах на игровой площадке с именем файл-B после того, как мы обновили отметка времени, теперь они «новее», чем отметка времени и, таким образом, можно отождествить с -новее тест.

Наконец, давайте вернемся к тесту плохих разрешений, который мы выполнили ранее, и применим его к


[я @ linuxbox ~] $ найдите игровую площадку \ (-type f -not -perm 0600 \) -or \ (

-тип d-not -perm 0700 \)

[я @ linuxbox ~] $ найдите игровую площадку \ (-type f -not -perm 0600 \) -or \ (

-тип d-not -perm 0700 \)

Эта команда выводит список всех 100 каталогов и 2600 файлов в детская площадка (так же как отметка времени и детская площадка (всего 2702), потому что ни один из них не соответствует нашему определению «хороших разрешений». Зная операторы и действия, мы можем добавить к этой команде действия, чтобы применить новые разрешения к файлам и каталогам на нашей игровой площадке:



[я @ linuxbox ~] $ найти игровую площадку \ (-type f -not -perm 0600 -exec chmod 0600 '{}' ';' \) -or \ (-type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)

[я @ linuxbox ~] $ найти игровую площадку \ (-type f -not -perm 0600 -exec chmod 0600 '{}' ';' \) -or \ (-type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)


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


Лучшие облачные вычисления для ОС в OnWorks: