Представьте себе паренька, воспитанного профессиональными строителями, который с детства пользовался одним только «Стеногрызом», понятия не имея, что на свете существуют и другие дрели. Однажды он заходит в строительный магазин и ему предлагают самый лучший, самый дорогой перфоратор. Паренек озадачен — что это? Детская безделушка? Электрический шуруповерт? И когда продавец или покупатель–простофиля объясняют ему, что это – перфоратор, он чуть не падает со смеха – да нет же, говорит он, это не перфоратор, вы ошибаетесь. Его собеседник удаляется, оскорблённый до глубины души, – как это его разноцветный, чудненький, дешевенький и такой опасный инструмент и вдруг не перфоратор!
Unix — это «Стеногрыз» операционных систем, а работающие под Unix–ом хакеры, такие, как Дуг Барнес, бородатый мужик из комикса про Дилберта, программисты, населяющие Кремниевую долину – сыновья профессиональных строителей, с детства привыкшие к одному лишь «Стеногрызу». Они тоже пользуются операционными системами Apple/Microsoft, чтобы писать письма, играть в игры или проверять счета, однако серьезно эти ОС не воспринимают — так, ерунда, детский сад.
Из уст в уста
Научиться Unix–у — сложно. Постижение Unix проходит через бесконечную вереницу маленьких откровений. Время от времени на вас нисходит озарение и вам мерещится, что вы вот–вот придумаете новую полезную программу или утилиту, но тут выясняется, что её давным–давно придумали и уже внедрили в систему, и вам наконец‑то открывается истинное предназначение некоторых файлов, директорий или команд, с которыми вы до этого сталкивались, но назначения которых совершенно не понимали.
Например, есть такая команда (небольшая программка, часть ОС) whoami, назначение которой — определять ваш логин. На компьютере, работающем под Unix, вы всегда логинитесь под каким‑нибудь именем (не исключено, что под своим собственным). Кстати, от того, под каким именем пользователя вы залогинетесь, многое зависит — например, доступ к определенным фалам или программному обеспечению, с которыми вам позволено работать. Когда я только–только начал осваивать Linux, я работал на машинке, расположенной в подвале. Она не была присоединена к сети, имела одну–единственную учетную запись, поэтому команду whoami казалась мне абсолютно нелепой. Однако, зайдя под одним именем, вы можете на время переключиться на другую учетную запись и получить доступ к нужным файлам. А если у вас есть выход в интернет, вы можете подключиться к другим компьютерам, конечно, при условии, что вам известны имена пользователей и пароли. Таким образом, совершенно неважно, где на самом деле располагается машина — рядом с вами или за океаном. Одна проблема — имена пользователей и пароли, даже если вы используете их только во благо, наслаиваются друг на друга и теряются из памяти. И как только вы напрочь забыли, кто вы и где, вам на помощь спешит программа whoami. Она просто незаменима. Я пользуюсь ею постоянно.
На всех Unix–машинах файловая система имеет определенную структуру. На компьютерах с легковесными ОС можно создавать директории (папки), называть их, как заблагорассудится («Хоббит» там или «Моя папка») и размещать где угодно на диске. На компьютерах с Unix высший уровень файловой системы всегда обозначается одним и тем же знаком «/» и содержит один и тот же набор директорий верхнего уровня:
/usr
/etc
/var
/bin
/proc
/boot
/home
/root
/sbin
/dev
/lib
/tmp
каждая из которых вмещает свою четкую и ясную структуру поддиректорий. Думаю, вы заметили эту манию всё сокращать и явную боязнь заглавных букв. Обратите внимание — данная система изобретена людьми, для которых рутинная, бессмысленная набивка длинных имён директорий всё равно, что силикоз для шахтеров. Длинные имена, словно галька, точимая жадной волной, истончаются и уменьшаются до трехбуквенных обозначений.
Для чего предназначена та или иная директория, и что в них содержится, я здесь объяснять не буду. Поначалу данный порядок кажется темным и запутанным, причем запутанным намеренно. До знакомства с Linux я привык создавать директории, где душа пожелает, и называть их, как взбредёт в голову. Не возбраняется подобное и в среде Unix (вы вольны здесь делать всё, что захотите), однако по мере знакомства с системой вы понимаете, что все директории оформлены наиболее разумным и удобным способом, и вы невероятно облегчите себе жизнь, если будете следовать раз и навсегда заведенному здесь порядку. Кстати, в домашней директории свобода вашей фантазии ничем не ограничена.