• В Linux не поддерживается понятие «расширения файла», как в некоторых других операционных системах. Вы можете давать своим файлам любые имена. Тип и/или назначение файла определяется другими средствами. Но даже при том, что Unix-подобные операционные системы не используют расширения файлов для определения типа/назначения файлов, некоторые прикладные программы все же используют их для этой цели.
• Хотя Linux поддерживает длинные имена файлов с пробелами и знаками пунктуации, старайтесь не использовать в именах файлов другие знаки пунктуации, кроме точки, дефиса и подчеркивания. Также не используйте пробелы в именах файлов. Наличие пробелов в именах файлов осложняет решение многих задач командной строки — вы это увидите в главе 7. Если необходимо отделить друг от друга слова в имени файла, используйте символы подчеркивания. Потом вы не раз скажете себе спасибо за это.
3. Исследование системы
Теперь, когда мы знаем, как перемещаться по файловой системе, совершим обзорное путешествие по системе Linux. Но прежде чем отправиться, познакомимся еще с несколькими командами, которые пригодятся в пути:
• ls — выводит список содержимого каталога.
• file — определяет тип файла.
• less — выводит содержимое файла.
Любопытные возможности ls
Команда ls является, пожалуй, одной из самых часто используемых команд, и не без оснований. С ее помощью можно увидеть, что находится в каталоге, и узнать некоторые важные атрибуты файлов и каталогов. Как мы уже видели, чтобы получить список файлов и подкаталогов в текущем рабочем каталоге, достаточно ввести команду ls:
>[me@linuxbox ~]$ ls
>Desktop Documents Music Pictures Public Templates Videos
Команде можно явно указать каталог, содержимое которого требуется вывести:
>me@linuxbox ~]$ ls /usr
>bin games kerberos libexec sbin src
>etc include lib local share tmp
и даже несколько каталогов. Следующий пример выведет содержимое домашнего каталога пользователя (обозначен символом ~) и каталога /usr:
>[me@linuxbox ~]$ ls ~ /usr
>/home/me:
>Desktop Documents Music Pictures Public Templates Videos
>/usr:
>bin games kerberos libexec sbin src
>etc include lib local share tmp
Можно также изменить формат вывода, чтобы получить больше информации:
>[me@linuxbox ~]$ ls -l
>total 56
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Desktop
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Documents
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Music
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Pictures
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Public
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Templates
>drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Videos
Параметр -l, добавленный в команду, требует использования «длинного» (long) формата вывода.
Параметры и аргументы
Мы подошли к очень важному моменту, касающемуся особенностей работы большинства команд. Команды часто сопровождаются одним или несколькими параметрами, изменяющими их поведение, и дополнительными, одним или несколькими, аргументами, на которые воздействует команда. Поэтому большинство команд выглядят примерно так: