系统符号

  • $ : 用于加载读取变量信息
echo $PATH
  • ! : 取反,强制
  • | : 管道符号,前一个命令执行结果交给后面命令处理
cat /proc/cpuinfo | grep "name"
  • # : 将当前行的信息进行注释
#cat /proc/cpuinfo | grep "name"
#文件中可以使用#注释
  • ' : 单引号内信息不解析变量
  • " : 双引号内信息解析变量
  • ` : 反引号内的命令会优先执行,将结果交给引号外面的命令进行处理
  • $() : 括号内的命令会优先执行,将结果交给引号外面的命令进行处理
#变量解析
echo '$LANG'
$LANG
echo "$LANG"
zh_CN.UTF-8

#优先执行命令
rm -f `find -name "preg"`
  • > : 标准输出重定向符号
  • 1> : 标准输出重定向符号
  • >> : 标准输出追加重定向符号
  • 1>> : 标准输出追加重定向符号
  • 2> : 错误输出重定向符号
  • 2>> : 错误输出追加重定向符号
  • 2>&1 : 错误输出重定向到标准输出
  • &> : 错误输出重定向到标准输出
echo "test" > test
cat test
test

echo "test" 1> test
cat test
test

echo "test" >> test
cat test
test
test

echo "test" 1>> test
cat test
test
test
test

cho "test" 2> test
cat test
-bash: cho: 未找到命令

cho "test" 2>> test
cat test
-bash: cho: 未找到命令
-bash: cho: 未找到命令

echo "test" &> test
cat test
test

cho "test" &> test
cat test
-bash: cho: 未找到命令

echo "test" > test 2>&1
cat test
test

cho "test" > test 2>&1
cat test
-bash: cho: 未找到命令
  • < : 标准输入重定向符号
  • << : 标准输入追加重定向符号
tr 'a-z' 'A-Z' < test
-BASH: CHO: 未找到命令

cat >> test <<EOF
> 1997
> sty
> EOF
cat test
-bash: cho: 未找到命令
1997
sty
  • .. : 上一级目录
  • . : 当前目录
  • ~ : 家目录
  • - : 上一个目录

调用cd -等同于调用cd $OLDPWD

cd $OLDPWD
pwd
/root

cd $OLDPWD
pwd
/root/test

cd -
pwd
/root

cd -
pwd
/root/test
  • && : 与逻辑符号 前一个命令执行成功, 再执行后面的命令
  • || : 或逻辑符号 前一个命令执行失败, 再执行后面的命令
mkdir alex && touch alex/test.txt
ls alex/test.txt 
alex/test.txt

rm alex || echo 'nodir'
rm: 无法删除"alex": 是一个目录
nodir
  • * : 匹配任意内容
ll tes*
-rw-r--r-- 1 root root 37 11月 18 15:01 test
  • {} : 生成序列
echo {1..10}
1 2 3 4 5 6 7 8 9 10

echo {01..10}
01 02 03 04 05 06 07 08 09 10

echo {1..10..2}
1 3 5 7 9

echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

echo {1..3}{1..3}
11 12 13 21 22 23 31 32 33

echo test{,2,3}
test test2 test3

#复制文件
#cp test test.bak
cp test{,.bak}
ll
-rw-r--r-- 1 root root 37 11月 18 15:01 test
-rw-r--r-- 1 root root 37 11月 18 15:14 test.bak