- 6 самых полезных команд для работы с терминалом на Linux, Mac и UNIX
- pwd — вывести текущую директорию
- ls — показать содержимое директории
- Расширенная информация (Long list view)
- Показать скрытые файлы и папки
- Сортировка вывода команды ls
- Объединение флагов команды ls
- cd — сменить директорию
- Перемещаемся на одну директорию выше
- Идем домой
- touch — создать файл
- mkdir — создать директорию
- man — показать мануал / получить помощь
- Вывод
- Скрытые файлы в Linux
- Какие файлы считаются скрытыми в Linux
- Отображение скрытых файлов в файловом менеджере Nautilus
- Просмотр скрытых файлов в командной строке
- Примечание
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 . Это полезно если в директории много файлов, информация о которых тебя не интересует.
Вот как это сработает с файлом 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 принимает имя каталога как аргумент и перемещает тебя туда.
Команда 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 используют для создания новых файлов. План такой:
- Переходим в домашний каталог: cd ~
- Проверяем что он пустой: ls
- Создаем новый файл с помощью touch и пишем сразу после команды имя файла
- Выполняем команду 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 .
Если ты хочешь сделать, что-то полезное, но забыл как именно пользоваться какой-то командой, то выполни 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 и терминал могут показаться тебе чем-то очень страшным. Но, как видишь, все довольно просто и прямолинейно.
Скрытые файлы в Linux
В этой статье я расскажу, какие файлы и директории являются скрытыми в Linux и как их просмотреть в файловом менеджере Nautilus и из командной строки.
Какие файлы считаются скрытыми в Linux
Файл (или директория) в Linux считается скрытым (hidden), если его название начинается с символа точка «.». Например, «.myfile». Обычно такие файлы используются приложениями для хранения настроек, конфигураций и другой информации, которую нужно скрыть от пользователя. Зачастую пользователю требуется отредактировать соответствующий конфигурационный скрытый файл, чтобы настроить какую-нибудь программу в Linux и пользователи сталкиваются с тем, что не знают, как их вообще просмотреть. По умолчанию файловые менеджеры обычно не отображают такие файлы.
Отображение скрытых файлов в файловом менеджере Nautilus
Файловый менеджер Nautilus, который является стандартным в Ubuntu, по умолчанию не показывает скрытые файлы. Для того, чтобы Nautilus отобразил скрытые файлы можно воспользоваться комбинацией клавиш Ctrl+H или воспользоваться пунктом меню «Вид->Показывать скрытые файлы».
Чтобы Nautilus всегда отображал скрытые файлы, выберите в меню «Правка->Параметры» и установите галочку напротив пункта «Показывать скрытые и резервные файлы». Также эта опция позволит отобразить файлы резервных копий (их названия заканчиваются на символ тильда «~») Теперь при каждом запуске Nautilus будет отображать полный листинг файлов.
Просмотр скрытых файлов в командной строке
Для просмотра списка файлов в командной строке используется команда ls. Чтобы по команде ls также выводились скрытые файлы, существует опция -a. Пример:
#ls -a . .. testdir upload .config .data
Примечание
Скрытые файлы или директории в Linux не являются более защищенными, чем обычные файлы. Это всего лишь возможность разграничения на отображаемые и скрываемые файлы при использовании файловых менеджеров и других программ работы с файлами. Например, в домашней директории пользователя обычно хранится несколько десятков скрытых директорий и файлов, но для удобства пользователя, например, то же Nautilus их не отображает. Также стоит отметить, что при простом создании резервной копии домашней директории путем копирования на другой носитель нужно не забывать скопировать скрытые файлы (если, конечно, они вам нужны).