Linux 常用命令(2):Shell
Shell 命令的语法分析
命令格式
shell
command [options] [arguments]shell
ls -a
ls -a -l
ls -al
ls -al /etc
mv mylinux1.txt mylinux2.txt
ls -al;cp mylinux1.txt mylinux2.txt
cp -i \
>mylinux1.txt \
>mylinux2.txt通配符
*:匹配任意一个或多个字符?:匹配任意单一字符[]:匹配任何包含在方括号内的单字符- 通配符可以组合使用
shell
ls *.txt
cp doc/* /opt
ls -al /etc/*/*.conf
ls ab?.txt
ls ab??.txt
ls /dev/sda[123456]
ls /dev/sda[1-5]
ls [0-9]?.conf
ls [xyz]*.txt重定向
<:输入重定向为文件<<:输入重定向为来自命令行中一对分隔号之间的内容。(分隔号可以是任意字符)(在第一个分隔号后开始读取,直到出现另一个分隔号读取结束)>:输出重定向为文件(覆盖)>>:输出重定向为文件(追加)2>:错误重定向
管道
shell
ls -al /ect/* |more
ps -ef|grep httpd|wc -l特殊字符
\:转义符
shell
mv abc\?\* abc
mv c\:\\backup backup':单引号
shell
mv c\:\\backup backup
mv 'c:\backup' backup":双引号
包含在双引号内的大部分特殊字符都当作普通字符处理,但是仍然有一部分特殊字符即使用双括号括起来,也仍然保留自己的特殊含义,比如“$”、“\”和“`”。
shell
root@a-server:/# str="The \$SHELL Current shell is $SHELL"
root@a-server:/# str1="\$$SHELL"
root@a-server:/# echo $str
The $SHELL Current shell is /bin/bash
root@a-server:/# echo $str1
$/bin/bash
root@a-server:/# str2="This hostname is `hostname`"
root@a-server:/# echo $str2
This hostname is a-server