Как просмотреть содержимое каталога
Перейти к содержимому

Как просмотреть содержимое каталога

  • автор:

6 самых полезных команд для работы с терминалом на Linux, Mac и UNIX

В этом руководстве для начинающих, ты узнаешь как применять самые полезные и распространенные команды для работы с терминалом/консолью в Linux, macOS и других UNIX-подобных системах.

pwd — вывести текущую директорию

Команда pwd (print working directory) используется, чтобы понять в какой директории мы находимся. Она дает простой и понятный ответ на вопрос “Где я?”. Команду pwd полезно выполнить в самом начале работы с терминалом.

Вот пример выполнения pwd сразу после логина на Linux сервер:

ls — показать содержимое директории

Чтобы посмотреть содержимое директории (папки), в UNIX-подобных системах используется команда ls (list).

В базовом случае, ее вызывают без аргументов и на экране появляется содержимое текущего каталога:

Если ты хочешь проверить содержимое какого-то определенного каталога, например /var , ты можешь сделать это добавив путь к каталогу после ls :

К команде ls , ты можешь добавить несколько флагов, чтобы улучшить формат вывода.

Расширенная информация (Long list view)

Флаг -l добавит к каждому файлу и каталогу информацию о размере, уровне доступа, дате создания и владельце.

Кстати, если ты хочешь посмотреть расширенную информацию о каком-то одном файле, ты можешь указать его точно так же как и каталог, после команды ls . Это полезно если в директории много файлов, информация о которых тебя не интересует.

Вот как это сработает с файлом swapfile :

Показать скрытые файлы и папки

Чтобы вывести на экран скрытые файлы и директории, нужно добавить флаг -a к команде ls :

Так, мы всегда получим две скрытые записи: . и .. . Одна точка служит для доступа к текущей директории, а две — для доступа к родительскому каталогу.

Сортировка вывода команды ls

Флаг -S используется, чтобы отсортировать вывод на экран по размеру файлов и каталогов:

Объединение флагов команды ls

Иногда одного флага недостаточно. Например, ты хочешь одновременно получить расширенную информацию с помощью флага -l , отформатировать размер каждой записи с помощью -h и отсортировать все файлы и папки по размеру с помощью -S .

Чтобы получить такое поведение, нужно объединить несколько флагов. Порядок флагов не имеет значение и -lhS будет значить то же самое, что и -hSl , поэтому можешь выбирать любую последовательность которая тебе нравится:

cd — сменить директорию

Итак, после того, как ты узнал все о содержимом текущей директории, самое время ее сменить. Команда cd принимает имя каталога как аргумент и перемещает тебя туда.

Команда cd выводит информацию на экран только если возникнет ошибка, поэтому советую сразу использовать ls , чтобы осмотреться:

Перемещаемся на одну директорию выше

Чтобы перейти на одну папку выше текущей, нужно указать две точки cd .. вместо точного имени каталога. Чтобы перейти на два уровня вверх — cd ../.. и так далее.

Если ты попробуешь перейти в каталог, который не существует, то ты получишь такое сообщение:

Идем домой

Если ты используешь тильду cd

вместо имени каталога, то ты переместишься в домашнюю директорию. Это полезная ссылка, потому что где бы ты ни был, по ней ты сможешь всегда вернуться домой.

touch — создать файл

Команду touch используют для создания новых файлов. План такой:

    Переходим в домашний каталог: cd

mkdir — создать директорию

Чтобы создать директорию в Linux, используют команду mkdir . Она работает почти так же как touch и ожидает от тебя имя директории.

man — показать мануал / получить помощь

И наконец, сверхсила! Команда man покажет тебе краткое руководство по использованию любой Linux, UNIX или MacOS команды. Ее можно применить даже к самой себе напечатав man man .

Если ты хочешь сделать, что-то полезное, но забыл как именно пользоваться какой-то командой, то выполни man и укажи после нее имя интересующей тебя команды. Вот так:

Вывод

В этом руководстве я рассказал тебе о самых часто используемых команда Linux, macOS, и *nix систем. Теперь ты умеешь работать с ls , pwd , cd , touch , mkdir , и man .

Если ты только начинаешь программировать, то Linux и терминал могут показаться тебе чем-то очень страшным. Но, как видишь, все довольно просто и прямолинейно.

Учим Unix

Введите команду ls -a. Теперь вы можете видеть скрытые файлы, имена которых начинаются с точки:

