Linux 常用命令(2):Shell
🏷️ Linux
Shell 命令的语法分析
命令格式
shell
command [options] [arguments]
1
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
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
通配符
*
:匹配任意一个或多个字符?
:匹配任意单一字符[]
:匹配任何包含在方括号内的单字符- 通配符可以组合使用
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
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
重定向
<
:输入重定向为文件<<
:输入重定向为来自命令行中一对分隔号之间的内容。(分隔号可以是任意字符)(在第一个分隔号后开始读取,直到出现另一个分隔号读取结束)>
:输出重定向为文件(覆盖)>>
:输出重定向为文件(追加)2>
:错误重定向
管道
shell
ls -al /ect/* |more
ps -ef|grep httpd|wc -l
1
2
2
特殊字符
\
:转义符
shell
mv abc\?\* abc
mv c\:\\backup backup
1
2
2
'
:单引号
shell
mv c\:\\backup backup
mv 'c:\backup' backup
1
2
2
"
:双引号
包含在双引号内的大部分特殊字符都当作普通字符处理,但是仍然有一部分特殊字符即使用双括号括起来,也仍然保留自己的特殊含义,比如“$
”、“\
”和“`”。
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
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9