UNIX — универсальная среда программирования
Шрифт:
В табл. 1.1 дана краткая сводка описания команд, которые были рассмотрены выше.
ls | Вывод списка имен файлов текущего каталога |
ls filenames | Вывод списка только поименованных файлов |
ls -t | Вывод списка, упорядоченного по времени создания файла (сначала более новые) |
ls -l | Вывод данного списка, содержащего большую информацию; допустимо также ls -lt |
ls -u | Вывод списка, упорядоченного по времени последнего использования; допустимо также ls -lu , ls -lut |
ls -r | Вывод
ls -rt , ls -rit и т.п. |
ed filename | Редактирование поименованного файла |
cp file1 file2 | Копирование file1 в file2 , старое содержимое file2 пропадает, если оно было |
mv file1 file2 | Переименование file1 в file2 ; старый file2 исчезает, если он был |
rm filenames | Удаление поименованных файлов безвозвратно |
cat filenames | Вывод содержимого поименованных файлов |
pr filenames | Печать содержимого файлов с заголовком, по 66 строк на странице |
pr -n filenames | Печать в n столбцов |
pr -m filenames | Печать поименованных файлов в несколько столбцов |
wc filenames | Подсчет числа строк, слов и символов для каждого файла |
ws -l filenames | Подсчет числа строк для каждого файла |
grep pattern filenames | Вывод строк, соответствующих шаблону |
grep -v pattern files | Вывод строк, не соответствующих шаблону |
sort filenames | Сортировка файлов по строкам в алфавитном порядке |
tail filename | Вывод 10 последних строк файла |
tail -n filename | Вывод n последних строк файла |
tail +n filename | Вывод файла, начиная со строки n |
cmp file1 file2 | Вывод места первого расхождения |
diff file1 file2 | Вывод всех расхождений между файлами |
Таблица 1.1: Сводка команд файловой системы
1.3 Продолжаем изучать файлы: каталоги
Система отличит ваш файл с именем
В общем случае каждый пользователь имеет свой личный каталог, иногда называемый начальным каталогом, который содержит только принадлежащие ему файлы. Входя в систему, вы оказываетесь в вашем личном (начальном) каталоге. Можно сменить каталог, с которым вы работаете (его часто называют рабочим или текущим каталогом), но ваш личный каталог останется тем же. Если не предпринять специальных действий, новый файл, создаваемый вами, попадает в текущий каталог. Так как вначале текущим является личный каталог, ваш файл никак не связан с файлом, имеющим то же имя, в чужом каталоге.
Каталог может содержать и другие каталоги как обычные файлы. Естественным способом представления такой организации каталогов служит дерево файлов и каталогов. В процессе обхода дерева — от корня вдоль нужных ветвей — можно найти любой файл системы. Можно поступить и наоборот: начать в произвольном месте и двигаться по направлению к корню.
Рассмотрим первый способ. Основным нашим средством будет команда
Команда выведет сообщение о том, что вы находитесь в каталоге you, а сам каталог —
в каталоге
вы получите тот же самый список файлов, который выдает только
Это приведет к появлению длинного списка имен, среди которых есть и ваш начальный каталог
На следующем шаге попытайтесь распечатать сам корневой каталог. В результате получите ответ, подобный следующему:
(Пусть вас не смущает то, что символ
Теперь попробуйте ввести
(если файл
Файловая система имеет структуру, подобную генеалогическому дереву:
Рис. 1.1: Карта файловой системы UNIX
Ваш файл с именем
Абсолютные имена не слишком впечатляют, если все интересующие вас файлы находятся в вашем каталоге, но если вы работаете совместно с кем-либо или над несколькими проектами одновременно, они становятся весьма удобными. Например, ваши коллеги могут распечатать файл
Соответственно вы можете выяснить, какие файлы есть у
или скопировать один из ее файлов:
Вы можете редактировать ее файл:
Если Мэри не хочет, чтобы вы имели доступ к ее файлам, или того же не хотите вы, можно обеспечить защищенность каждого файла и каталога. С этой целью предусмотрены права доступа на чтение-запись-выполнение для владельца, группы и всех остальных пользователей. Право доступа используется для контроля обращения к файлу или каталогу. (Вспомните результат
Завершая серию экспериментов с абсолютными именами, попробуйте ввести
Не кажутся ли имена вам знакомыми? Когда вы запускаете команду, задавая ее после приглашения, система ищет файл с указанным именем. Вначале поиск ведется в вашем рабочем каталоге (где его, вероятно, найти не удается), затем в каталоге
Попробуйте выполнить команду
а затем что-либо из предложенного ею. Большее удовольствие это доставит вам в нерабочее время.