Скрытые файлы — это большей частью файлы, которые содержат дополнительные настройки для различных программ, диспетчеров окон, оболочек и т.п. Прячут их для того, чтобы предотвратить случайные вмешательства пользователя. Когда вы что-то ищете в каталоге, это, как правило, не конфигурационные файлы, и сокрытие их при обычном выводе содержимого каталога на экран уменьшает количество ненужной информации.
Просмотр всех файлов с использованием команды ls -a снабжает вас большим количеством информации, но вы можете узнать еще больше, если воспользуетесь другими ключами.
Если вы хотите узнать размеры файлов в каталоге, а также дату их создания и прочую информацию, добавьте к команде ls -a ключ -l ( long ). Этот ключ позволит получить практически полную информацию обо всех файлах: дату и время создания, размер, владельца, права доступа и так далее.
Не обязательно находиться в том каталоге, содержимое которого вы хотите узнать с помощью команды ls. Например, чтобы увидеть, что имеется в каталоге /etc/, находясь при этом в вашем домашнем каталоге, введите:
Ниже приведен краткий список наиболее часто употребляемых ключей команды ls. Не забудьте, что вы можете прочитать полный список опций, вызвав man-страницу команды ls (введите man ls).

  • -a (all) — выводит список всех файлов каталога, в том числе и скрытые файлы. .. и . в верхней части списка относятся, соответственно, к каталогу на уровень выше текущего и текущему.
  • -l (long) — выводит информацию о содержимом каталога, включая права доступа, владельца, группу, размер, время создания, является ли файл символьной ссылкой на другой файл и на какой именно.
  • -F (file type) — добавляет символ в конце строк вывода: / означает каталог, @ — символьную ссылку на другой файл и * означает, что файл является исполняемым.
  • -r (reverse) — выводит список содержимого каталога в обратном порядке.
  • -R (recursive) — будет выведено также содержимое всех подкаталогов текущего каталога рекурсивным образом.
  • -S (size) — сортирует файлы по размеру.
    -i — вывод перед каждым файлом номера inode (уникальный номер файла в файловой системе). -d - обработка каталогов, указанных в командной строке так, как если бы они были обычными файлами, вместо вывода списка их файлов.

Каналы и утилиты постраничного просмотра

Команда more

Для предотвращения слишком быстрой прокрутки вывода команды ls перенаправьте ее вывод утилите less или more. Это позволит вам просматривать вывод поэкранно (« постранично »).
Чтобы увидеть содержимое каталога /etc с помощью команды less, введите в командной строке следующую команду:
Для прокрутки вывода вперед нажмите клавишу [Пробел], назад — клавишу [b], для выхода — клавишу [q].
Также можно воспользоваться другой утилитой с аналогичным назначением, more.

Корневая файловая система Linux: каталоги и команды

Здравствуйте, уважаемые посетители, читатели, други и недруги, постоянные клиенты и прочие личности сайта.

linux

Мы продолжаем цикл статей, посвященных Linux-системам. Сегодня мы поговорим о таких важных (может быть, и не совсем простых) понятиях, как:

  • Файловая система Linux ;
  • Основные каталоги корневой файловой системы;
  • Консольные команды для работы с файлами и каталогами.
  • Корневая файловая система Linux
  • Послесловие.

Корневая файловая система Linux

Сложно представить операционную систему (даже такую как Linux ) без файловой системы. На ней лежит всесистемный порядок. Файловая система строго следит за организацией, хранением, а также именованием данных. Например, когда программа обращается к файлу, она ничего не знает о том, где расположена информация о данном файле, на каком физическом носителе она записана. Единственное, что знает программа, это имя файла, к которому она обращается, его размер и другие параметры, которыми искомый файл отличается от множества других файлов (дату и время создания файла, имя владельца файла, права и метод доступа к файлу и т.д.). Все эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске или съемном устройстве). Все собранные в одном месте каталоги (по-другому папки), подкаталоги, а так же файлы и есть данные файловой системы. Причем один из этих каталогов в Linux -системах является самым наиважнейшим, а именно «верхушкой» (по-другому — «корнем») файловой системы — в нём содержатся все остальные каталоги и файлы.

Каталоги файловой системы linuxДля того, чтобы Вы понимали, о чем идет речь, я открыл каталоги файловой системы Linux через файловый менеджер Midnight Commander (MC). Верхушку файловой системы (корневой каталог) указал красной стрелкой — и вот именно к ней монтируются все другие файловые системы. Далее мы попытаемся более доступно описать все, что в данный момент Вы видите на рисунке (по тексту мы будем останавливаться на тех или иных понятиях, чтобы было понятно, о чем идет речь, и Вы, поглядев на рисунок, смогли сориентироваться).

