71 команда Linux на все случаи жизни. Ну почти

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

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

символическая

symlink () создает символическую ссылку с именем linkpath, которая содержит строку target. Символические ссылки интерпретируются во время выполнения, как если бы содержимое ссылки было подставлено в путь, по которому идет поиск файла или каталога.

Символьные ссылки могут содержать .. компоненты пути, которые (если используются в начале ссылки) ссылаются на родительские каталоги того, в котором находится ссылка. Символическая ссылка (также известная как мягкая ссылка) может указывать на существующий файл или на несуществующий; последний случай известен как свисающая связь.

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

Что такое символические ссылки

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

Например, предположим, что у вас есть программа, которая использует файлы в папке C:\Program. А Вам хотелось бы сохранить этот каталог в D:\Refuse, но программа требует, чтобы её файлы были в C:\Program. Вы можете перенести исходный каталог из C:\Program в D:\Refuse, а затем создать символическую ссылку C:\Program, указав на D:\Refuse. Когда вы перезапустите программу, она попытается получить доступ к своему каталогу в C:\Program. Windows автоматически перенаправит её на D:\Refuse, и всё будет работать так, как если бы оно было в C:\Program.

Этот трюк можно использовать для всех целей, включая синхронизацию любой папки с такими программами, как Dropbox, Google Drive и OneDrive.

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

Обратите внимание, что Windows фактически не использует термины «жесткая ссылка» и «мягкая ссылка». Вместо этого используются термины «жесткая ссылка» и «символическая ссылка». В документации Windows «символическая ссылка» – это то же самое, что «мягкая ссылка». Тем не менее, mklink-команда может создавать как жесткие ссылки, так и софт-ссылки (известные как «символические ссылки» в Windows).

Читайте также:  Шифрование трафика в Linux, методика обхода блокировок

Интерфейсы взаимодействия с EFS [ править | править код ]

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

Использование графического интерфейса

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

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

Методом редактирования реестра возможно добавить в контекстное меню проводника (и других, поддерживающих эту функциональность файловых менеджеров) пунктов «зашифровать» и «расшифровать», что повышает удобство работы при частом использовании этих функций, для чего необходимо создать (или изменить существующий) параметр реестра типа DWORD EncryptionContextMenu на 00000001 , находящийся в ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced .

Интерфейс командной строки

Для работы с EFS пользователем имеется также возможность использовать интерфейс командной строки — команда cipher. При выполнении данной команды без параметров будет выведено содержимое текущей папки с меткой U перед файлом, если он не зашифрован, и E, если зашифрован.

Команда зашифрования файла/папки имеет вид:

Команда расшифрования файла/папки имеет вид:

Данная утилита имеет ряд других возможностей, список которых может быть получен при помощи команды cipher /? , среди которых перешифрование файлов с новым ключом, генерация нового ключа шифрования, добавление агента восстановления и т. д.

Очистка неиспользуемого места

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

Для работы с EFS прикладных и системных программ возможно использование документированных и недокументированных функций API Windows.

Как найти и вывести все символические ссылки на диске?

В Windows нет простых инструментов для просмотра и управления всеми симлинками на диске.

Вы можете вывести список всех символических ссылок на диске с помощью команды:

dir /AL /S C:\ | find «SYMLINK»

  • /A – вывести файлы с атрибутом L (симлинк);
  • /S –выполнить команду рекурсивно для всех вложенных каталогов;
  • C:\ — укажите имя диска, на котором нужно найти все символические ссылки (если вы не хотите сканировать весь диск, укажите путь к нужному каталогу)

Также можно вывести список всех символических ссылок на диске с помощью PowerShell. Для этого нужно просканировать все каталоги и найти NTFS объекты с атрибутом ReparsePoint:

Get-ChildItem -Path C:\ -Force -Recurse -ErrorAction ‘silentlycontinue’ | Where { $_.Attributes -match «ReparsePoint»}

