Показать содержимое директории linux

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

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

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

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

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

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

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

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

[email protected]:/# ls bin dev home initrd.img.old lib64 media opt root sbin srv sys usr vmlinuz boot etc initrd.img lib lost+found mnt proc run snap swapfile tmp var vmlinuz.old 

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

[email protected]:/# ls /var backups cache crash lib local lock log mail opt run snap spool tmp 

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

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

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

[email protected]:/# ls -l total 4194396 drwxr-xr-x 2 root root 4096 May 15 06:46 bin drwxr-xr-x 4 root root 4096 Sep 3 06:15 boot drwxr-xr-x 16 root root 3680 May 20 06:35 dev drwxrwxr-x 93 root root 4096 Sep 3 06:15 etc drwxr-xr-x 3 root root 4096 Mar 6 09:14 home lrwxrwxrwx 1 root root 34 Sep 3 06:15 initrd.img -> boot/initrd.img-4.15.0-115-generic lrwxrwxrwx 1 root root 34 Sep 3 06:15 initrd.img.old -> boot/initrd.img-4.15.0-112-generic drwxr-xr-x 23 root root 4096 Mar 6 09:16 lib drwxr-xr-x 2 root root 4096 Jul 8 06:20 lib64 drwx------ 2 root root 16384 Mar 5 2019 lost+found drwxr-xr-x 2 root root 4096 Feb 4 2019 media drwxr-xr-x 2 root root 4096 Feb 4 2019 mnt drwxr-xr-x 3 root root 4096 Mar 6 09:17 opt dr-xr-xr-x 189 root root 0 May 4 06:16 proc drwx------ 8 root root 4096 Mar 19 08:13 root drwxr-xr-x 28 root root 1120 Sep 3 07:21 run drwxr-xr-x 2 root root 12288 Jul 8 06:20 sbin drwxr-xr-x 2 root root 4096 Mar 6 09:14 snap drwxr-xr-x 2 root root 4096 Feb 4 2019 srv -rw------- 1 root root 4294967296 Mar 6 10:10 swapfile dr-xr-xr-x 13 root root 0 May 4 06:16 sys drwxrwxrwt 10 root root 4096 Sep 3 07:22 tmp drwxrwxr-x 10 root root 4096 Mar 5 2019 usr drwxr-xr-x 13 root root 4096 Mar 5 2019 var lrwxrwxrwx 1 root root 31 Sep 3 06:15 vmlinuz -> boot/vmlinuz-4.15.0-115-generic lrwxrwxrwx 1 root root 31 Sep 3 06:15 vmlinuz.old -> boot/vmlinuz-4.15.0-112-generic 

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

Читайте также:  Linux задать переменную окружения в скрипте

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

[email protected]:/# ls -l swapfile -rw------- 1 root root 4294967296 Mar 6 10:10 swapfile 

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

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

[email protected]:/# ls -a . bin dev home initrd.img.old lib64 media opt root sbin srv sys usr vmlinuz .. boot etc initrd.img lib lost+found mnt proc run snap swapfile tmp var vmlinuz.old 

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

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

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

[email protected]:/# ls -S swapfile sbin boot home lib64 mnt root srv usr dev initrd.img vmlinuz proc lost+found bin etc lib media opt snap tmp var run initrd.img.old vmlinuz.old sys 

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

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

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

[email protected]:/# ls -lhS total 4.1G -rw------- 1 root root 4.0G Mar 6 10:10 swapfile drwx------ 2 root root 16K Mar 5 2019 lost+found drwxr-xr-x 2 root root 12K Jul 8 06:20 sbin drwxr-xr-x 23 root root 4.0K Sep 3 06:15 . drwxr-xr-x 23 root root 4.0K Sep 3 06:15 .. drwxr-xr-x 2 root root 4.0K May 15 06:46 bin drwxr-xr-x 4 root root 4.0K Sep 3 06:15 boot drwxrwxr-x 93 root root 4.0K Sep 3 06:15 etc drwxr-xr-x 3 root root 4.0K Mar 6 09:14 home drwxr-xr-x 23 root root 4.0K Mar 6 09:16 lib drwxr-xr-x 2 root root 4.0K Jul 8 06:20 lib64 drwxr-xr-x 2 root root 4.0K Feb 4 2019 media drwxr-xr-x 2 root root 4.0K Feb 4 2019 mnt drwxr-xr-x 3 root root 4.0K Mar 6 09:17 opt drwx------ 8 root root 4.0K Mar 19 08:13 root drwxr-xr-x 2 root root 4.0K Mar 6 09:14 snap drwxr-xr-x 2 root root 4.0K Feb 4 2019 srv drwxrwxrwt 10 root root 4.0K Sep 3 07:22 tmp drwxrwxr-x 10 root root 4.0K Mar 5 2019 usr drwxr-xr-x 13 root root 4.0K Mar 5 2019 var drwxr-xr-x 16 root root 3.6K May 20 06:35 dev drwxr-xr-x 28 root root 1.1K Sep 3 07:21 run lrwxrwxrwx 1 root root 34 Sep 3 06:15 initrd.img -> boot/initrd.img-4.15.0-115-generic lrwxrwxrwx 1 root root 34 Sep 3 06:15 initrd.img.old -> boot/initrd.img-4.15.0-112-generic lrwxrwxrwx 1 root root 31 Sep 3 06:15 vmlinuz -> boot/vmlinuz-4.15.0-115-generic lrwxrwxrwx 1 root root 31 Sep 3 06:15 vmlinuz.old -> boot/vmlinuz-4.15.0-112-generic dr-xr-xr-x 191 root root 0 May 4 06:16 proc dr-xr-xr-x 13 root root 0 Sep 3 08:25 sys 

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

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

Читайте также:  Linux локальный прокси сервер

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

[email protected]:/# cd var [email protected]:/var# ls -a . .. backups cache crash lib local lock log mail opt run snap spool tmp 

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

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

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

[email protected]:/var# cd local42 -bash: cd: local42: No such file or directory [email protected]:/var# cd .. [email protected]:/# ls bin dev home initrd.img.old lib64 media opt root sbin srv sys usr vmlinuz boot etc initrd.img lib lost+found mnt proc run snap swapfile tmp var vmlinuz.old 

Идем домой

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

r[email protected]:/# cd ~ [email protected]:~# pwd /root 

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

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

  1. Переходим в домашний каталог: cd ~
  2. Проверяем что он пустой: ls
  3. Создаем новый файл с помощью touch и пишем сразу после команды имя файла
  4. Выполняем команду ls чтобы убедиться, что файл создался успешно
[email protected]:/var/log# cd ~ [email protected]:~# ls [email protected]:~# touch hello.txt [email protected]:~# ls hello.txt 

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

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

[email protected]:~# mkdir internal [email protected]:~# ls hello.txt internal 

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

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

Читайте также:  Добавить java в path linux

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

[email protected]:~# man ls NAME ls -- list directory contents SYNOPSIS ls [[email protected]%] [file . ] DESCRIPTION For each operand that names a file of a type other than directory, ls displays its name as well as any requested, associated information. For each operand that names a file of type directory, ls displays the names of files contained within that directory, as well as any requested, associated information. If no operands are given, the contents of the current directory are displayed. If more than one operand is given, non-directory operands are displayed first; directory and non-directory operands are sorted separately and in lexicographical order. The following options are available: . 

Вывод

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

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

Источник

Оцените статью
Adblock
detector