Если жёсткий диск разбит на разделы, то на каждом из них возникают отдельные файловые системы с собственным корнем и с собственной структурой каталогов. Любая операционная система поддерживает несколько файловых систем, например, Windows поддерживает такие известные всем файловые системы, как FAT , FAT32 , NTFS и др. Linux не исключение. Однако важно различать файловые системы, которые могут использоваться в качестве корневой файловой системы и файловые системы, которые просто поддерживают операционную систему, но не используются для установки Linux или Windows (к таким можно отнести, например, ISO9660 (эта модель обеспечивает совместимость носителей под разными операционными системами), UDF (а это особенный формат файловой системы, предназначенный для хранения файлов на оптических носителях) и др). Мы не будем рассматривать файловые системы Windows , не будем останавливаться на файловых системах, не использующихся для установки операционных систем, а просто сделаем краткий обзор и познакомимся с некоторыми наиболее известными корневыми файловыми системами Linux .

  • ext — Extended File System (расширенная файловая система) первая файловая система, разработанная специально для операционных систем на ядре Linux .
  • ext2 — Second Extended File System (дословно: «вторая расширенная файловая система») — стандартная, но уже устаревшая файловая система Linux . По скорости и производительности работы она может служить эталоном в тестах производительности файловых систем. Единственный ее минус — она не является журналируемой файловой системой (журналируемая файловая система это система, в которой ведется запись журнала и которая хранит список изменений, что в свою очередь, помогает сохранить целостность файловой системы при сбоях) . Этот недостаток был устранён в следующей файловой системе ext3.
  • ext3 — Third Extended File System (третья версия расширенной файловой системы) усовершенствованная версия файловой системы ext2 с поддержкой ведения журнала, что, несомненно, повышает ее надежность.
  • ext4 — Fourth Extended File System (четвёртая версия расширенной файловой системы) — новейшая файловая система Linux . Начиная с ядра Linux 2.6.28 (вышедшем 25.12.2008 г.) файловая система уже считается стабильной и используется по умолчанию во многих дистрибутивах Linux .
  • Файловая система ext4 рассматривается как переходный шаг на пути к файловой системе следующего поколения Btrfs , которая уже сейчас претендует на звание основной файловой системы Linux в будущем.

Внимание! Есть еще несколько файловых систем, например, ReiserFS , JFS , XFS и т.д., но использовать их в домашних условиях не целесообразно, потому как ReiserFS чувствительна к сбоям и ее нужно регулярно дефрагментировать, JFS плохо работает с большими файлами (например, с видео) , лучше использовать эту файловую систему под сервер баз данных, а XFS хорошо использовать на графических станциях для обработки видео.

Еще раз повторимся (повторение — мать учения) :). При установке Linux на выбранном Вами разделе жесткого диска создается корневая файловая система, и для Linux именно она является самой важной. Именно к ней будут монтироваться все остальные файловые системы на других устройствах. Корневая файловая система тоже монтируется, но только не к другой файловой системе, а к « самой Linux », причём точкой монтирования служит корневой каталог. Поэтому при загрузке системы прежде всего монтируется корневая файловая система, а при завершении она размонтируется в последнюю очередь (о самом понятии монтирования и размонтирования мы поговорим в следующих статьях — это отдельная и тоже немаловажная тема) . Корневая файловая система содержит набор стандартных каталогов и утилит, без которых невозможна работа Linux . В Linux корневой каталог обозначается так — “ / ” (слеш). Полные имена (по-другому — пути) всех остальных каталогов получаются из “ / ”, к которому дописываются справа имена последовательно вложенных друг в друга каталогов. Имена каталогов в пути также разделяются символом “/”. Например, запись / home обозначает каталог “ home ” в корневом каталоге (“/”) , а / home / Sonikelf — каталог “ Sonikelf ” в каталоге “ home ”, который, в свою очередь, находится в корневом каталоге. Перечисленные таким образом каталоги, завершающиеся именем файла, и составляют полный путь к файлу .

В Linux , помимо полного пути, есть и относительный путь , который строится точно так же, как и полный — перечислением через слеш (“/”) всех названий каталогов, встретившихся при движении к искомому каталогу или файлу. Между полным и относительным путём есть только одно немаловажное различие: относительный путь начинается от текущего каталога, а полный путь всегда начинается от корневого каталога. Linux различает полный и относительный пути просто: если имя объекта начинается на “ / ” — это полный путь, в любом другом случае — относительный.

