Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Розширення назви шляху

Механізм, за яким працюють символи підстановки, називається розширення імені шляху. Якщо ми спробуємо деякі з методів, які ми використовували в наших попередніх розділах, ми побачимо, що вони насправді є розширеннями. Дано домашній каталог, який виглядає так:



[me@linuxbox ~]$ ls

Настільний ls-output.txt

фотографії

шаблони

Документи Музика

громадськості

Відео


ми могли б здійснити такі розширення:



[me@linuxbox ~]$ луна D*

Документи на робочому столі

[me@linuxbox ~]$ луна D*

Документи на робочому столі


і:



[me@linuxbox ~]$ відлуння *с

Документи Картинки Шаблони Відео

[me@linuxbox ~]$ відлуння *с

Документи Картинки Шаблони Відео


або навіть:



[me@linuxbox ~]$ луна [[:upper:]]*

Документи для робочого столу Музика Картинки Загальнодоступні шаблони Відео

[me@linuxbox ~]$ луна [[:upper:]]*

Документи для робочого столу Музика Картинки Загальнодоступні шаблони Відео


і дивлячись за межі нашого домашнього каталогу:



[me@linuxbox ~]$ echo /usr/*/share

/usr/kerberos/share /usr/local/share

[me@linuxbox ~]$ echo /usr/*/share

/usr/kerberos/share /usr/local/share


зображення

Розширення шляху до прихованих файлів

Як відомо, імена файлів, які починаються з крапки, приховані. Розширення назви шляху також поважає цю поведінку. Таке розширення, як:

луна*

не розкриває приховані файли.

На перший погляд може здатися, що ми можемо включити приховані файли в розширення, починаючи шаблон з початкової точки, наприклад:

луна .*

Це майже працює. Однак, якщо ми уважно розглянемо результати, ми побачимо, що назви «.» і «..» також з’являться в результатах. Оскільки ці назви посилаються на поточний робочий каталог і його батьківський каталог, використання цього шаблону, ймовірно, призведе до неправильного результату. Ми можемо побачити це, якщо спробуємо виконати команду:

ls -d .* | менше

Щоб краще розширити ім’я шляху в цій ситуації, ми повинні використовувати більш конкретний шаблон:

луна .[!.]*

Цей шаблон поширюється на кожне ім’я файлу, яке починається з крапки, не включає другу крапку і за яким слідують будь-які інші символи. Це буде правильно працювати з більшістю прихованих файлів (хоча воно все одно не включатиме назви файлів із кількома початковими крапками). The ls з командою -A параметр («майже всі») надасть правильний список прихованих файлів:

ls -A


Найпопулярніші хмарні обчислення ОС на OnWorks: