Шпаргалка по Bash для начинающих
Часто забываете команды bash или другие возможности оболочки? Мы нашли для вас полезную статью-шпаргалку.
В ней вы найдёте шпаргалки на такие темы: введение в оболочку, навигация, основные команды, переменные окружения, коннекторы, конвейеры, перенаправление ввода/вывода, права доступа и комбинации клавиш.
Забыли, открыли, вспомнили и продолжили работу 👌
Часто забываете команды bash или другие возможности оболочки? Мы нашли для вас полезную статью-шпаргалку.
В ней вы найдёте шпаргалки на такие темы: введение в оболочку, навигация, основные команды, переменные окружения, коннекторы, конвейеры, перенаправление ввода/вывода, права доступа и комбинации клавиш.
Забыли, открыли, вспомнили и продолжили работу 👌
🔥22👍10
Отправка сообщений в терминал пользователя
Команда отправки сообщений,
Займёмся решением данной задачи, напишем bash-скрипт:
https://telegra.ph/Otpravka-soobshchenij-v-terminal-polzovatelya-05-31
Команда отправки сообщений,
write
, довольно проста. Для того, чтобы ей воспользоваться, достаточно знать имя пользователя и имя его терминала. Однако, для успешной отправки сообщения, помимо актуальных данных о пользователе и терминале, надо знать, вошёл ли пользователь в систему, не запретил ли он запись в свой терминал. В результате, перед отправкой сообщения нужно выполнить несколько проверок.Займёмся решением данной задачи, напишем bash-скрипт:
https://telegra.ph/Otpravka-soobshchenij-v-terminal-polzovatelya-05-31
👍14👎1
This media is not supported in your browser
VIEW IN TELEGRAM
nohup для создания "бессмертных" процессов
nohup - это команда для создания долгоживущих процессов без зависимости от терминала. Когда вы запускаете программу из командной строки, она обычно завершается при закрытии терминала. Однако, если вы добавите символ
Это полезно, например, для запуска долгих задач или серверов, которые должны работать в фоновом режиме.
nohup - это команда для создания долгоживущих процессов без зависимости от терминала. Когда вы запускаете программу из командной строки, она обычно завершается при закрытии терминала. Однако, если вы добавите символ
&
и используете команду nohup
, программа будет продолжать работу даже после закрытия терминала. Это полезно, например, для запуска долгих задач или серверов, которые должны работать в фоновом режиме.
nohup firefox https://freecodecamp.org &
🔥24👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Переменные среды
Иногда в командах оболочки нужно работать с некими системными данными. Вот, например, как вывести домашнюю директорию текущего пользователя
Обратите внимание на то, что мы можем использовать системную переменную $HOME в двойных кавычках, это не помешает системе её распознать.
Иногда в командах оболочки нужно работать с некими системными данными. Вот, например, как вывести домашнюю директорию текущего пользователя
Обратите внимание на то, что мы можем использовать системную переменную $HOME в двойных кавычках, это не помешает системе её распознать.
echo "Home for the current user is: $HOME"
👍17🔥1
Уроки Linux для начинающих / Изучение Linux Ubuntu и Bash с нуля
В этом плейлисте вы научитесь устанавливать VirtualBox с Ubuntu, изучите основы пользовательского интерфейса и командной строки Linux, научитесь работать с файлами и директориями, изучите пакетный менеджер, работу с памятью, сжатие файлов и редакторы текста, разберёте команды поиска FIND и GREP.
📹 Плейлист YouTube
Если вы уже имеете эти навыки и знания, поделитесь ими со своими друзьями ;)
В этом плейлисте вы научитесь устанавливать VirtualBox с Ubuntu, изучите основы пользовательского интерфейса и командной строки Linux, научитесь работать с файлами и директориями, изучите пакетный менеджер, работу с памятью, сжатие файлов и редакторы текста, разберёте команды поиска FIND и GREP.
Если вы уже имеете эти навыки и знания, поделитесь ими со своими друзьями ;)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Установка разрешений для файла сценария
Сохранив файл bash-скрипта, необходимо сделать этот файл исполняемым, иначе, попытавшись его запустить, вы столкнётесь с ошибкой
Сохранив файл bash-скрипта, необходимо сделать этот файл исполняемым, иначе, попытавшись его запустить, вы столкнётесь с ошибкой
Permission denied
.chmod +x ./myscript
./myscript
👍20👎2🔥2
Пользовательские переменные
Подобные переменные хранят значение до тех пор, пока не завершится выполнение сценария.
Как и в случае с системными переменными, к пользовательским переменным можно обращаться, используя знак доллара:
Подобные переменные хранят значение до тех пор, пока не завершится выполнение сценария.
Как и в случае с системными переменными, к пользовательским переменным можно обращаться, используя знак доллара:
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"
👍11🔥4👎1
Подстановка команд
Bash-скрипты позволяют извлекать информацию из вывода команд и сохранять её в переменных для дальнейшего использования.
Сделать это можно двумя способами:
• С помощью значка обратного апострофа «
• С помощью конструкции
Bash-скрипты позволяют извлекать информацию из вывода команд и сохранять её в переменных для дальнейшего использования.
Сделать это можно двумя способами:
• С помощью значка обратного апострофа «
`
»• С помощью конструкции
$()
mydir=$(pwd)
echo $mydir
👍10🔥4👎1
Сравнение чисел
В скриптах можно сравнивать числовые значения. Ниже приведён список соответствующих команд.
В скриптах можно сравнивать числовые значения. Ниже приведён список соответствующих команд.
n1 -eq n2
Возвращает истинное значение, если n1
равно n2
.n1 -ge n2
Возвращает истинное значение, если n1
больше или равно n2
.n1 -gt n2
Возвращает истинное значение, если n1
больше n2
.n1 -le n2
Возвращает истинное значение, если n1
меньше или равно n2
.n1 -lt n2
Возвращает истинное значение, если n1
меньше n2
.n1 -ne n2
Возвращает истинное значение, если n1
не равно n2
.val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi
👍21🔥4👎2
Управляющая конструкция if-then
Управление потоком исполнения команд может быть достигнуто с помощью конструкции
Управление потоком исполнения команд может быть достигнуто с помощью конструкции
if-then
. Например, можно использовать ее для поиска пользователя в /etc/passwd
и, в случае успешного нахождения, вывести сообщение о его существовании.user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi
👍13🔥7👎2
Математические операции
Для выполнения математических операций в файле скрипта можно использовать конструкцию вида
Для выполнения математических операций в файле скрипта можно использовать конструкцию вида
$((a+b))
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2
👍16🔥3
Проверки файлов
-d file
Проверяет, существует ли файл, и является ли он директорией.-e file
Проверяет, существует ли файл.-f file
Проверяет, существует ли файл, и является ли он файлом.-r file
Проверяет, существует ли файл, и доступен ли он для чтения.-s file
Проверяет, существует ли файл, и не является ли он пустым.-w file
Проверяет, существует ли файл, и доступен ли он для записи.-x file
Проверяет, существует ли файл, и является ли он исполняемым.file1 -nt file2
Проверяет, новее ли file1
, чем file2
.file1 -ot file2
Проверяет, старше ли file1
, чем file2
.-O file
Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.-G file
Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi
👍29🔥7
Сравнение строк
str1 = str2
Проверяет строки на равенство, возвращает истину, если строки идентичны.str1 != str2
Возвращает истину, если строки не идентичны.str1 < str2
Возвращает истину, если str1
меньше, чем str2
.str1 > str2
Возвращает истину, если str1
больше, чем str2
.-n str1
Возвращает истину, если длина str1
больше нуля.-z str1
Возвращает истину, если длина str1
равна нулю.user ="likegeeks"
if [$user = $USER]
then
echo "The user $user is the current logged in user"
fi
🔥8👍5
Обход файлов, содержащихся в директории
Один из самых распространённых вариантов использования циклов for в bash-скриптах заключается в обходе файлов, находящихся в некоей директории, и в обработке этих файлов.
Например, вот как можно вывести список файлов и папок:
Один из самых распространённых вариантов использования циклов for в bash-скриптах заключается в обходе файлов, находящихся в некоей директории, и в обработке этих файлов.
Например, вот как можно вывести список файлов и папок:
for file in /home/likegeeks/*
do
if [ -d "$file" ]
then
echo "$file is a directory"
elif [ -f "$file" ]
then
echo "$file is a file"
fi
done
👍18🔥8✍2
Перебор простых значений
Пожалуй, самый простой пример цикла
Хорошо видно, что в переменную
Пожалуй, самый простой пример цикла
for
в bash-скриптах — это перебор списка простых значений.Хорошо видно, что в переменную
$var
последовательно попадают элементы из списка. Происходит так до тех пор, пока цикл не дойдёт до последнего из них.for var in first second third fourth fifth
do
echo The $var item
done
🔥9👍7😐4✍1
Перебор сложных значений
В списке, использованном при инициализации цикла
В списке, использованном при инициализации цикла
for
, могут содержаться не только простые строки, состоящие из одного слова, но и целые фразы, в которые входят несколько слов и знаков препинания.for var in first "the second" "the third" "I’ll do it"
do
echo "This is: $var"
done
🔥11✍6👍2😐2
Циклы for
Циклы for в оболочке bash позволяют перебирать последовательности значений. Они имеют следующую структуру:
Циклы for в оболочке bash позволяют перебирать последовательности значений. Они имеют следующую структуру:
for var in listВ каждой итерации цикла значение из списка присваивается переменной var. Цикл выполняется для каждого элемента списка по порядку.
do
команды
done
👍13😐3✍1
Циклы for в стиле C
В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось.
В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось.
for (( i=1; i <= 10; i++ ))
do
echo "number is $i"
done
👍25✍1
Цикл while
В цикле можно проверять условие и выполнять тело цикла, пока условие возвращает ноль. Когда условие вернет ненулевое значение, цикл остановится.
В цикле можно проверять условие и выполнять тело цикла, пока условие возвращает ноль. Когда условие вернет ненулевое значение, цикл остановится.
var1=5
while [ $var1 -gt 0 ]
do
echo $var1
var1=$[ $var1 - 1 ]
done
👍19🔥5✍1
Посты про инфобезопасность в нашем отдельном канале:
https://t.me/+J34Lc_hJnb02ZmRi
https://t.me/+J34Lc_hJnb02ZmRi
👍4