- Команда Ls в Linux (Список Файлов и Каталогов)
- Ls Command in Linux (List Files and Directories)
- В этом руководстве мы покажем вам, как использовать ls команду, на практических примерах и подробных объяснениях наиболее распространенных ls вариантов.
- Как использовать ls команду
- Подробный формат списка
- Показать скрытые файлы
- Сортировка вывода
- Рекурсивный список каталогов
- Вывод
- Команда LS в Linux. Описание и примеры
- Команда ls linux
- Синтаксис команды ls
- Как правильно интерпретировать вывод команды ls?
- Особенности использования команды ls
- Использование ls в Linux
- Знакомство с ls
- 1. ls без параметров
- 2. ls с параметром -l
- Подробный список файлов ls
- Показать скрытые файлы ls -a
- Определение расположения определенной папки ls
- Понятный размер файлов
- Просмотр содержимого текущей папки ls
- Обозначить директории ls
- Список файлов в одну колонку
- Вывести только файлы с определенным расширением
- Файлы, начинающиеся на определенную букву
- Определение создателя папки
- Список файлов с сортировкой по времени
- Вывод скрытых файлов
- Обратный порядок вывода
- Рекурсивный и инодный списки
- Понятие инода
- mkdir
- touch
- cat и cp
- Список ключей для команды ls.
- Заключение
Команда Ls в Linux (Список Файлов и Каталогов)
Ls Command in Linux (List Files and Directories)
В этом руководстве мы покажем вам, как использовать ls команду, на практических примерах и подробных объяснениях наиболее распространенных ls вариантов.
Команда ls является одной из основных команд, которую должен знать любой пользователь Linux. Он используется для отображения информации о файлах и каталогах в файловой системе. ls Утилита является частью основных утилит пакета GNU , который установлен на все дистрибутивы Linux.
Как использовать ls команду
Синтаксис ls команды следующий:
При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :
Файлы перечислены в алфавитном порядке:
Чтобы вывести список файлов в определенном каталоге, передайте путь к каталогу в качестве аргумента команды ls. Например, чтобы просмотреть содержимое /etc каталога, вы должны набрать:
Вы также можете передать несколько каталогов и файлов в ls команду через пробел:
Если пользователь, в который вы вошли, не имеет прав на чтение каталога, вы получите сообщение о том, что он ls не может открыть каталог:
У ls команды есть несколько опций. В следующих разделах мы рассмотрим наиболее часто используемые параметры.
Подробный формат списка
Вывод команды по умолчанию ls показывает только имена файлов и каталогов, что не очень информативно.
Параметр -l (нижний регистр L) ls позволяет печатать файлы в формате длинного списка.
Если используется формат длинного списка, ls команда отобразит следующую информацию о файле:
- Тип файла
- Файл разрешений
- Количество жестких ссылок на файл
- Владелец файла
- Файловая группа
- Размер файла
- Дата и время
- Имя файла
Рассмотрим следующий пример:
Давайте объясним наиболее важные столбцы вывода.
Первый символ показывает тип файла. В нашем примере первый символ — указывает на обычный файл. Значения для других типов файлов следующие:
- — — обычный файл
- b — заблокировать специальный файл
- c — Специальный символьный файл
- d — Справочник
- l — символическая ссылка
- n — Сетевой файл
- p — FIFO
- s — Разъем
Следующие девять символов показывают права доступа к файлу. Первые три символа предназначены для пользователя, следующие три — для группы, а последние три — для других. Вы можете изменить права доступа к файлу с помощью chmod команды. Символ разрешения может принимать следующее значение:
- r — Разрешение на чтение файла
- w — разрешение на запись в файл
- x — Разрешение на выполнение файла
- s — установить бит
- t — липкий бит
В нашем примере rw-r—r— означает, что пользователь может читать и записывать файл, а группа и другие пользователи могут только читать файл. Число 1 после символов разрешения — это количество жестких ссылок на этот файл.
Следующие два поля root root показывают владельца файла и группу, за которыми следует размер файла ( 337 ) в байтах. Используйте эту -h опцию, если вы хотите напечатать размеры в удобочитаемом формате. Вы можете изменить владельца файла с помощью chown команды.
Oct 4 11:31 — дата и время последнего изменения файла.
Последний столбец — это имя файла.
Показать скрытые файлы
По умолчанию ls команда не показывает скрытые файлы. В Linux скрытым файлом является любой файл, начинающийся с точки ( . ).
Чтобы отобразить все файлы, включая скрытые, используйте -a параметр:
Сортировка вывода
Как уже упоминалось, по умолчанию ls команда выводит файлы в алфавитном порядке.
—sort Опция позволяет сортировать вывод по расширению, размеру, времени и версии:
- —sort=extension (или -X ) — сортировка по алфавиту по расширению.
- —sort=size (или -S ) — сортировка по размеру файла.
- —sort=time (или -t ) — сортировка по времени модификации.
- —sort=version (или -v ) — Естественный вид номеров версий.
Если вы хотите получить результаты в обратном порядке сортировки, используйте -r опцию.
Например, чтобы отсортировать файлы в /var каталоге по времени изменения в обратном порядке сортировки, вы использовали бы:
Стоит отметить, что ls команда не показывает общее пространство, занимаемое содержимым каталога. Чтобы получить размер каталога, используйте du команду.
Рекурсивный список каталогов
-R Опция указывает ls команду , чтобы отобразить содержимое подкаталогов рекурсивно:
Вывод
Команда ls выводит информацию о файлах и каталогах.
Для получения дополнительной информации ls посетите страницу GNU Coreutils или введите man ls свой терминал.
Источник
Команда LS в Linux. Описание и примеры
Команда ls – Одна из основных команд в терминальном режиме для просмотра содержимого каталога. Команда ls — вероятно наиболее используемая команда в любой UNIX-системе. Её предназначение — вывод информации о файлах и каталогах. Дополнительные опции команды позволяют получить более подробную информацию и сортировать её определённым образом.
Команда ls linux
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции/путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
- -a – отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
- -A – не отображать ссылку на текущую папку и корневую папку . и ..;
- –author – выводить создателя файла в режиме подробного списка;
- -b – выводить Escape последовательности вместо непечатаемых символов;
- –block-size – выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
- -B – не выводить резервные копии, их имена начинаются с
;
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
Синтаксис команды ls
- -a. Показывает все файлы, в том числе скрытые с точкой.
- -A. Опция показывает скрытые файлы и скрывает ссылку на текущий каталог.
- -l. Отображает подробный список, в котором показываются права доступа.
- -o. Подробный список, только без группы.
- -d. Отображает только каталоги, без содержимого, не переходить по символьным ссылкам.
- -D. Режим “Emacs dired”. Здесь стоит отметить что же такое режим Emacs? Это текстовый программируемый текстовый редактор.
- -f. Аргумент отключит сортировку и покажет скрытые документы.
- -r. Сортировка в обратном порядке.
- -X. Сортировка по алфавиту.
- -S. Сортировка по размеру документов. Сначала идут файлы и каталоги большего размера, потом маленькие.
- -t. Сортировка по времени изменения. Сначала идут более новые.
- -h. Переводит информацию о размерах директорий и файлов в удобной вид для человека. В конце цифр добавляется буква “K” – килобайты, “M” – мегабайты. Данная опция обычно используется с “-l”, так как необходимо вывести информация о размерах, а потом перевести размеры в удобный формат.
- –hide. Скрыть документы, которые полностью совпадают с указанными символами. Например нужно скрыть “kurica”, указываем –hide kurica.
- -I ‘шаблон’. Скрыть файлы согласно шаблону. Например нужно скрыть все документы, которые начинаются на букву f. Тогда пишем ls -I’f*’.
- -1. Список документов в один столбец.
- –V. Показывает версию программы.
- –help. Справка.
Путь к каталогу может принимать один из трех значений:
- полный путь директории (/etc/network/);
- относительный путь (network);
- пустой значение. Означает, что команда будет выполняться в текущей директории. По умолчанию это домашний каталог.
Как правильно интерпретировать вывод команды ls?
Первое, что может ввести в заблуждение при изучении вывода команды ls -l, так это первая секция данных. Состоящая из набора десяти символов и показывающая режимы доступа к файлу. Для вышеприведённого примера первый символ «-» указывает, что это файл. А в случае с каталогом вместо него выводится символ «d». Следующие девять символов представляют собой три группы, отражающих режимы доступа к файлу. Первая группа (первые три символа «rwx») показывают, какие права доступа выставлены на данный файл для его владельца. Следующая группа символов — «r-x» — показывает режим доступа для группы, к которой принадлежит файл. Ну а третья («r-x») — права доступа для всех остальных пользователей.
В полях, отображающих владельца и группу вместо символьных имён могут быть также и цифровые идентификаторы. Такое бывает, когда соответствующие записи были удалены из файлов /etc/passwd или /etc/group. Также это может быть признаком возникновения ошибки в базах данных LDAP или NIS. Конечно, если таковые используются.
Следует также понимать, что время последнего изменения файла на самом деле отражает не время редактирования его содержимого, например, а время изменения одного или нескольких из его атрибутов.
Особенности использования команды ls
Когда команда ls обрабатывает не «обычные» файлы, а специальные файлы устройств (хотя это тоже самые обычные файлы). То для них она выводит несколько иную информацию:
$ ls -l /dev/tty0 cr–w—- 1 root tty 4,0 фев 28 14:27 /dev/tty0
Вместо размера файла выводится старший и младший номера (4, 0) устройства tty0 – это первая виртуальная консоль, управляемая драйвером устройства 4, который является драйвером терминала.
Когда нужно узнать для определённого файла не только количество указывающих на него жестких ссылок, но и сами эти ссылки. То целесообразно использовать опцию -i, которая выводит номер индексного дескриптора для файла:
$ ls -li ‘Рабочий стол’ 3276880 ‘Рабочий стол’
Номер индексного дескриптора — это индекс той самой таблицы, в которой содержатся записи всех файловых систем. В свою очередь, на дескрипторы ссылаются файловые записи каталогов. Таким образом, у жёстких ссылок, ссылающихся на один и тот же файл, будут одинаковые номера. Зная номер индексного дескриптора определённого файла, можно найти в системе все ссылающиеся на него жесткие ссылки, используя команду find:
$ find точка_монтирования -xdev -inum индексный_дескриптор
Данный пример — лишь одно из важных практических применений команды ls. Следует также отметить некоторые особенно полезные опции команды ls:
-a – отображает все файлы и каталоги. Включая скрытые (имена которых начинаются с точки), а также «всевдокаталоги» с именами «.» и «. .»;
-t – отображает результаты в отсортированном (по времени изменения файлов) порядке. А опция -tr то же, но в обратном порядке;
-F – выделяет каталоги и исполняемые файлы в общем выводе;
-h – отображает размеры файлов и каталогов в «человекопонятных» единицах, к примеру 4k или 10M;
-R – рекурсивный вывод, выполнение которого прерывается нажатием сочетания клавиш .
Иногда возникает путаница в использовании опций -l и —d. Дело в том, что опция -d предназначена для дополнения работы опции -l (которая выводит подробную информацию об атрибутах). Когда необходимо получить атрибуты именно конкретного каталога:
/htdocs drwxrwxr-x 12 john john 4096 фев 11 12:56 /home/john/htdocs
Использование ls в Linux
Как вы уже поняли, ls – это сокращение от list, эта команда представляет из себя аналог команды dir для Linux. Самый простой способ использовать команду, запустить ее без параметров и посмотреть содержимое текущей папки:
Чтобы посмотреть список файлов в папке linux для точно заданной папки, вам нужно указать путь к ней. Например, смотрим содержимое корневой папки:
По умолчанию включен цветной вывод, поэтому вы видите столько различных цветов. Например, исполняемые файлы обозначаются салатовым, а ссылки голубым. Теперь посмотрим содержимое домашней папки снова, только на этот раз в виде списка с максимальным количеством информации:
Тут вывод уже разделен на отдельные колонки, в первой колонке указаны права доступа к файлу в формате владелец группа остальные. Следующая колонка – это тип файла или папки, дальше владелец и группа, затем размер, дата создания и последний параметр – имя. Если вы еще хотите знать кто создал файл, можно использовать опцию author:
Колонка создателя будет добавлена после группы. Дальше размер. Он выводится в байтах, килобайтах или еще в чем-то и нам не совсем понятно что там происходит, поэтому добавьте опцию -h чтобы выводить размер в более удобном виде:
Для папок размер выводится не сумой всех размеров всех файлов, а всего лишь то место, которое занимает сама папка, поэтому давайте посмотрим пример с файлами:
ls -l Фото
ls -lh Фото
Если вы хотите видеть скрытые файлы, а в домашней папке их просто море, то используйте опцию -a:
Или смотрим скрытые файлы без ссылок на текущую и родительскую папку:
Теперь нас будет интересовать сортировка. Сначала отсортируем файлы по размеру:
Обратите внимание, что файлы расположены от большего к меньшему. Теперь мы можем включить обратный порядок:
С помощью опции -r мы вывели файлы в обратном порядке. Теперь отсортируем по алфавиту:
Или сортируем по времени последней модификации:
Обратите внимание на колонку времени, действительно, самые новые файлы будут вверху списка. Если вы хотите посмотреть какие метки SELinux присвоены файлу, необходимо использовать опцию -Z:
Но это возможно только в системах, где установлена надстройка SELinux. Если вы хотите рекурсивно вывести содержимое всех папок, используйте опцию -R:
Если же вам нужно список папок и файлов в директории через запятую, что можно использовать -m:
Знакомство с ls
А сейчас, мы быстренько пройдемся по команде ls. Скорее всего вы уже хорошо знакомы с этой командой, и знаете, что набрав ls получите список содержимого текущей рабочей директории:
$ cd /usr
$ ls
X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 include libexec portage share tmp distfiles i686-linux info local portage.old src
Указав опцию -a, вы можете увидеть полный список, включая скрытые файлы и директории, начинающиеся с “.”. Как видно в следующем примере, ls -a выводит также особые связывающие директории “.” и “..”:
$ ls -a
. bin gentoo-x86 include libexec portage share tmp .. distfiles i686-linux info local portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl
1. ls без параметров
ls без опций отображает список файлов и каталогов в чистом формате, где мы не сможем просматривать такие детали, как типы файлов, размер, дата и время изменения, разрешения и ссылки и т. д.
# ls 001.pcap Desktop Downloads index.html install.log.syslog Pictures Template anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos
2. ls с параметром -l
Здесь, ls -l (l — символ, а не единица) показывает файл или каталог вместе с его размером, а также дату и время изменения, права и владельца.
# ls -l total 176 -rw-r–r–. 1 root root 683 Aug 19 09:59 0001.pcap -rw——-. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r–r–. 1 root root 21262 Aug 12 12:42 fbcmd_update.php -rw-r–r–. 1 root root 46701 Jul 31 09:58 index.html -rw-r–r–. 1 root root 48867 Jul 31 02:17 install.log -rw-r–r–. 1 root root 11439 Jul 31 02:13 install.log.syslog drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
Подробный список файлов ls
Выведем содержимое текущей директории, в которой мы в данной момент находимся. Используем опцию -l, чтобы выводить подробную информацию о файлах.
Если необходимо вывести содержимое другой директории, то нужно указать путь до директории, например:
Показать скрытые файлы ls -a
По умолчанию команда ls не показывает скрытые файлы. Что их показать, используется опция -a: ls -a
Определение расположения определенной папки ls
Сперва следует обязательно разобраться с процедурой перехода к необходимому расположению через «Терминал». Если вы будете осуществлять сканирование нескольких папок, находящихся в одной директории, проще это делать сразу из нужного места, чтобы избежать надобности ввода полного пути к объекту. Определяется место и выполняется переход так:
-
- Откройте файловый менеджер и перейдите в требуемую директорию.
-
- Щелкните по любому элементу в ней ПКМ и выберите «Свойства».
-
- Во вкладке «Основные» обратите внимание на пункт «Родительская папка». Именно его и нужно запомнить для дальнейшего перехода.
-
- Осталось только запустить консоль удобным методом, например, зажатием горячей клавиши Ctrl + Alt + T либо нажав на соответствующий значок в меню.
-
- Здесь введите cd /home/user/folder, чтобы перейти в интересующее расположение. User в данном случае — имя пользователя, а folder — название конечной папки.
Теперь можно смело переходить к использованию рассматриваемой сегодня команды ls с применением различных аргументов и опций. Мы предлагаем ознакомиться с основными примерами более детально далее.
Понятный размер файлов
Вывести размер файлов в понятном формате (опция -h):
Просмотр содержимого текущей папки ls
Написав в консоли ls без каких-либо дополнительных опций, вы получите информацию о текущем расположении. Если после запуска консоли не было осуществлено никаких переходов через cd, отобразится список файлов и папок домашней директории.
Папки отмечены синим цветом, а другие элементы — белым. Все будет выведено в одну или несколько строк, что зависит от количества находящихся объектов. Вы можете ознакомиться с полученными результатами и переходить далее.
Обозначить директории ls
У команды ls есть очень полезная опция -F, про которую не все знают. Она добавляет к именам файлов дополнительные обозначения, по которым сразу понятно что это за файл. Например, для директорий она добавляет символ /, и в списке файлов сразу видно где директории а где обычные файлы.
Список файлов в одну колонку
Вывести список в одну колонку:
Вывести только файлы с определенным расширением
Выведем файлы только с расширением .txt:
Выведем файлы с определенными расширениями (.html, .php и .txt):
Файлы, начинающиеся на определенную букву
Показать только файлы, имена которых начинаются на одну из букв указанного множества (a, d, u и x):
Определение создателя папки
Синтаксис команды ls построен так же, как и у большинства других стандартных утилит, поэтому даже начинающий пользователь не найдет в этом ничего нового или незнакомого. Разберем первый пример при надобности просмотра автора папки и даты изменения. Для этого введите ls -l –author folder, где folder — название директории либо полный путь к ней. После активации вы увидите искомую информацию.
Список файлов с сортировкой по времени
Выведем список файлов с сортировкой по времени последнего изменения файла. Более свежие файлы располагаются сверху.
Сортировка по времени, но в обратном порядке:
Вывод скрытых файлов
В ОС Linux присутствует достаточно большое количество скрытых элементов, особенно когда речь идет о системных файлах. Отобразить их вместе со всем остальным содержимым директории можно, применив определенную опцию. Тогда команда выглядит так: ls -a + название или путь к папке.
Найденные объекты будут отображаться с ссылками на место хранения, если вас не интересует эта информация, просто измените регистр аргумента, написав в таком случае -A.
Обратный порядок вывода
С помощью комбинации -ltr список будет сортироваться по дате последнего изменения от старых к новым.
# ls -ltr total 176 -rw-r–r–. 1 root root 11439 Jul 31 02:13 install.log.syslog -rw-r–r–. 1 root root 48867 Jul 31 02:17 install.log -rw——-. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents -rw-r–r–. 1 root root 46701 Jul 31 09:58 index.html -rw-r–r–. 1 root root 21262 Aug 12 12:42 fbcmd_update.php drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r–r–. 1 root root 683 Aug 19 09:59 0001.pcap
Рекурсивный и инодный списки
Так вы можете использовать -d чтобы смотреть на директорию, но также можно использовать -R для противоположного: не только лишь глянуть внутрь директории, но и рекурсивно посмотреть все директории с файлами внутри нее! Мы не включим в руководство никакого примера вывода для этой опции (поскольку обычно он очень объемный), но возможно вы захотите попробовать несколько команд ls -R и ls -Rl, чтобы почувствовать как это работает.
Наконец, опция -i может использоваться для отображения числа инодов для объектов в списке файловой системы
$ ls -i /usr
1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 1513 i686-pc-linux-gnu 5120 local 13408 share 8316 distfiles 1517 include 776 man 23779 src 43 doc 1386 info 93892 portage 36737 ssl 70744 gentoo-x86 1585 lib 5132 portage.old 784 tmp
Понятие инода
Каждому объекту файловой системы назначен уникальный индекс, называемый номером инода. Это может показаться банальным, но понятие инодов очень важно для понимания большинства операций в файловой системе. Рассмотрим например ссылки “.” и “..”, которые появляются в каждой директории. Чтобы полностью понять, чем на самом деле является директория “..”, мы сперва взглянем на номер инода у /usr/local
$ ls -id /usr/local
5120 /usr/local
У директории /usr/local номер инода равен 5120. А теперь посмотрим номер инода у /usr/local/bin/.
$ ls -id /usr/local/bin/..
5120 /usr/local/bin/..
Как видно, директория /usr/local/bin/.. имеет такой же номер, как у /usr/local! Посмотрим, как можно справиться с этим шокирующим откровением. В прошлом мы полагали, что /usr/local сама является директорией. Теперь же, мы обнаружили, что фактически директория — это инод с номером 5120, и нашли, по меньшей мере, два элемента (называемых «ссылками»), которые указывают на данный инод. И /usr/local, и /usr/local/bin/.. — ссылки на 5120-ый инод. Хотя этот инод и существует только в одном месте на диске, тем не менее на него может быть множество ссылок
На самом деле, мы даже можем увидеть общее количество ссылок ведущих на этот, 5120 инод, используя команду ls -dl:
$ ls -dl /usr/local
drwxr-xr-x 8 root root 240 Dec 22 20:57 /usr/local
Если взглянуть на вторую колонку слева, то видно, что на директорию /usr/local (инод 5120) ссылаются восемь раз. На моей системе на этот инод ведут следующие пути:
/usr/local
/usr/local/.
/usr/local/bin/..
/usr/local/games/..
/usr/local/lib/..
/usr/local/sbin/..
/usr/local/share/..
/usr/local/src/..
mkdir
Давайте быстренько пройдемся по команде mkdir, которая используется для создания новых директорий. Следующий пример создает три новых директории, tic, tac, и toe, все внутри /tmp:
$ cd /tmp
$ mkdir tic tac toe
По умолчанию, команда mkdir не создает для вас родительские директории; весь путь вплоть до последнего (создаваемого) элемента должен существовать. Так, если вы захотите создать вложенные директории won/der/ful, вам придется выполнить три отдельные команды mkdir:
$ mkdir won/der/ful
mkdir: cannot create directory `won/der/ful’: No such file or directory
$ mkdir won
$ mkdir won/der
$ mkdir won/der/ful
Однако, у mkdir есть очень удобная опция -p, которая говорит mkdir создавать любые отсутствующие родительские директории, как можете увидеть тут:
$ mkdir -p easy/as/pie
В целом очень просто. Чтобы узнать больше о команде mkdir наберите man mkdir и прочитайте инструкцию. Это же касается почти всех команд, рассмотренных здесь (например man ls), исключая cd, которая встроена в bash.
touch
Сейчас мы собираемся окинуть взглядом команды cp и mv, используемые для копирования, переименования и перемещения файлов и директорий. Но начнем обзор воспользовавшись командой touch, чтобы создать файл в /tmp:
$ cd /tmp
$ touch copyme
Команда touch обновляет «mtime» (время последней модификации — прим. пер.) файла, если тот существует (вспомните шестую колонку в выводе ls -l). Если файл не существует, то новый, пустой файл будет создан. Сейчас у вас должен быть файл /tmp/copyme с нулевым размером.
Теперь, когда файл существует, давайте добавим немного данных в него. Можно сделать это с помощью команды echo, которая принимает аргументы и печатает их на стандартный вывод. Сперва, команда echo сама по себе:
$ echo “firstfile”
firstfile
А сейчас, та же команда echo, но с перенаправлением вывода:
$ echo “firstfile” > copyme
Знак «больше» сообщает оболочке записывать вывод echo в файл по имени copyme. Этот файл будет создан, если не существовал, или перезаписан, если существует. Набрав ls -l, увидим, что файл copyme имеет размер в 10 байт, так как содержит слово firstfile и символ новой строки:
$ ls -l copyme
-rw-r–r– 1 root root 10 Dec 28 14:13 copyme
cat и cp
Чтобы вывести содержимое файла на терминал, используйте команду cat:
$ cat copyme
firstfile
Сейчас, мы можем воспользоваться основным вызовом команды cp для создания файла copiedme из оригинального copyme:
$ cp copyme copiedme
Ниже проверим, что это действительно разные файлы; у них отличаются номера инодов:
$ ls -i copyme copiedme
648284 copiedme 650704 copyme
А сейчас давайте воспользуемся командой mv для переименования copiedme в movedme. Номер иноды останется прежний; однако, имя файла, указывающее на инод, изменится.
$ mv copiedme movedme
$ ls -i movedme
648284 movedme
Номер инода у перемещаемого файла остается прежним до тех пор, пока файл назначения находится в той же файловой системе, что и исходный файл. Мы подробнее рассмотрим файловую систему в третьей части нашего руководства.
Пока мы рассказываем об mv, давайте посмотрим, как еще можно использовать эту команду. mv, помимо возможности переименовать файлы, позволяет перемещать один или более файлов в другое место в иерархии директорий. Например, чтобы переместить /var/tmp/myfile.txt в директорию /home/drobbins (которая является моей домашней), я наберу (а мог бы воспользоваться
— прим. пер.):
$ mv /var/tmp/myfile.txt /home/drobbins
После этого myfile.txt будет перемещен в /home/drobbins/myfile.txt. И если /home/drobbins располагается в другой файловой системе, нежели /var/tmp, команда mv скопирует myfile.txt в новую файловую систему и удалит его из старой. Как вы уже могли догадаться, когда myfile.txt перемещается между файловыми системами, то myfile.txt на новом месте получает новый номер инода. Это все потому, что у каждой файловой системы свой независимый набор номеров инодов.
Мы также можем воспользоваться mv для перемещения нескольких файлов в одну директорию. К примеру, чтобы переместить myfile1.txt и myarticle3.txt в /home/drobbins, потребуется набрать:
$ mv /var/tmp/myfile1.txt /var/tmp/myarticle3.txt /home/drobbins
Список ключей для команды ls.
Для повседневной работы, одни из самых используемых ключей для команды ls:
- -l — вывод подробной информации о содержимом каталога в виде списка;
- -a (—all) — вывод информации о всех имеющихся объектах явных и скрытых;
- -A (—allmost-all) — вывод информации о всех имеющихся явных и скрытых объектах (за исключением объектов «.» и «..»);
- -d (—directory) — вывод информации о директории без вывода его содержимого;
- -F — к объектам являющимся каталогами добавит в конце символ слеш «/», к объектам являющимися исполняемыми файлами добавляется «*», к объектам являющимися символьными ссылками — «@»;
- -r (—reverse) — данные ключи меняют сортировку на обратную;
- -i — отображение номера индексных дескрипторов объектов;
- -S — сортировка объектов по размеру от большого к меньшему;
- -Sr — сортировка объектов по размеру от меньшего;
- -t — сортировка объектов по времени модификации файлов;
- -R (—recursive) — вывод информации об имеющихся объектах в том числе и объектах во вложенных каталогах.
Способы работы с командой ls и ее ключи, упоминаемые в статье это далеко не весь список. Если вы желаете использовать всю мощь этой на первый взгляд простой команды, то как уже упоминалось ранее, более подробную информацию можно получить при вызове встроенного мануала $ man ls .
Заключение
В заключении нужно отметить, что несмотря на кажущуюся незатейливость команды ls, она является базовым инструментом системного администратора для «исследования» паутины ФС. И если можно так выразиться, средством для понимания её скрытого порядка и принципов работы.
Источник