Основные каталоги корневой файловой системы
В разных дистрибутивах Linux каталоги тоже могут быть разные: в некоторых будут дополнительные файлы/каталоги конфигурации, а некоторые файлы конфигурации, вполне возможно, будут называться как-то по-другому. Я приведу названия каталогов, которые входят в дистрибутив Fedora . Итак, поехали:

  • /bin — содержит стандартные утилиты Linux . Или, скажем так, — этот каталог содержит основные исполняемые файлы (в Windows такие файлы имеют расширение .exe) , доступные всем пользователям, а также содержит символьные ссылки на исполняемые файлы. Символьная ссылка это специальный файл в файловой системе, внутри которого есть только одна-две строки с указанием полного пути, который должен быть открыт при попытке обратиться к данной ссылке (файлу).
  • /boot — содержит конфигурационные файлы загрузчика GRUB , образы ядра (по умолчанию хранятся последние три), файлы Initrd. Чтобы было понятно, что это за такие мифические файлы Initrd , немного внесем ясность. Когда начинается начальная загрузка системы, сначала монтируется временный виртуальный диск, который содержит временную корневую файловую систему, с помощью которой, в свою очередь, осуществляется запуск ядра Linux . Файл Initrd — образ этой временной корневой системы, который хранится на загрузочном устройстве.
  • /dev — содержит файлы устройств. В Linux устройством называется оборудование, которое подключается к системе в процессе загрузки ядра или в процессе работы системы. Эти устройства представляют методы для ввода или вывода информации. Например, жесткий диск — устройство для ввода (запись) и вывода (чтение) , мышь — устройство ввода. Каждое движение или нажатие на кнопки мыши отправляет символ на устройство / dev / mouse , клавиатура — тоже устройство ввода. Большинство устройств в Linux представляют из себя файлы в особой файловой системе (исключение составляют сетевые карты) . И вот эти файлы хранятся в каталоге / dev , куда к ним обращается система для выполнения задач, связанных с вводом/выводом.
  • /etc — содержит конфигурационные файлы операционной системы и всех сетевых служб. Данный каталог можно сравнить с реестром Windows , но в Windows общесистемные настройки хранятся в одном большом бинарном файле, а в Linux — в разных конфигурационных файлах, которые можно редактировать обычным текстовым редактором.
  • /home — название каталога говорит само за себя. Здесь содержатся домашние каталоги всех пользователей, которые зарегистрированы в системе. В домашних каталогах пользователей хранятся пользовательские файлы, а также пользовательские настройки различных программ. Как мы уже упоминали в предыдущей статье, Linux является многопользовательской системой, и поэтому каждый пользователь имеет свой уникальный и неповторимый каталог для своих личных, персональных файлов. Этот каталог называется Домашним каталогом пользователя и обозначается, как мы уже говорили немного ранее, /home/Имя_Пользователя. Такое разделение пользовательских каталогов и файлов операционной системы упрощает сохранение данных и повышает надежность самой операционной системы.
  • /lib — здесь находятся различные библиотеки и модули ядра. В процессе установки различных программ в Linux (в том числе и драйверов) устанавливаются зависимости (о них мы уже говорили) для корректной работы программы. Вот эти зависимости в большинстве случаев и есть библиотеки — набор собранных особым образом файлов, которые подключаются во время установки к устанавливаемой программе.
  • /lost+found — этот каталог нужен для хранения испорченных файлов при проблемах с файловой системой, которые были восстановлены после, например, некорректного размонтирования файловой системы. Это очень ценный каталог, удалить его не получится (он всё равно снова появится).
  • /misc — может содержать все что угодно.
  • /mnt и /media — обычно в этих каталогах содержатся точки монтирования. В современных дистрибутивах Linux этот процесс обычно происходит автоматически. При этом в каталогах /mnt или /media создается подкаталог, имя которого совпадает с именем монтируемого тома.
  • /opt — здесь обычно размещаются установленные программы, имеющие большой дисковый объем, или вспомогательные пакеты, например, у меня в этом каталоге всего две программы — это Adobe Reader и Google Chrome
  • /proc — это не совсем обычный каталог, это каталог псевдофайловой системы procfs, которая используется для предоставления информации о процессах (по-другому это виртуальная файловая система, которая обеспечивает связь с ядром и монтируется в каталогу /proc) . Да-да, в системе Linux присутствует виртуальный файловый объект, именуемый каталогом /proc. Он существует только во время работы системы в оперативной памяти компьютера. Каталог представляет интерес и с точки зрения безопасности. Многие из утилит, выводящие информацию о системе (например, команда ps) , берут свои исходные данные именно из этого каталога.
  • /root — каталог пользователя root (кто это такой, мы упоминали в одной из предыдущих статей).
  • /run — это совершенно новый каталог, который появился совсем недавно. И создан он (по задумке разработчиков) для хранения данных, которые были запущены приложениями, требующимися в процессе работы (это могут быть и службы, запускаемые самой системой, и программы, которые Вы запускаете сами).
    Сюда входят:
  • Идентификаторы процессов PID (каждый запущенный в среде Linux процесс имеет свой уникальный идентификатор — по-другому это адрес (в числовом виде) процесса, с которым будут взаимодействовать другие запущенные процессы во время работы);
  • Информация о межпроцессорном взаимодействии (проще говоря, это обмен данными между запущенными процессами) ;
  • Заблокированные файлы (если в процессе работы приложение или не запускается, или работает нестабильно? это может означать, что некоторые файлы этого приложения заблокированы другими процессами и происходит это тогда, когда сразу несколько приложений пытаются использовать один общий ресурс); — ну и другие данные, необходимые во время работы.

Вывод. Файловая система в Linux это неразделимое целое, начинающееся с корневого каталога (так называемой «верхушки»), а внутри каталога могут находиться целые диски или их разделы (с другими файловыми системами), которые можно легко примонтировать (присоединить) и также легко отмонтировать (отсоединить) от единственного, единого, неразделимого, целого дерева. Специально выделил эти слова, чтобы было понятно отличие от файловой системы Windows . Если кто не в курсе, в Windows каждый логический диск это корневой каталог. Например, если есть три логических диска — C, D, F , значит будет три корневых каталога.

Необходимые команды, которые нужно знать для работы с файлами и каталогами

Сейчас, когда в Linux есть неплохой графический интерфейс, консолью пользуются все реже и реже (что лично меня приводит в уныние). В любом случае знание простого базиса, а именно, простых и полезных команд, необходим любому пользователю (например, у Вас произошел сбой X- сервера (грубо говоря, это так называемый графический интерфейс в Linux — это не совсем точное определение, но в данный момент, мы не будет углубляться в дебри терминологии) или Вам понадобилось установить программу из исходного кода, или еще что-то). Без консоли (или терминала) Вам не обойтись. А чтобы эффективно работать в консоли, нужно знать команды Linux. Вообще команд очень много, поэтому охватить их все будет просто нереально (по крайней мере, в рамках данной статьи), поэтому мы ограничимся пока что командами для работы с файлами и каталогами.

