; Точка с запятой
Выполнять команды последовательно
# ifdown eth0;ifup eth0
| Конвейер
В регулярных выражениях означает "или"
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
Стандартный вывод предыдущей команды используется как стандартный ввод следующей команды.
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
&
Поместить команду в фоновый режим для выполнения.
# mysqld_safe --user=mysql & 将MySQL放到后台启动
Обозначает стандартный вывод и стандартный вывод ошибок.
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
&&
Выполнять следующую команду только если предыдущая команда возвращает 0.
# ls && echo "ok"
||
Выполнять следующую команду только если предыдущая команда возвращает ненулевое значение.
# lls || echo "ok"
# Символ решётки
#Обозначает комментарий
$#Указывает количество позиционных параметров
# echo $# 0
${#variable_name}Указывает длину переменной
# a='hello'
# echo ${#a}
5
${#variable_name[@]}Указывает количество элементов в массиве
# a=(1 2 3)
# echo ${#a[@]}
3
! Восклицательный знак
Инвертирует возвращаемое значение команды или условного выражения.
# if ! [ 1 -lt 2 ]; then echo 'ok'; else echo 'no'; fi ok
Выполняет команду из истории
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txt
Выполняет внешние команды оболочки в vi или ftp.
Например: в vim, чтобы выполнить команду, войдите в режим командной строки, введите восклицательный знак, а затем команду для выполнения.
Косвенное обращение к переменной
Например: ${!a} ---- косвенно получает значение b
$ Знак доллара
Получает значение переменной.
# a=10 # echo $a 10
В регулярных выражениях обозначает конец строки.
egrep ':$' /etc/inittab egrep ‘^hello$' file
> Знак больше
Перенаправление вывода
echo '123' >test.txt 表示将123 输入到文件test.txt中Знак больше в условных проверках
< Знак меньше
Перенаправление ввода
Знак меньше в условных проверках
= Знак равно
Присваивание переменной- Например: set variable a=10
Знак равно в условных проверках- Например: [ a=b ] проверяет, равна ли переменная a переменной b.
Числовое сравнение ==- Например: (( a==20 )) проверяет, равна ли переменная a числу 20.
+ Знак плюс
Знак плюс в арифметических операциях - Например: 1+3
В регулярных выражениях — один или несколько предшествующих символов. Например: ab+c означает сопоставление одного или нескольких символов между ab и c.
>>
Добавление при перенаправлении вывода— например: echo "123" >> test.txt добавляет 123 в файл test.txt.
<<
here-документ
Например:
# passwd <<end > 123 > 123 > end
Измените пароль пользователя root.
- Знак минус
Знак минус в арифметических операциях — например: 10-2
Опция команды — например: ls -l
Предыдущий рабочий каталог — например: cd -
Обозначает диапазон в шаблонах подстановки и регулярных выражениях — например: [a-z]
tar -cvf - /home | tar -xvf -
Обозначает поток вывода или поток ввода.
Передаёт по конвейеру вывод предыдущей команды следующей команде; первая сжимает, вторая распаковывает.
'' Одинарные кавычки
Решает проблему пробелов при присваивании переменной.
Например: a='1 2'
Предотвращает подстановку shell.
"" Двойные кавычки
Решает проблему пробелов при присваивании переменной.
Например: a="1 2"
Предотвращает подстановку некоторых символов shell; неэффективно для $, ! и т. д.
`` Обратные кавычки, эквивалент $()
Подстановка команд
Например: можно задать переменную a=`ls`
% Знак процента
Операция взятия остатка в арифметических операциях.
Например: echo $((100%10)) даёт остаток 0 при делении 100 на 10.
В операциях замены vi обозначает все строки. (В режиме командной строки добавьте % перед заменой, чтобы применить ко всем строкам.)
Например: в режиме командной строки введите :% s/D/d, чтобы заменить все D в тексте на d.
() Круглые скобки
Выполняет команды в подоболочке; она наследует переменные от родительской оболочки.
Заключает элементы массива.
Например: определите массив.a=(1 2 3 4)
(()) Двойные круглые скобки
Арифметические операции.
Например:echo $((10/2))Результат — 5.
Проверки сравнения целых чисел.
Например:(( 10>2 ))Проверить, больше ли 10, чем 2.
[] Квадратные скобки
В подстановочных знаках и регулярных выражениях означает совпадение с любым одним символом внутри скобок.
Например:[abc]Означает совпадение с любым одним из символов a, b или c.
Условное проверочное выражение.
Например:[ -f /etc/passwd ]// Проверка, является ли это файлом.
Квадратные скобки для индексации в массивах.
Например:echo ${a[0]}Означает получение значения по индексу 0 в массиве.
[[]] Двойные квадратные скобки
Проверки сравнения строк.
Например: [[a=b]] используется для сравнения строк.
. Точка (точка)
В регулярных выражениях означает любой один символ.
Например: a...b означает совпадение со строкой с тремя символами между a и b.
Команда выполнения скрипта в текущей оболочке.
Например: ./test.sh выполняет shell-скрипт test.sh в текущем каталоге.
Обозначает текущий каталог.
Например: cd ./bgk переходит в каталог bgk в текущем каталоге.
{} Фигурные скобки
Расширение подстановочных знаков abc{1,2,3}
Обозначает диапазон в регулярных выражениях.
Например: a{3} соответствует трём a.
for i in {1...10} выполняет цикл по указанному диапазону.
Анонимная функция { cmd1;cmd2;cmd3;} &> /dev/null
Команды внутри { } выполняются в текущей оболочке.
Примечание: В { } перед первой командой должен быть пробел, а после последующих команд — точка с запятой.
Заключает имена переменных.${abc}a
/ Прямая косая черта
Деление в арифметических операциях.
Например:echo $((10/2))Результат — 5.
Корневой каталог или разделитель пути.
Например:cd /usr/local/Представляет путь.
^
В подстановочных знаках обозначает отрицание.
Например:[^abc] Означает совпадение с любым символом, кроме a, b или c.
В регулярных выражениях обозначает "начинается с".
Например:
egrep ‘^hello$' file