Конечно же, временами гибкости таких шаблонов оказывается недостаточно, например, как быть, когда требуется получить список файлов, начинающихся и на букву "i", и на букву "p"? В MS-DOS с этим приходится управляться в два захода, последовательно отдавая команды "dir i*" и "dir p*". UNIX же с этой проблемой управляется за один присест! Например, так:
$ ls /etc/[ip]*
/etc/in.ftpd /etc/inetd.conf /etc/passwd
/etc/in.rlogind /etc/inetd.exe /etc/passwd.add
/etc/in.rshd /etc/inetdconfig.sh /etc/priv.exe
/etc/in.telnetd /etc/init.exe /etc/profile
А как быть, если необходимо отобразить все файлы, в имени которых присутствует хотя бы одна цифра? Неужели придется писать утомительно длительную последовательность "ls *[0123456789]*"? К счастью нет! - необходимый интервал можно задать следующим образом: "[0-9]", например, вот так:
$ls /etc/*[0-9]*
/etc/k1y /etc/mkss2old /etc/track7
Если такой информации окажется недостаточно и потребуется узнать, скажем, права доступа к файлу, имя владельца и время последнего изменения, то воспользуйтесь ключом "-l" (маленькая латинская буква L, не спутайте с единицей). Например, так:
ls –l /etc
-rwxr–-r–- 1 root Everyone 46 Feb 16 1999 crontab
-rwxr–-r–- 1 root Everyone 19968 Feb 17 1999 mkpasswd.exe
drwxr–-r–- 2 root Everyone 512 Jul 2 16:52 mydir
-rwxr––r–- 1 root Everyone 119 Jul 1 12:45 passwd
lrwxr–-r–- 1 root Everyone 20 Jun 4 03:10 services -> /C/WINDOWS//services
-rwxr––r–- 1 root Everyone 88 Feb 17 1999 shells
-rwxr–-r–- 1 root Everyone 73216 Feb 2 07:25 ums.exe
Первая слева колонка сообщает права доступа. Она состоит из тех трехсимвольных групп, определяющих права доступа создателя (то бишь владельца файла), его группы и всех остальных пользователей. Каждая группа в свою очередь состоит из трех атрибутов, разрешающих чтение (r), запись (w) и исполнение (x).