Примечание:
Обращаю Ваше внимание, что все имена файлов и названия команд нужно вводить в правильном регистре, т.е. имена в Linux «чувствительны к регистру». Например, команда cd — совсем не то же самое, что команда Cd или CD . То же относится к именам файлов и каталогов.

Команда cd — используется для движения по дереву каталогов. Если Вы введете эту команду без аргументов (т.е. просто напишите cd — смотрите первую строку на рисунке), то попадете в свой домашний каталог, а чтобы попасть в любой другой каталог, необходимо указать путь к нему. По умолчанию Вы всегда изначально находитесь в своем домашнем каталоге (/home). В первой строке указан относительный путь, во второй — полный. Если Вам нужно передвинуться в какой-либо другой каталог, то введите cd , обязательно пробел и тот каталог, куда Вам нужно перейти, например cd /usr . На четвертой строке рисунка в квадратных скобках указано, что мы перешли в каталог usr. Можно сразу указать весь путь, например, cd /usr/games . Вы попадете в каталог games, который находится в каталоге usr, который, в свою очередь, находится в корневом каталоге системы. Чтобы вернуться обратно в свою домашнюю директорию, достаточно указать относительный путь cd

команда cd

Теперь, когда Вы, немного потренировавшись, уже умеете переходить из каталога в каталог, самое время узнать, как просмотреть содержимое каталога. И в этом нам поможет команда ls . С ее помощью Вы можете вывести на экран список файлов и каталогов текущего каталога. У команды ls много опций. Сама по себе команда ls (без ключа) не покажет все файлы в каталоге. Некоторые файлы являются скрытыми и их можно увидеть, только задав дополнительный ключ (опцию) команде ls . Если набрать ls -a , то нашему взору представится список всех файлов каталога (откроются даже скрытые).

Команда ls

Не обязательно находиться в том каталоге, содержимое которого Вы хотите узнать с помощью команды ls . Например, чтобы увидеть, что имеется в каталоге / etc , находясь при этом в вашем домашнем каталоге, введите:

команда ls-al

Здесь мы указали два ключа — это показывать скрытые файлы (a) и вывести информацию (l). Обратите внимание, мы можем сразу указывать несколько ключей, чтобы получить всю информацию о каталоге или файле.

Приведу наиболее часто употребляемые ключи команды ls:

-a (all) — выведет список всех файлов каталога, в том числе и скрытые файлы;

-l (long) — выведет информацию о содержимом каталога, включая права доступа (первая графа), владельца (вторая графа), группу (третья графа), размер (четвертая графа), время создания (пятая графа), является ли файл символьной ссылкой на другой файл и на какой именно (шестая графа);

ls -l

-r (reverse) — выведет список содержимого каталога в обратном порядке;

ls -r

-S (size) — отсортирует файлы по размеру.

ls -S

Следующая полезная и нужная команда — pwd . Перемещаясь по различным каталогам, можно оказаться в довольно щекотливой ситуации, когда Вы не знаете или не помните имя текущего каталога — иначе говоря, Вы заблудились в файловой системе :). Ведь по умолчанию в Linux приглашение командной строки отображает только имя текущего каталога, а не полный путь к нему. Вот в этом случае команда pwd окажет вам неоценимую услугу

команда pwd

Посмотрите на первую строку. В квадратных скобках указано, что я нахожусь в каталоге services. А вот где он находится, в каких или какой директории совершенно непонятно. Введя вышеназванную команду, мне открылся полный путь к этому каталогу (вторая строка). С этой командой Вы точно не заблудитесь в файловой системе Linux .

Команда mkdir — создание нового каталога. В домашнем каталоге пользователя — / home , как и в любом другом, можно создавать неограниченное число подкаталогов, в них — свои подкаталоги и т.д. Другими словами, Вам принадлежит «поддерево» файловой системы, корнем которого является домашний каталог пользователя.
Чтобы организовать такое поддерево, потребуется создать каталоги внутри домашнего. Вот для этого и используется утилита mkdir . Она используется с одним обязательным параметром: именем создаваемого каталога. По умолчанию каталог будет создан в текущем каталоге.

команда mkdir

Давайте создадим каталог globus (первая строка на рисунке). Введем команду mkdir globus . Чтобы удостовериться, что каталог создан, введем команду ls с ключом — F (для каждого имени каталога добавлять суффикс «/»). Каталог создан.

Следующая команда mv . С помощью этой команды можно перемещать файлы и каталоги. У mv два обязательных параметра: первый — должен быть указан перемещаемый файл или каталог, второй — должен быть указан файл или каталог назначения (конечный пункт). Имена файлов и каталогов могут быть заданы в любом допустимом виде: при помощи полного или относительного пути. Кроме того, mv позволяет перемещать не только один файл или каталог, а сразу несколько (перечисление файлов/каталогов осуществляется через пробел).

