Как выяснилось совсем недавно, на втором месте по популярности в моём личном хит-параде, расположилась команда cd. Рассказывать о ней в отрыве от родственных ей rm, cp, mv, pwd и ls будет неправильно. Но ещё более неправильным будет рассказывать обо всех этих программах, не осветив для начала устройство файловой системы в линуксе. Как показала личная практика и мониторинг форумов, очень часто люди после переезда с Виндоус на Линукс (на Убунту, в частности), долго не могут привыкнуть к некоторым особенностям. И, как следствие, путаются в элементарных вещах.
§1. Что следует знать начинающему убунтоводу-линуксоиду?
- Для начала необходимо чётко усвоить: в мире линукс нет такого понятия как «диск С» или «диск D». Всё гораздо проще. Есть полностью виртуальная файловая система, с корневой папкой, в которой содержатся все остальные папки и файлы. Корневая директория называется просто и незамысловато: «/». Корневая папка, или иначе — «корень», располагается на одном из физических жёстких дисков. Все остальные устройства
ввода/вывода подключаются к корню как обычные директории или файлы. В Убунту, например, флэшки, CD- и DVD-приводы, всякие другие накопители, монтируются в директорию /media.Обратите внимание, как я написал название директории: я начал его с «/», то есть указал абсолютный путь к папке. Это значит, что папка
/media хранится именно в корневой директории. Если бы я написал просто «media», это означало бы что речь идёт о какой-то папке с именем «media», которая хранится неизвестно где. - Разделители в пути к файлу, выглядят так же, как и обозначение корня — «/», в отличие от принятого в мире Виндоус и ДОС — «\». Для примера, вот путь к исполняемому файлу моего любимого браузера: «/usr/bin/opera».
- Каждый пользователь живёт строго в своей папке, которую называют домашней. На винте, обычно, название папки совпадает с именем (логином) пользователя. Лежит домашняя папка — где бы вы думали? — в разделе /home. Пример: если юзер кличет себя Megahacker, то путь к его домашней папке выглядит так:
/home/Megahacker .Обратите внимание: не
/hOme/megahacker и не/HomE/MegaHacker , а именно/home/Megahacker — линукс очень чувствителен к регистру в именах файлов и папок. - В домашней папке, помимо всяких документов и картинок, находятся настройки всех программ, которыми пользуется юзер. В-принципе, та же песня и в Винде, но есть нюанс: традиционно, в линуксовых операционных системах все пользовательские файлы и папки лежат в домашней директории. А новые программы, практически всегда, устанавливаются в папку /usr/bin. Конечно, никто не мешает пользователю создать свою любимую папку Порно в корне, но так не принято. Помимо этого, по-умолчанию, консоль стартует именно с домашней папки текущего пользователя, как бы намекая...
§2. Работа с файлами и папками в консоли Убунту Линукс.
В этом разделе, коротко расскажу о командах, а в следующих — будут подробности.
cd. Сокращение от Change Directory. Применение команды прозрачно: — переходим в папку /usr/bin.
cp. Сокращение от CoPy. Применяется так: — копируем файл girl.jpg из текущей папки, в папку girls, которая расположена в папке pictures, которая в свою очередь, расположена в текущей папке.
rm. Сокращение от ReMove. Применение: — стираем файл. Точка.
mv. Сокращение от MoVe. Пример: Если cp просто копирует файл (или папку) из одной директории в другую, оставляя оргинал на месте, то mv копирует файл и стирает оригинал. Можно сделать тоже самое двумя командами:
pwd. Сокращение от Print name of current/Working Directory. Просто показывает название текущей директории. То есть, той директории, в которой находится пользователь. По большому счёту, в Убунту её применение врятли оправдано. Почему — расскажу ниже.
ls. Сокращение от LiSt directory contents. Ну, тут всё почти также просто, как и с pwd. Показывает файлы и папки содержащиеся в текущей директории.
§3. Команда cd.
- Из любого места на вашем компьютере попасть в домашнюю директорию можно просто набрав команду: Или так: «cd» и «cd ~» — это две равнозначные команды.
- Знак «~» служит для обозначения домашней директории. Можно применять этот знак во всех случаях, где требуется указать путь к файлу или папке живущим в домашнем каталоге.
~/pictures/girls = /home/Megahacker/pictures/girls
- Быстрый возврат к предыдущему каталогу делается так: . Смысл команды аналогичен кнопке в любом файловом менеджере, будь то nautilus или Explorer.
- Перейти на каталог выше можно вот так: . Точка, в линуксе, обозначает текущую директорию. Две точки подряд — символизируют каталог находящийся уровнем выше текущего. На примере: Из папки picture мы перешли в папку Megahacker, которая выше уровнем.
- Символическое обозначение предыдущего каталога — «..», можно и нужно использовать в консольных командах. Например, имеем вот такие каталоги в папке /home/Megahacker:
/ | home | Megahacker |---- | | | --picture | --films
И находимся мы в папке picture, а надо бы попасть в папку films. Можно сделать так: Но проще будет сделать так: Мы дали команду операционной системе подняться на один каталог выше, и оттуда перейти в папку films. Конструкцию «..» можо применять неограниченное число раз: Всё равно выше корня не прыгнете :)
§4. Команды cp, mv, rm.
- Попробуйте скопировать какой-нибудь каталог командой cp. Не получилось? Правильно. В окне терминала вы должны увидеть следующее: Записываем: чтобы скопировать один каталог (с содержимым) в другой, надо после команды cp указать ключ -r:
- Скопировать много файлов, объединённых каким-нибудь признаком, можно так: В данном случае, копируются файлы с одинаковым расширением и любым именем. «*» в имени файла означает любое количество любых символов. Также можно использовать «?», если требуется указать один какой-нибудь символ: Или «[]», если небезразлично, какой символ будет. Между скобками нужно указывать отдельные символы или диапазоны символов: [123] — будут выбираться файлы, в кторых имеется хотя бы одна цифра из перечисленных, [г-н] — выбираются файлы в которых есть буква из перечисленного диапазона. Можно комбинировать: [АДтfG3-8].Пример: Будут копироваться файлы, имя которых начинается с «girl», продолжается одной какой-нибудь цифрой, после которой следует один любой символ.
§5. Команды pwd и ls.
Быстро объясняю, почему практически нет резона использовать pwd в командной строке, и двигаемся дальше, к ls.
В программе терминал, как и в консоли Убунты, текущий каталог, в котором находится пользователь, отображается прямо в приглашении командной строки:
А, раз уже и так понятно, где мы находимся, так нафига переспрашивать???
Искренне надеюсь, что тут всем всё ясно, и перехожу к разбору ls
- ls по-умолчанию выводит сортированный по алфавиту список файлов и папок. Причём, разницы между папкой и файлом нет никакой:
Чтобы хоть как-то упорядочить список, вытащив каталоги наверх, надо к ls добавить опцию -X:
Опция -X заставляет программу ls сортировать файлы по расширению. Так как у каталогов расширения нет, они выводятся первыми. На самом деле, в линуксе расширений может не быть и у файлов — операционная система распознаёт тип файла по его содержимому. Чтобы узнать наверняка, что из перечисленного файл, а что каталог, можно:
- использовать опцию -F — она маркирует каталоги символом «/», исполнимые файлы символом «*», а простые файлы никак не маркирует: Можно сочетать две и более опций: Стоит отметить ещё один момент — можно заметить, что файлы с расширением .jpg, промаркировались как исполнимые, хотя таковыми на самом деле не являются. Дело в том, что при попытке запустить файл с указанным расширением, автоматически запустится программа-просмотрщик. По сути, запускает её операционная система, но по факту, инициатором такого запуска, является файл с раширением .jpg. Поэтому он исполнимый.
- использовать опцию -l — она выводит помимо имён файлов, информацию о типе и правах, количестве ссылок, имени владельца и его группе, размере файла в байтах и времени его последнего изменения. В конце строки печатается имя файла и раширение: Для каталогов, указывается тип «d» в начале строки. Можно комбинировать эту опцию с предыдущими двумя:
- Посмотреть размер файлов можно ещё с помощью опции -s. Но она показывает размер в каких-то там полукибибайтах, которые неподготовленному человеку понять сложно. Чтобы очеловечить цифири выдаваемые опцией -s, нужно добавить к ней опцию -h: .
- Скрытые файлы и папки в линуксовой консоли можно посмотреть командой ls -a. От видимых, они отличаются наличием точки перед именем: .Порно — так скрытая папка, а так нет: Порно
Про все перечисленные команды можно рассказывать ещё очень долго, но то, что осталось за бортом, в обычной жизни рядового пользователя врятли пригодится. Если у кого-то прорезался зуд исследователя, то рекомендую пользоваться справочной командой man. Делается это так: . Листаем справку клавишами и , а также и . Для выхода из справки, нажимаем клавишу .
Удачной навигации по файлам и папкам!
Не видишь жизни без путешествий? Тогда заходи на сайт Бродяга - горный, пеший туризм и активный отдых в любое время года.
Прон++
ОтветитьУдалитьнеплохая статья для чайников
ОтветитьУдалить