Theshell
Shell для каждого пользователя указан в файле /etc/passwd
Если Shell=false, данный пользователь не может зайти в систему.
Bash
В файле /etc/profile записаны настройки Bash-сессии.
В домашней директории пользователя также есть файлы настройки параметров строки: .profile, .bashrc.
Файлы, имена которых начинаются с точки - скрытые. Их можно увидеть командой ls -a (list all).
Исполнение команд списком:
echoHelloLinux; ls -a - выведет строку на экран и список всех файлов и папок в директории.
Переменные окружения
Linux ищет вызванную команду по пути, указанном в переменных окружения PATH.
env - команда выводит все переменные окружения списком.
По-умолчанию в Debian:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Если просто набрать команду, то она будет запущена лишь из этих папок. Но есть возможности это обойти.
Способ 1
pwd - present working directory, команда показывает текущюу рабочую папку. Если далее относительно нее указать программу, то она запустится.
EX:
Если pwd = /root, то
/root/testprogram запустит программу testprogram
Способ 2
В каждой папке есть 2 скрытые папки: "." и ".."
"." - указывает на текущую папку
".." - указывает на папку верхнего уровня
Отсюда, находясь в 1 папке с запускаемым файлом, можно запустить его через ".":
./testprogram
Способ 3
Можно внести новую переменную окружения.
ABC=123 - заводим новую переменную
exportABC - выносим ее как переменную окружения
Для доступа к переменной используется знак "$":
echo $ABC - выдаст значение переменной
Для заведения текущей папки в переменные окружения нужно:
PATH=$PATH:. - завести переменную PATH, сохранить в нее имеющееся + новый путь через двоеточие и точку
exportPATH- выгрузить переменную в окружение
Удаление переменной окружения:
unsetABC - переменная AMB удалена
История команд
Bash записывает историю введенных команд.
history - вывести список введенных команд
Другие команды Linux
uname - выдает имя ОС
uname -a - выдает подробную инфу по ОС
man - manual - курите маны :)
manhistory - мануал по команде history (выход из мануала = "q")
man -khttp - поискать во всех мануалах термин "http" и вывести список манов, где он встречается.
exec - запустить команду, не глядя на настройки bash. После запуска закрыть bash. Команда часто используется в скриптах, когда надо запустить некую программу, и при этом чтобы bash не болтался в фоне, закрыть его, оставив лишь программу на исполнении.
execls - запустить команду ls, не глядя на настройки bash, потом закрыть bash