Давайте немного потренируемся: создайте в домашнем каталоге два каталога — Globus и Dos и создайте файл — dokument . А теперь приступим к практике:

1) Переименуем один файл в другой. Чтобы переименовать, например, файл dokument в dokument.old , введите:

2) А теперь переместим один каталог в другой. Чтобы переместить каталог Globus из текущего рабочего каталога в каталог Dos , введите:

команда mv

Если каталог Dos уже существует (как в нашем случае), mv поместит Globus внутрь Dos . А если каталога Dos Вы не создали, то mv ПЕРЕИМЕНУЕТ (перезапишет) Globus в Dos

3) Чтобы переместить файл или каталог, который не находится в текущем каталоге, укажите в качестве опции его полное имя и путь.

Например, чтобы переместить файл /usr/tmp/dokument в текущий рабочий каталог, введите:

mv

Файл dokument был изначально в /usr/tmp/ , мы его переместили в домашний каталог переименовав в txt.txt

4) А теперь чтобы переместить файл txt.txt из текущего рабочего каталога в каталог /usr/tmp , наберите:

mv txt.txt /usr/tmp

mv txt

продолжение

Файлов в каталоге tmp может быть много, поэтому картинку для удобства разделил и уменьшил. Вторая строка означает, что чтобы удостоверится в перемещении нашего файла, мы должны перейти в этот каталог, что и сделали с помощью команды cd . А с помощью команды ls мы открыли для просмотра каталог tmp и убедились, что перемещение произошло успешно.

Следующая полезная и нужная команда — cp.
Она создает копию файла. Утилита cp тоже требует присутствия двух обязательных параметров: первый — то, что мы хотим скопировать (файл или каталог), второй — куда мы хотим это скопировать (пункт назначения). Например, надо скопировать файл dokument в каталог Globus — введите команду

и в каталоге Globus появится файл dokument (это будет копия файла dokument , который находится в нашем домашнем каталоге)

команда cp

С помощью команды cp можно копировать не только по одному файлу или каталогу — можно путем перечисления всего того, что Вы хотите скопировать, указать это команде cp . Например, нам надо скопировать два файла dokument и dokument.old в каталог Dos , ничего нет проще — перечислите все файлы или каталоги через пробел:

копируем 2 файла в один каталог

Можно не только копировать, но и удалять файлы и каталоги, и в этом нам помогут команды rm (удаляет файлы)..

пример

.. И rmdir (удаляет каталоги). rmdir согласится удалить каталог только в том случае, если он пуст, т.е. в нём нет никаких файлов и подкаталогов.

пример2

Удалить каталог вместе со всем его содержимым можно командой rm с ключом « -r ». Команда rm -r имя каталога(ов) — очень удобный способ потерять в одночасье все файлы: она рекурсивно (этот термин обозначает примерно то же, что у Windows запустить uninstaller ) обходит весь каталог, удаляя всё, что попадётся — файлы, подкаталоги и т.д., а ключ « -f » (force) делает её работу ещё более неотвратимой, так как подавляет запросы вида «удалить защищённый от записи файл», так что rm работает безмолвно и безостановочно. Будьте внимательны при использовании этой команды.

пример 2

Команда cat — позволяет вывести на экран содержимое любого файла, однако в таком виде эта команда практически не используется. Если файл слишком большой, то его содержимое пролистается на экране, а Вы увидите только последние строки файла. С помощью этой команды можно комбинировать и объединять копии файлов, а также создавать новые файлы. Если набрать просто в командной строке cat и нажать Enter , то можно вводить (и соответственно видеть) текст на экране. Повторное нажатие клавиши Enter удвоит строку и позволит начать следующую. Когда текст набран, следует одновременно нажать клавиши Ctrl и d .

команда cat

Так происходит потому, что первую строку вводите Вы сами, а вторую копирует команда cat на экран. Если переадресовать (т.е. записать) вывод в файл txt , то никакого удвоения не произойдет, зато в рабочем каталоге появится новый файл с набранным текстом, который спокойно можно просмотреть через эту команду:

пример 3

Эта команда сможет прочесть и открыть любой файл, не только текстовый, но толку от того, что вы откроете, например, графический файл, не будет никакого. На экран выведется бестолковый набор символов.

Некоторые опции, которые можно использовать с этой командой:

  • -A показывает все невидимые символы;
  • -E показывает символы конца строки;
  • -e показывает непечатаемые символы плюс символ конца строки;
  • -b нумерует непустые строки;
  • -n нумерует все строки.

Давайте попробуем объединить два файла в один с помощью команды cat :
У нас есть два файла — dokument и txt , мы объединим их в один galina , введя команду

Вот и все — наши два файла объединены в один с сохранением и первого, и второго файлов в одном общем файле 🙂

пример 4

