1、系统工作命令
man
echo 输出
date 系统时间与日期
%Y 年 %m 月 %d 日 %H 时 %M 分 %S 秒 %j 第几天
-s 设置当前时间
timedatectl 系统时间
status | 状态信息 |
list-timezones | 列出已知时区 |
set-time | 系统时间 |
set-timezone | 生效时区 |
reboot 重启
poweroff关机
wget 网络文件下载
-r | 递归下载 |
-P | 下载到指定目录 |
-p | 下载页面所有资源 |
ps 查看进程状态(p77)
-a | 显示所有进程 |
-u | 用户以及其他信息 |
-x | 显示没有控制终端的进程 |
pstree 进程树状图
top 动态监视进程活动及负载信息
系统整体信息p79
nice 调整进程优先级
范围(-20 ~19)
pidof 查询进程的pid
kill 终止进程
-9表示最高级别的强制杀死进程
killall 终止某个指定名称的服务的全部进程
2、系统状态检测命令
ifconfig 获取网卡配置与网络状态
uname 查看系统内核与系统架构
-a
uptime查看负载信息
loadaverage平均负载 : 1 5 15
free 内存使用信息
-h 人性化输出
who 当前登入主机的用户信息
last最近被访问记录
ping 测试主机之间网络的连通性
-c | 发送次数 |
-l | 指定网卡 |
-I | 每次时间间隔 |
-W | 最长等待时间 |
tracepath 数据包到达主机过程中的路由信息
netstat 显示网络连接、路由表、接口状态
-a | 显示所有连接中的Socket |
-u | 显示UDP协议连接状态 |
-t | 显示TCP协议连接状态 |
-i | 显示网卡信息 |
history 显示执行过的命令
cat ~/.bash_history查看历史命令文件
(.)开头的表示隐藏文件
sosreport 收集系统配置及架构信息并输出诊断文档
3、查找定位文件命令
pwd显示当前所在目录
cd 切换当前工作路径
cd~回到家目录 cd - 返回上一次的目录
ls 显示目录中文件信息
-a 看到全部文件(包括隐藏文件) -l 看到文件属性 -d查看目录属性(-ld)
tree 树状目录
find 查找文件(全盘搜索,准确但效率低)
-name | 名字 “linux” |
-perm | 权限 |
-user | 所有者 |
-group | 所属组 |
-exec {} ; | 进一步处理搜索结果 |
loacte 按照名字快速搜索文件对应位置
先用updatedb生成索引数据库
再用locate+名称(locate whereis 找出所有包含whereis名称的文件)
whereis 按照名称快速搜索二进制程序、源代码、帮助文档
也是基于updatedb生成的索引库文件
which 按照名称快速搜索二进制程序
仅仅找到命令本身的路径
4、文件文本编辑命令
cat 查看纯文本(内容少)
-n显示行号
more 查看纯文本(内容多)
head 查看纯文本前几行
tail 查看纯文本后几行
tail -n 20 查看后20行
tai -f查看实时日志文件
tr 替换文本内容
wc 统计文本行数,字数
-l | 显示行数 |
-w | 显示单词数 |
-c | 显示字节数 |
stat 查看文件具体存储细节和时间
Atime 内容最后一次被访问时间
Mtime 内容最后一次被修改时间
Ctime文件属性最后一次被修改时间
grep 按行提取文本内容
-n | 显示行号 |
-I | 忽略大小写 |
-v | 反选 |
-c | 仅显示找到的行数 |
cut按列提取文本内容
-d | 设置间隔符号 |
-f | 设置需要查看的列数 |
diff 比较文件差异
--brief | 直接出结果 |
-c | 内容具体的不同 |
uniq去除文本重复行
sort 对文本内容进行排序
5、文件目录管理命令
touch 创建文件或设置文件时间
-a | 修改访问时间Atime |
-m | 修改修改时间Mtime |
-d | 都修改Atime,Mtime |
mkdir 创建空白目录
-p递归创建
mkdir -p a/b/c/d/e
cp 复制文件或目录
cp [参数] 源文件 目标文件
-r 复制目录
-p保留原始属性
-d保留链接文件的属性
-i 询问是否覆盖
-a相当于-pdr
rm 删除文件或目录
-f 强制删除
-i 删除前询问
-r 删除目录
-v 显示过程
dd按照指定大小和个数的数据块复制或转换文件
格式: dd if=参数 of=参数 count=参数 bs=参数
if 输入的文件名称
of 输出的文件名称
bs 复制每个块的大小
count 复制块的个数
file 查看文件类型
tar 对文件打包解压
p109
6、输入输出重定向
输入输出重定向
标准输入重定向(STDIN 0):默认从键盘输入,也可以从其他文件或命令中输入
标准输出重定向 (STDOUT 0):默认输出到屏幕
错误输出重定向 (STDERR 2):默认输出到屏幕
管道符 |
把前一个命令原本输出屏幕的信息当作后一个命令的标准输入
tee 用于程序的显示并将其复制到一个文件
7、常用的转义字符
\反斜杠 使反斜杠后面的一个变量变为单纯的字符 /$就是$
‘ ’单引号 转义其中所有的变量为单纯的字符串 ‘ price is $PRICE ’就是 price is $PRICE
“ ”双引号 保留其中变量属性 " price is $PRICE "就是price is 5
、、反引号 把其中的命令执行后返回结果
$$显示当前进程的ID
8、环境变量
alias 创建一个属于自己的命令别名
语法格式为“alias 别名=命令”
unalias 取消别名
语法格式为“unalias 别名”
type 判断用户输入的命令是内部命令还是外部命令
export 将变量变成全局变量(p124)
unset 取消该变量
su 切换用户
9、Vim文本编辑器
:w | 保存 |
:wq | 退出 |
:q! | 强制退出(放弃修改) |
:wq! | 强制退出并保存 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
? | 从下到上搜索 |
/ | 从上到下搜索 |
Shell脚本执行
1、 bash 程序名.sh
2、完成路径+程序名.sh