Права суперпользователя

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

Способы получить права root в Linux

  • Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
  • Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.

О втором варианте расскажем подробнее.

  1. sudo

    (Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

    sudo имя_команды

  2. sudo su

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

  3. sudo gksudo

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

  4. sudo !!

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

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Типы файлов в Linux

Ниже представлено краткое описание 7 различных типов файлов в Linux:

   — — обычный файл;

   d — каталог;

   c — символьное устройство;

   b — блочное устройство;

   s — (локальный) сокет;

   p — именованный канал;

   l — символьная ссылка.

Обычный файл

Обозначается как —

Обычный файл — это наиболее распространенный тип файлов в Linux. Текстовые файлы, изображения, двоичные файлы, общие библиотеки и т.д. — все они относятся к обычному типу файлов. Вы можете создать обычный файл с помощью команды touch:

[email protected]:~$ touch [email protected]:~$ ls -ld rw-r—r— 1 diego diego 0 фев 20 11:14

Первый символ вывода команды ls, в данном случае -, обозначает, что перед нами обычный файл. Для удаления обычного файла используется команда rm (сокр. от «remove»):

[email protected]:~$ rm [email protected]:~$ ls -ld ls: невозможно получить доступ к »: Нет такого файла или каталога

Каталог

Обозначается как d

Каталог — это второй по распространенности тип файлов в Linux. Каталог можно создать с помощью команды mkdir (сокр. от «make directory»):

[email protected]:~$ mkdir ravesli [email protected]:~$ ls -ld ravesli drwxr-xr-x 2 diego diego 4096 фев 20 12:14 ravesli

Как объяснялось ранее, каталогу соответствует символ d (от «directory») выходных данных команды ls. Для удаления пустого каталога используется команда rmdir (сокр. от «remove directory»):

[email protected]:~$ rmdir ravesli [email protected]:~$ ls -ld ravesli ls: невозможно получить доступ к ‘ravesli’: Нет такого файла или каталога

При попытке удалить каталог, содержащий внутри себя файлы, вы получите сообщение об ошибке:

[email protected]:~$ mkdir ravesli [email protected]:~$ touch /home/diego/ravesli/ [email protected]:~$ rmdir ravesli rmdir: не удалось удалить ‘ravesli’: Каталог не пуст

В этом случае вам нужно использовать команду rm -r:

[email protected]:~$ rm -r ravesli/ [email protected]:~$ ls -ld ravesli ls: невозможно получить доступ к ‘ravesli’: Нет такого файла или каталога [email protected]:~$

Символьное устройство

Обозначается как c

Символьные и блочные файлы устройств позволяют пользователям и программам взаимодействовать с аппаратными периферийными устройствами. При этом символьные устройства обеспечивают последовательный поток ввода или вывода:

[email protected]:~$ sudo ls -ld /dev/urandom crw-rw-rw- 1 root root 1, 9 фев 20 12:49 /dev/urandom

В этом примере символьным устройством является генератор псевдослучайных чисел.

Блочное устройство

Обозначается как b

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

[email protected]:~$ ls -ld /dev/sda brw-rw—- 1 root disk 8, 0 фев 20 12:49 /dev/sda

Локальные сокеты

Обозначаются как s

Как правило, локальные сокеты используются для связи между такими службами, как: X Window, syslog и т.д.

$ ls -ld /dev/log srw-rw-rw- 1 root root 0 Jan  4 10:13 /dev/log

Именованные каналы

Обозначаются как p

Подобно локальным сокетам, именованные каналы позволяют осуществлять связь между двумя локальными процессами. Основное отличие от сокетов в том, что через каналы данные могут проходить одновременно только в одном направлении. Они могут быть созданы с помощью команды mknod и удалены с помощью команды rm.

Символьные ссылки

Обозначаются как l

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

Существует два типа символьных ссылок в Linux:

   Мягкая ссылка является указателем на некоторый файл или каталог (сродни ярлыкам в Windows). Если вы переместите файл, связь с символьной ссылкой разорвётся (но сама ссылка все еще будет существовать, указывая на файл, которого нет). Если вы замените файл другим, сохранив имя, символьная ссылка будет указывать на новый файл. Символьные ссылки могут охватывать различные разделы файловой системы.

   Жесткая ссылка привязывается только к файлам, охватывает только один раздел файловой системы и, по сути, является тем же файлом, на который ссылается.

Для создания символьной мягкой ссылки используется команда ln -s:

[email protected]:~$ echo file1 > file1 [email protected]:~$ ln -s file1 file2 [email protected]:~$ cat file2 file1 [email protected]:~$ ls -ld file2 lrwxrwxrwx 1 diego diego 5 фев 20 14:11 file2 -> file1

Чтобы удалить символьную ссылку, мы можем использовать команду unlink или rm.

Системная информация

  • date – вывести текущую дату и время
    • [ммддччмм[гг]].сс — установка даты и времени (мм — месяц, дд — дата, чч — час, мм — минут, гг — год, сс — секунд)
  • cal – вывести календарь на текущий месяц
  • uptime – показать текущий аптайм
  • uname – показать информацию о ядре
    • -s — Показать имя ядра (информация выдается по умолчанию, если ни одна опция не указана)
    • -n — Показать имя хоста.
    • -r — Показать номер выпуска ядра. Эта опция часто используется с командами управления модулями.
    • -v — Показать версию ядра.
    • -m — Показать имя аппаратной платформы (CPU).
    • -o — Показать имя операционной системы.
    • -a — Показать всю возможную информацию.
  • cat /proc/cpuinfo – информация ЦПУ
  • cat /proc/meminfo – информация о памяти
  • df – показать инф. о использовании дисков
    • -t — указание типа ФС
    • -h — в «понятном» виде
    • -T — отображение типа ФС
    • -i — отображение информации об inode
    • -x fstype — исключение вывода по типу ФС
  • du – вывести “вес” текущего каталога
    • -s — с подкаталогами
    • -h — в «понятном» виде
    • -m — вывод в мегабайтах
  • dmidecode — информация о железе, берется из API DMI (пакет pmtools)
    • -t— указать тип устройства
      • -t 17 — информация о памяти
    • -q — вывод меньшей информации
  • free – использование памяти и swap
  • whereis file– отображение расположения файла file
  • which app – отображает путь к команде app
  • type app — аналог каманды which
  • enable — вывод встроенных в интерпретатор команд
  • lshw — обтображение списка устройств
  • lsmod — список подключенный модулей ядра
  • modprobe modulemane — добавления и удаления модулей ядра Linux
  • modinfo modulename — информация о модуле modulename
    • -F param — отображение только параметра param для модуля

Символьные, или мягкие, ссылки

Несмотря на возможности, которые предоставляют жесткие ссылки, у них есть ограничения:

  • их можно создавать только на файлы, но не на каталоги;

  • жесткую ссылку нельзя создать на файл, находящийся на другом диске.

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

Поэтому в операционных системах GNU/Linux поддерживается также механизм мягких ссылок. Часто их называют символьными ссылками. Они представляют собой файлы, указывающие не на индексные дескрипторы, а на имена файлов, т. е. на жесткие ссылки. Мягкая ссылка в Linux аналог ярлыка в Windows.

Поскольку жесткая ссылка указывает непосредственно на индексный дескриптор, а мягкая – только на жесткую ссылку, то если удалить все жесткие ссылки файла, то символьная ссылка работать не будет. Она станет «битой».

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

При удалении жесткой ссылки, на имя которой ссылалась символьная, последняя не наследует связь с дескриптором и утрачивает свою работоспособность. Если в данном примере удалить жесткую ссылку с именем logotip, то файлы pic1 и tux станут бесполезны, так как открыть файл 555795 с их помощью уже будет нельзя.