Если файл слишком большой, то для просмотра на экране надо воспользоваться командами more и less .

  • more выводит содержимое файла на экран постранично, размером как раз на целый экран. Для того, чтобы увидеть следующую страницу, надо нажать на клавишу пробела. Выйти из режима просмотра можно с помощью клавиши Q.
  • less содержит все функции и команды управления выводом, имеющиеся в more и дополнительные, например, для перемещения по тексту Вы можете использовать клавиши Стрелка вверх , Стрелка вниз , PgUp , PgDown .
  • Команда locate — выполняет поиск файла. С помощью этой команды Вы можете увидеть все файлы или каталоги, названия которых содержат искомый образец. Например, для поиска файла, содержащего в названии слово dokument.old, введите в командной строке

команда locate

Команда locate нашла все файлы dokument.old . В системе их оказалось три. Можно задать и более расширенный поиск, например, если вместо dokument.old Вы укажите «кусочек» названия, например » doku «. Будут найдены ВСЕ файлы, где встречается это буквосочетание.

Есть еще одна аналогичная команда для поиска файлов — это find . У этой команды много опций, но чаще всего используется опция -name — она задает поиск всех файлов и каталогов, содержащих в названии заданное вами сочетание букв.

Еще одна полезная команда — which . Она показывает положение исполняемых файлов. Команда полезна при создании кнопки запуска какого-либо приложения.

команда which

Чтобы создать кнопку запуска, Вы должны знать команду запуска приложения, для которого захотите создать кнопку запуска на рабочем столе. На данном рисунке видно, что команда запуска ls — это /usr/bin/ls

Команда clear (а также сочетание клавиш Ctrl+L ) — очищает окно терминала. Это бывает полезным, когда Вы передвигаетесь по каталогам, файлам, поскольку окно терминала заполняется кучей команд или просто какой-нибудь информацией. При этом приглашение командной строки будет смещено вниз – что не всегда удобно. Чтобы не выходить из командной строки и снова заходить в нее, нужно воспользоваться командой clear .

Ну и напоследок хочу отметить еще две полезных и очень нужных команды.

Первая это history . Само название команды говорит само за себя. Это история команд, которую Вы вводили в окне терминала. Для новичков или даже продвинутых пользователей довольно утомительно запоминать, как пишется та или иная команда (я говорю не об однословных командах, а о командах, содержащих в себе 2-3-4 слова, например, system-config-authentication). Эта команда выведет на экран список ранее введенных команд (список этих команд можно ещё посмотреть в файле . bash_history . Он находится в вашей домашней папке пользователя). Просто наберите: !’номер команды в history ‘, например !847 .

Команда history

И закончим мы знакомство, пожалуй, с самой важной командой в Linux . Это команда man — сокращенно от » manual » (руководство). Ею можно вызвать страницы документации о предназначении и об использовании команд в системе. Введя man , пробел и название любой команды, Вы увидите страницу документации по выбранной команде, например, введите man clear

команда man

Выход из справки — q

Как и любая другая справочная система, система man имеет собственную man -страницу. Введите man man и получите подробнейшую документацию по самой команде man .

Послесловие.

Как-то так. Как и всегда ждем от Вас комментариев, дополнений и всего такого прочего.

На этом мы закончим нашу очередную лекцию :). Будут и следующие, надеюсь, что интересные и захватывающие. Если есть, что дополнить (добавить), милости прошу, добавляйте в своих комментариях.

P.S. За существование данной статьи спасибо члену команды Pantera

Белов Андрей (Sonikelf) alt=»Sonikelf» /> alt=»Sonikelf» />Заметки Сис.Админа [Sonikelf’s Project’s] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

Обзор содержимого директорий и файлов

cd и pwd

Перечисляет файлы и директории в указанных директориях. Мы уже поверхностно знакомы с ней из предыдущего материала и умеем выводить список файлов и папок рабочей директории. Но она может гораздо больше, чем просто перечислить содержимое в рабочей директории.

Команда ls предназначена для перечисления содержимого в директории. Это наиболее часто используемая команда в Linux. Есть множество способов ее применения. Рассмотрим наиболее популярные на примерах.

Выводит список файлов и директорий в рабочей директории без отображения скрытых объектов (у которых имя начинается с символа «.» (точка)).

ls /bin

Перечисление содержимого в директории /bin. Вместо /bin можно указать любую другую директорию через абсолютный или относительный путь к ней.

Перечисление содержимого рабочей директории с выводом подробной информации о перечисляемых объектах.

ls -l /var /etc

Перечисление содержимого директорий /var и /etc с выводом подробной информации о перечисляемых объектах.

Содержимое каждой директории будет выведено отдельно, в начале каждой группы будет указана директория для которой выполняется перечисление его содержимого.

Таким образом можно одной командой получить информацию сразу по всем интересуемым директориям ��

ls -la ..

Перечисление всех объектов (включая скрытых) в родительской директории с выводом подробной информаций о каждом из них.

Формат команд

Как видно из приведенных примеров, команда ls имеет определенный формат вызова. В Linux большинство команд имеют сходный формат вызова. Он следующий

Где команда — имя команды или исполняемой программы, параметры — одна или несколько детальных настроек выполнения, аргументы — одна или несколько «вещей» которые должна обработать команда или программа.

