Основы Linux за 40 секунд
Структуры директорий в Linux
В Linux с этим все очень круто и логично.
Давайте включим нашу виртуалку с убунтой и подключимся к ней с помощью mobaxterm.
Я введу команду:
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, будьте аккуратны с такими командами)