- В редакторе mc что означают звёздочки возле файлов?
- В редакторе mc что означают звёздочки возле файлов? ⇐ Прочее технические проблемы и вопросы
- Звездочка перед именем файла в линукс
- Звездочка (*)
- Знак вопроса (?)
- Квадратные скобки ([])
- Диапазоны a-z и 0-9
- Переменная окружения $LANG и квадратные скобки
- Предотвращение формирования списков имен файлов на основе шаблонов
- Практическое задание: формирование списков имен файлов на основе шаблонов
- Корректная процедура выполнения практического задания: формирование списков имен файлов на основе шаблонов
В редакторе mc что означают звёздочки возле файлов?
Прочее технические проблемы и вопросы. Три админа — это сила!
- IVAN 10 дек 2022, 16:41 Отменить RSS-автопостинг в manybotПерейти к последнему сообщению
- Пиздец 20 сен 2022, 10:48 Postimages.org не работает? Там какие-то проблемы?Перейти к последнему сообщению
- Гость_917 12 сен 2022, 22:56 Статусы серверов console.worldoftanks. com/supportПерейти к последнему сообщению
- Марина 15 июн 2022, 13:59 Как в Gimp изменить размер кисти, ластика, карандашаПерейти к последнему сообщению
- afrorus 24 май 2022, 01:09 Internal Linking — внутренняя перелинковкаПерейти к последнему сообщению
- afrorus 18 май 2022, 13:43 BBCode для роликов RUTubeПерейти к последнему сообщению
- afrorus 08 май 2022, 14:44 Guestnumbers (нумерация гостей)Перейти к последнему сообщению
- phpbb 3.3.5 07 май 2022, 21:09 Убрать подчеркивание под ссылками в PHPBB в стиле ProsilverПерейти к последнему сообщению
- anna8900010 06 май 2022, 16:27 Программа которая будет присылать пуш уведомления на телефон от том что исчез интернет на пкПерейти к последнему сообщению
- Altay 13 апр 2022, 13:46 Криптовалюта NEO перестала начислять GASПерейти к последнему сообщению
- Сергей 22 фев 2022, 10:32 Не удалось установить защищенное подключение к серверуПерейти к последнему сообщению
- Incognito2000 27 окт 2021, 23:20 Роутер Huawei B310S-22 не включал передачу данныхПерейти к последнему сообщению
- Гость_921 08 сен 2021, 01:44 0xef in position 335Перейти к последнему сообщению
- Гость_981 08 апр 2021, 17:12 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right synПерейти к последнему сообщению
- Гость_981 05 апр 2021, 22:37 General Error: /phpbb/db/driver/driver.php on line 1020Перейти к последнему сообщению
- Форум админовДругие темыПрочее технические проблемы и вопросы
- Поиск
В редакторе mc что означают звёздочки возле файлов? ⇐ Прочее технические проблемы и вопросы
Сообщение Victor » 21 сен 2013, 21:51
Вижу в редакторе MC, что имена некоторых файлов начинаются со звёздочек. Вот таких *
Что они означают? Как от них избавиться?
Если смотреть файлы в консоли (ls -l), то звездочек нет
Вижу в редакторе MC, что имена некоторых файлов начинаются со звёздочек. Вот таких *
Что они означают? Как от них избавиться?
Если смотреть файлы в консоли (ls -l), то звездочек нет
Сообщение Гость » 22 сен 2013, 10:33
Victor, насколько я помню, звездочки означают, что файл доступен на исполнение текущим пользователем.
[b]Victor[/b], насколько я помню, звездочки означают, что файл доступен на исполнение текущим пользователем.
Звездочка перед именем файла в линукс
Библиотека сайта rus-linux.net
формирование списков имен файлов на основе шаблонов (или динамическую генерацию списков имен файлов). В данной главе даются пояснения относительно работы данного механизма.
Звездочка (*)
Звездочка * интерпретируется командной оболочкой как символ для генерации списка имен файлов, причем сам символ звездочки может преобразовываться в любую комбинацию символов (или даже в строку без символов). В том случае, если не задано пути к директории для формирования списка имен файлов, командная оболочка будет использовать имена файлов из текущей директории. Обратитесь к странице руководства glob(7) для получения дополнительной информации. (Данный вопрос также рассматривается в теме LPI 1.103.3.)
[paul@RHELv4u3 gen]$ ls file1 file2 file3 File4 File55 FileA fileab Fileab FileAB fileabc [paul@RHELv4u3 gen]$ ls File* File4 File55 FileA Fileab FileAB [paul@RHELv4u3 gen]$ ls file* file1 file2 file3 fileab fileabc [paul@RHELv4u3 gen]$ ls *ile55 File55 [paul@RHELv4u3 gen]$ ls F*ile55 File55 [paul@RHELv4u3 gen]$ ls F*55 File55 [paul@RHELv4u3 gen]$
Знак вопроса (?)
Аналогично звездочке, знак вопроса ? интерпретируется командной оболочкой как символ для генерации списка имен файлов, причем сам знак вопроса соответствует ровно одному символу имени файла.
[paul@RHELv4u3 gen]$ ls file1 file2 file3 File4 File55 FileA fileab Fileab FileAB fileabc [paul@RHELv4u3 gen]$ ls File? File4 FileA [paul@RHELv4u3 gen]$ ls Fil?4 File4 [paul@RHELv4u3 gen]$ ls Fil?? File4 FileA [paul@RHELv4u3 gen]$ ls File?? File55 Fileab FileAB [paul@RHELv4u3 gen]$
Квадратные скобки ([])
Открывающаяся квадратная скобка [ интерпретируется командной оболочкой как символ для генерации списка имен файлов, соответствующий любым из символов, находящихся между символом [ и первым следующим за ним символом ] . Порядок следования символов в списке между скобками не имеет значения. Каждая пара символов скобок заменяется ровно на один символ.
[paul@RHELv4u3 gen]$ ls file1 file2 file3 File4 File55 FileA fileab Fileab FileAB fileabc [paul@RHELv4u3 gen]$ ls File[5A] FileA [paul@RHELv4u3 gen]$ ls File[A5] FileA [paul@RHELv4u3 gen]$ ls File[A5][5b] File55 [paul@RHELv4u3 gen]$ ls File[a5][5b] File55 Fileab [paul@RHELv4u3 gen]$ ls File[a5][5b][abcdefghijklm] ls: невозможно получить доступ к File[a5][5b][abcdefghijklm]: Нет такого файла или каталога [paul@RHELv4u3 gen]$ ls file[a5][5b][abcdefghijklm] fileabc [paul@RHELv4u3 gen]$
Также с помощью символа восклицательного знака ! вы можете исключать символы из списка, расположенного между квадратными скобками. Кроме того, у вас имеется возможность создания комбинаций из описанных выше шаблонов .
[paul@RHELv4u3 gen]$ ls file1 file2 file3 File4 File55 FileA fileab Fileab FileAB fileabc [paul@RHELv4u3 gen]$ ls file[a5][!Z] fileab [paul@RHELv4u3 gen]$ ls file[!5]* file1 file2 file3 fileab fileabc [paul@RHELv4u3 gen]$ ls file[!5]? fileab [paul@RHELv4u3 gen]$
Диапазоны a-z и 0-9
[paul@RHELv4u3 gen]$ ls file1 file3 File55 fileab FileAB fileabc file2 File4 FileA Fileab fileab2 [paul@RHELv4u3 gen]$ ls file[a-z]* fileab fileab2 fileabc [paul@RHELv4u3 gen]$ ls file9 file1 file2 file3 [paul@RHELv4u3 gen]$ ls file[a-z][a-z]3* fileab2 [paul@RHELv4u3 gen]$
Переменная окружения $LANG и квадратные скобки
В ходе работы с командной оболочкой не стоит забывать о влиянии на процесс генерации имен файлов значения переменной окружения LANG . Причина этого влияния заключается в том, что в некоторых языках строчные буквы включаются в диапазон прописных букв (и наоборот).
paul@RHELv4u4:~/test$ ls [A-Z]ile? file1 file2 file3 File4 paul@RHELv4u4:~/test$ ls [a-z]ile? file1 file2 file3 File4 paul@RHELv4u4:~/test$ echo $LANG en_US.UTF-8 paul@RHELv4u4:~/test$ LANG=C paul@RHELv4u4:~/test$ echo $LANG C paul@RHELv4u4:~/test$ ls [a-z]ile? file1 file2 file3 paul@RHELv4u4:~/test$ ls [A-Z]ile? File4 paul@RHELv4u4:~/test$
В том случае, если в вашей системе устанавливается значение переменной окружения $LC_ALL , оно также должно быть сброшено для осуществления корректной генерации списков имен файлов.
Предотвращение формирования списков имен файлов на основе шаблонов
В примере ниже не должно быть ничего удивительного. При использовании команды echo * в пустой директории будет выведен символ * . А при использовании той же команды в директории с файлами будут выведены имена всех файлов.
paul@ubu1010:~$ mkdir test42 paul@ubu1010:~$ cd test42 paul@ubu1010:~/test42$ echo * * paul@ubu1010:~/test42$ touch file42 file33 paul@ubu1010:~/test42$ echo * file33 file42
Формирование списков имен файлов на основе шаблонов может быть предотвращено путем помещения специальных символов в кавычки, а также экранирования этих символов таким образом, как показано в примере ниже.
paul@ubu1010:~/test42$ echo * file33 file42 paul@ubu1010:~/test42$ echo \* * paul@ubu1010:~/test42$ echo '*' * paul@ubu1010:~/test42$ echo "*" *
Практическое задание: формирование списков имен файлов на основе шаблонов
1. Создайте тестовую директорию и перейдите в нее.
file1 file10 file11 file2 File2 File3 file33 fileAB filea fileA fileAAA file( file 2
(Имя последнего файла состоит из 6 символов, включая пробел).
3. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file.
4. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File.
5. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file и заканчиваются числовым символом.
6. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file и заканчиваются буквенным символом.
7. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File и имеют пятый числовой символ.
8. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File, имеют пятый числовой символ и никаких символов более.
9. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с буквенного символа и заканчиваются числовым символом.
10. Выведите список всех имен файлов (с помощью команды ls), которые состоят ровно из пяти символов.
11. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с символа f или F и оканчиваются символом 3 или A.
12. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с символа f и оканчиваются числовым символом, причем вторым символом является символ i или R.
13. Выведите список всех имен файлов (с помощью команды ls), которые не начинаются с символа F.
14. Скопируйте значение переменной окружения $LANG в значение переменной окружения $MyLANG.
15. Продемонстрируйте влияние значения переменной окружения $LANG на вывод имен файлов с буквенными символами из диапазонов A-Z или a-z.
16. Вы получили информацию о том, что один из ваших серверов был взломан, причем взломщик, вероятнее всего, подменил бинарный файл с реализацией команды ls . Вы знаете о том, что использование команды echo не несет опасности. Можно ли заменить команду ls командой echo ? Как вы будете выводить список файлов в текущей директории с помощью команды echo ?
17. Существуют ли другие команды, помимо cd, предназначенные для изменения текущей директории?
Корректная процедура выполнения практического задания: формирование списков имен файлов на основе шаблонов
1. Создайте тестовую директорию и перейдите в нее.
file1 file10 file11 file2 File2 File3 file33 fileAB filea fileA fileAAA file( file 2
(Имя последнего файла состоит из 6 символов, включая пробел).
touch file1 file10 file11 file2 File2 File3 touch file33 fileAB filea fileA fileAAA touch "file(" touch "file 2"
3. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file.
4. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File.
5. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file и заканчиваются числовым символом.
6. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки file и заканчиваются буквенным символом.
7. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File и имеют пятый числовой символ.
8. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с строки File, имеют пятый числовой символ и никаких символов более.
9. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с буквенного символа и заканчиваются числовым символом.
10. Выведите список всех имен файлов (с помощью команды ls), которые состоят ровно из пяти символов.
11. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с символа f или F и оканчиваются символом 3 или A.
12. Выведите список всех имен файлов (с помощью команды ls), которые начинаются с символа f и оканчиваются числовым символом, причем вторым символом является символ i или R.
13. Выведите список всех имен файлов (с помощью команды ls), которые не начинаются с символа F.
14. Скопируйте значение переменной окружения $LANG в значение переменной окружения $MyLANG.
15. Продемонстрируйте влияние значения переменной окружения $LANG на вывод имен файлов с буквенными символами из диапазонов A-Z или a-z.
Обратитесь к примеру в книге.
16. Вы получили информацию о том, что один из ваших серверов был взломан, причем взломщик, вероятнее всего, подменил бинарный файл с реализацией команды ls . Вы знаете о том, что использование команды echo не несет опасности. Можно ли заменить команду ls командой echo ? Как вы будете выводить список файлов в текущей директории с помощью команды echo ?
17. Существуют ли другие команды, помимо cd, предназначенные для изменения текущей директории?
Предыдущий раздел: | Оглавление | Следующий раздел: |
Глава 14. История команд командной оболочки | 16. Перенаправление потоков ввода/вывода |