; Точка с запятой

Выполнять команды последовательно

# 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