На примере команды ls:

  • ls — имя команды
  • -l и -a — параметры (допускается объединение в -la при использовании обоих). Параметр -l указывает о необходимости вывода подробной информации, а -a о включении скрытых объектов. У параметра может быть указан его аргумент (в данном примере отсутствует), в таком случае при объединении аргумент применяется к последнему параметру. Если параметр не требует указания аргумента, то такой параметр называется ключом.
  • /var и /etc — аргументы, в данном случае список директорий, содержание информации которых нас интересует

Детальный вывод

При использовании параметра -l команды ls выводится подробная информация о содержимых объектах директории. Ознакомимся с её форматом более детально.

детальный вывод ls

Имя файла Имя файла или директории. Время изменения Последнее время изменения файла. Если изменение произошло спустя более шести месяцев, то выводятся дата и год, иначе дата и время дня. То есть, вначале всегда выводится дата, которая состоит из месяца и числа, а после нее год или время в часах и минутах. Когда мы видим время, это значит файл был изменен за прошедшие шесть месяцев, т.е. в текущем или прошлом году �� Размер Размер файла в байтах. Для директории указывается размер метаданных (информации об объектах, которые содержатся внутри, включая их имена), а не суммарный размер содержимого. Изначально размер директории равен размеру кластера (обычно 4 Кб / 4096 байт), но может расти при необходимости. Группа Имя группы, для которой указаны права доступа. Владелец Имя учетной записи пользователя, который является владельцем файла. Права доступа Представление прав доступа к объекту. Первый символ указывает тип объекта. Символ «d» обозначает директорию, «-» — файл. Но есть и иные типы объектов в Linux. Далее идет три набора из трех символов, которые представляют права доступа. Первый символ указывает право чтения, второй записи, третий выполнения или входа. Первый набор из трех символов указывает права доступа владельца файла, второй — права группы файла, а последний указывает права доступа файла для всех остальных пользователей. Подробнее о правах доступа будет опубликован отдельный материал в будущем ��

Программа less

Less это удобный инструмент для просмотра текстовых файлов. В линуксе большинство файлов для управления и конфигурации хранятся в текстовом формате, легко воспринимаемым человеком, поэтому программу less тоже очень часто используется ��

Вначале следует определить понятие текстового файла. Существует множество различных способов представления компьютерной информации. Все они определяют зависимость между информацией и некоторыми числами, в которых она представлена. Компьютеры могут обрабатывать информацию только в числовом представлении, поэтому вся она хранится в числах.

Некоторые способы представления информации достаточно сложные (например, сжатые изображения, аудио- и видеозаписи). Но есть и достаточно простые. Один из самых первых появившихся и самых простых — текст в кодировке ASCII (American Standard Code for Information — американский стандартный код для обмена информации). Эта простая схема кодирования впервые была использована на устройствах телетайпа для указания зависимости печатных символов и номеров.

Большинство файлов на Linux системах сохранены в текстовом формате. Существует множество инструментов для обработки текстовых файлов. В других операционных системах текстовый формат не менее важен чем в Linux, поэтому в них тоже присуствует инструменты для работы с ними. В Windows есть достаточно известный текстовый редактор «Блокнот», позволяющий просматривать и изменять текстовые файлы.

Для запуска программы less необходимо ввести less имя_файла, где имя файла — абсолютный или относительный путь к файлу.

Введем less /etc/sestatus.conf и нажмем клавишу «Enter». Выведено содержание файла /etc/sestatus.conf.

Отображение /etc/sestatus.conf в less

В терминал выведено содержание файла. В конце вывода отображается строка состояния, в которой указан путь к файлу и информация, что достигнут конец прокрутки файла. Для файлов с большим числом строк, на экране будет отображена лишь часть содержания (страница). Пролистать содержание файла можно с помощью клавиш на клавиатуре.

Для выхода из программы less нажмем клавишу q на клавиатуре.

Управление программой less

После запуска less отображает на экране по одной странице текста за раз. Листать страницы можно клавишами Page Up и Page Down. Помимо них, в less есть и иные команды. С командой «q» мы уже знакомы — выход из программы. Вот несколько иных полезных команд программы less.

Page Up или b Прокрутка на предыдущую страницу текста. Page Down или space Прокрутка на следующую страницу текст. G Прокрутка в конец файла. 1G Прокрутка в начало файла /строка Поиск следующего вхождения указанной строки в файле. n Повторный поиск следующего вхождения. h Отображение справочной информации по всем командам less. q Выход из программы.

Команды следует вводить просто нажимая клавиши на клавиатуре. После набора команды, за исключением некоторых, где требуется указать параметр после команды (например, поиска строки), она автоматически выполняется. Там, где требуется ввод параметра, ввод команды следует завершить нажатием клавиши Enter. Команды регистрозависимы.

Программа file

Если просто бродить по файлам Linux, то перед тем как их попытаться посмотреть их содержание, было бы полезно понять данные какого типа в них записаны. С этим может помочь инструмент file. Программа file изучает содержимое файла и сообщает, что это за файл.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *