shell
- 比图形话界面
更快、更直接
命令行解释器
, 用户命令 -> 系统指令 -> 与操作系统交换- 为操作系统提供内核之上的功能 , 直接用来管理和运行系统
- 支持
脚本
运行
![shell流程](https://i-blog.csdnimg.cn/blog_migrate/c53638b4181ab82dbb8649d6804ce7a0.png)
主流的shell
- Bourne Shell(sh) :
- C Shell(csh) :
- Korn Shell (ksh) :
- Bourne Again Shell(bash): 目前用的最多
- 特点
- 提供
环境变量
配置 历史记录
- 内置算术
通配符
表达式
关机与重启
sudo shutdown -h now
sudo shutdown -r now
sudo reboot now
定时关机与重启
# 45分钟后关机
sudo shutdown -h +45
# 60分钟后重启
sudo shutdown -r +60
-h 表示关机 -r 表示重启 sudo halt 立即关机 duso reboot 立即重启
前缀
aqing9@upro:/etc$
用户名@主机名:目录名
命令格式
Command [-Options] arg1 arg2
指令 选项 参数
- Command: 命令名称 ,
严格
区分大小写
- Options: 命令选项 ,用于改变命令执行的
类型
, 由-
引导 , 可带多个 - Argument:命令参数
命令输入
单行 多个
指令 用 ;
隔开多行 一个
指令 用 \
结尾
-rw-r--r-- 1 root root 0 Mar 2 11:07 3.txt
一些指令
指令 | 解释 |
---|
ls [filename] | 查看文件目录 会带默认参数 |
ls -a [fileName] | 显示隐藏文件 |
ls -l [filename] | 查看文件目录详情 等价于ll |
cd - | 返回 上一次 所在目录 |
cat < filename> | 查看文件内容 |
hostiry [n] | 指令历史记录 n 表示条数 默认保留500条 |
echo $HISTSIZE | 查看 历史记录 存储的条数 |
HISTSIZE = 1000 | 修改保留条数 |
ctrl + d | 结 束 键 盘 输 入 |
命令行编辑
- tab或esc 两次 命令补齐
- tab 一次 文件名补齐
shell中的通配符
统配符 | 解释 | 实例 |
---|
星号: * | 匹配任意长度的字符串 | file_*.txt |
问号: ? | 匹配一个长度的字符 | file_?.txt |
方括号: […] | 匹配其中指定的一个字符 | file_[abc].txt => file_a.txt , file_b.txt |
方括号: [ - ] | 匹配其中指定的一个字符 | file_[a-z].txt |
方括号: [ ^… ] | 排除 其中指定的字符 | file_[^abc].txt |
管道
管道把一系列命令
连接起来 , 第一个命令的输出将作为作为第二个命令的输入, 依次类推 |
aqing9@upro:/apptemp$ ls ./ | wc -w
查看当前文件夹下 文件个数
输入输出重定向
指令 | 解释 | 实例 |
---|
> filename | 输出重定向 filename 新建模式 | ① |
>> filename | 追加 filename | ② |
< filename | 重定向为输入源 | ③ |
2 或 &>> filename | 2表示存错误 & 都存入 | ④ |
wc - w | 统计指定文件单词数 | |
echo | 表示在终端打印 | |
- ①
- echo “hello world” >file
- 内容重定向 到file 如果file文件存在 则会
覆盖原文件
- ③
- cat < finname 接卸为 cat filename
- 实际上做了隐藏 ,
- cat f1.txt f2.txt >> all.txt
- ④
- ls 2>> err.txt
- ls &>> log.txt
命令置换
定义: 将一个命令的输出作为另一个命名的参数。
格式 : command1 `command2`
- 例:
aqing9@upro:~$ ls `pwd`
- 解释: 将
pwd
命令得到的结果
作为参数
再执行
ls
显示的是 当前路径下的文件夹