Основы Linux за 40 секунд

40 sec

Структуры директорий в Linux

В Linux с этим все очень круто и логично.

Давайте включим нашу виртуалку с убунтой и подключимся к ней с помощью mobaxterm.

Я введу команду:

ls /

И получу вот такой результат:

ls

Что такое ls / и что мы тут видим?

Команда ls это сокращение от лист, т.е. показать список (а может и нет, мне лень гуглить, но так проще запомнить). / - это корень, он же root (рут), корень файловой системы. А сама файловая система, как вы могли догадаться - древовидная.

Когда мы вводим команду ls / то мы просто смотрим, какие есть каталоги в корне нашей файловой системы. Я не буду расписывать, где что в ФС линукс хранится, вы можете погуглить. Скажу лишь, что в каталоге home (он же хомяк) храняться профили пользователей, например /home/ubuntu это будет моя пользовательская директория и при авторизации через юзера ubuntu изначально я буду оказываться в ней. Единственный пользователь, который не хранится в хомяке - root. Его данные храняться прям вот тут /root. Вы конечно можете для пользователя задать любой путь до хомяка, но по умолчанию вот так.

Основные моменты при работе с консолью

Каждая команда на вход получает какие-то аргументы и может иметь флаги

Рассмотрим команду ls:

ls -la /home

В данном примере мы вызываем команду ls и передаем ей аргумент /home, т.е. хотим посмотреть, что лежит в хомяке. Но, так же мы передаем ей флаги -l и -a. Флаги можнно записывать по отдельности, а можно совмещать их вместе, как в примере.

Вы так же можете вызвать эту команду в таком виде:

ls /home -l -a

Что делает -la ?

-l выводит результат расширенным списком (с указанием владельца файлы и т.п.)

-a выводить также все скрытые файлы

Чтобы узнать флаги вы всегда можете ввести название команды и добавить --help

ls --help

Обычно этого хватает, чтобы найти нужный параметр.

Вы также можете воспользоваться

man ls

Либо гуглом

Что такое скрытые файлы?

Да просто файлы, у которых название начинается с точки, например .env

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

Относительные и полные пути

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

По этому иногда удобно использовать относительные пути, иногда полные.

Полные пути указываются элементарно, вам надо прописать ВЕСЬ путь до файла

/home/ubuntu/secret.txt

Т.е. начинаем прям с / (корня)

Относительные пути можно указывать по разному.

Предположим, что вы уже находитесь в каталоге /home/ubuntu

Тогда путь до файла secret.txt будет выглядеть так:

./secret.txt (точка указывает на текущий каталог)

Либо так:

~/secret.txt (тильда указывает на ваш домашний каталог, вы должны быть пользователем ubuntu, чтобы тильда указала на /home/ubuntu, если вы допустим будете root’ом, то она укажет на /root)

Еще есть переменные окружения, про них еще расскажу, но суть такая:

$HOME/secret.txt будет тем же самым, что и ~/secret.txt

CHEATSHIT

Я не буду каждую команду отдельно описывать. Главное понять принцип работы в консоли, а дальше уже будет просто.

Каждая команда выполняет какое-то дейстивия и ждет аргументов. Для ls нам нужен был один аргумент (посмотреть где?), а для некоторых команд, например для перемещения файла, мы можешь задать себе вопрос (откуда? куда?). Соответственно для команды перемещения нам придется указать 2 аргумента, путь до файла (откуда) и путь до файла (куда).

ls <arg> (вывести содержимое каталога)

cd <arg> (перейти в каталог)

mv <arg1> <arg2> (перенести файл откуда куда)

cp  <arg1> <arg2> (скопировать файл откуда куда)

pwd (показать путь до текущего каталога)

echo <arg> (вывести текст)

cat <arg> (вывести содержимое файла)

touch <arg> (создать пустой файл)

rm <arg> (удалить файл, удалить папку с файлами rm -rf, будьте аккуратны с такими командами)