1.基础命令
命 令 | 说 明 |
---|---|
pwd | 显示当前目录 |
passwd | 修改用户密码 |
ls | 列出目录内容 |
cd | 改变当前的工作目录 |
* | 匹配任意长度的任意字符 |
? | 匹配任意一个字符 |
cat | 显示输出文件的全部内容 |
cp | 复制文件 |
mv | 移动文件 |
rm | 删除文件 |
mkdir | 创建目录 |
rmdir | 删除目录 |
chown | 修改目录或文件所有者 |
chgrp | 修改目录或文件用户组 |
chmod | 修改文件或目录的权限 |
grep | 查找指定字符串 |
find | 查找指定文件 |
egrep | 支持正则表达式的grep |
& | 在后台运行 |
| | 管道符 用于连接多个命令 其中前一命令的输出为后一命令的输入 |
2. IO重定向
命令行 | 说明 |
---|---|
命令1 > 文件1 | 将命令1的输出结果重定向到文件1 |
命令1 &> 文件1 | 将命令1的输出结果和标准错误输出一起重定向到文件1 |
命令1 >> 文件1 | 将命令1的输出结果追加到文件1中 |
命令1 2> 文件1 | 将命令1的标准错误输出的结果重定向到文件1中 |
命令1 < 文件1 | 将文件1作为命令1的标准输入 |
命令1 << 字符串1 | 允许连续输入数据,直到收到字符串1 |
3. 命令连接
3.1 管道(pipe)
#将前一程序的输出作为后一程序的输入
命令1 | 命令2 [| 命令3 ...]
#连标准错误输出一起送入管道
命令1 |& 命令2 [|& 命令3 ...]
例:可以使用cat,sort,wc命令,统计student文件是否有重复的行
# cat student | sort -u |wc -l
3.2执行顺序控制
(1)顺序的执行多个命令,用分号( ; )分隔
# echo hello shell;pwd;ls
(2)有条件的执行,分为&&和||
- &&:连接两命令,前一命令执行成功后再执行后一命令,想到与逻辑与
- || :连接两命令,前一命令执行失败后再执行后一命令,想到与逻辑或
4. 三种引号用法
-
双引号(" "):双引号中的字符,除了$ , " , ’ 和 \ 以外的所有字符都会解释成字符本身。
-
单引号(’ '):单引号中的所有特殊字符(例如 $ , " , ’ 和 \ )都失去特殊意义成为普通字符。
-
反引号(` `):反引号中的字符都会被解释成命令,例如`cmd`会被解释成cmd的执行结果。
raki@ubuntu:~$ echo "$PATH" /home/raki/.local/share/umake/bin:/home/raki/bin:/home/raki/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/arm/4.4.3/bin raki@ubuntu:~$ echo "PATH" PATH raki@ubuntu:~$ echo '$PATH' $PATH raki@ubuntu:~$ echo `ls` a.out apue.2e arm-linux-gcc-4.4.3.tar.gz Desktop Documents Downloads examples.desktop Music opt opt111 Pictures Public spf13-vim.sh src.2e.tar.gz Templates tool Videos wyc raki@ubuntu:~$ echo "I am $USER" I am raki