一、基本命令
1. 对用户的操作
-
切换用户
su/sudo + username(root)
-
退出用户登录
- 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户
- $表示普通用户,#表示超级用户,也就是root
2. 查看进程的指令
-
ps
-
ps 就是进程状态的缩写,可以显示当前运行进程的详细信息,如用户名、用户 ID、CPU 使用率、内存使用、进程启动日期时间、命令名等等
-
查看占用CPU最多的进程
ps H -eo pid,pcpu | sort -nk2 | tail
-
显示占用CPU较高的进程信息
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head
-e:选择所有进程
-o:自定义输出格式
–sort=-%cpu:基于 CPU 使用率对输出结果排序
head:显示结果的前 10 行
PID:进程的 ID
PPID:父进程的 ID
%MEM:进程使用的 RAM 比例
%CPU:进程占用的 CPU 比例
Command:进程名字
-
-
top
top shift + t
- 能够显示Linux系统中运行的进程的动态实时视图
- top 输出结果是按 CPU 占用进行排序,每 5s 更新一次结果
- 可以使用
top-b|head-50
显示排前 50 的占用 CPU 最高的进程 - 看进程的完整信息,可以加 -c 参数,如
top-b-c|head-50
-b:批次档模式
head -50:显示输出结果的前 50 个
PID:进程的 ID
USER:进程的归属者
PR:进程的等级
NI:进程的 NICE 值
VIRT:进程使用的虚拟内存
RES:进程使用的物理内存
SHR:进程使用的共享内存
S:这个值表示进程的状态: S = 睡眠,R = 运行,Z = 僵尸进程
%CPU:进程占用的 CPU 比例
%MEM:进程使用的 RAM 比例
TIME+:进程运行了多长时间
COMMAND:进程名字
3. grep 和fgrep的区别?
-
两者都是搜索工具,但功能上有区别。
-
首先,grep支持的是标准正则表达式。
-
fgrep,不支持正则表达式,只用于匹配固定字符串。
-
后者要比前者速度快,当然同时后者的搜索功能要弱于前者。
4. 查看端口的连接情况
-
netstat
// 实际命令 netstat -lap | fgrep port
-
lsof
// 实际命令 lsof -i :port
5. 查找关键字及其前后的信息
- 根据关键字查看日志
cat hrun.log | grep "新增用户"
- 根据关键字查看后10行日志
cat hrun.log | grep "新增用户" -A 10
- 根据关键字查看前10行日志
cat hrun.log | grep "新增用户" -B 10
- 根据关键字查看前后10行日志,并显示出行号
cat -n hrun.log | grep "新增用户" -C 10
- 查看日志前 50 行
cat hrun.log | head -n 50
- 查看日志后 50 行,并显示出行号
cat -n hrun.log | tail -n 50
说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context
6. 查找某个命令所在的绝对路径
which + 命令(ls/rmdir/rm)
7. 关于目录的命令
- ~ 代表家目录, / 代表根目录
- ls 显示目录下的内容
- ls -a 显示所有文件,包括隐藏文件
- ls -l 显示详细信息,与ll 相同
- ls -d 查看目录属性,一般和l 一起使用,ls -ld
- ls -h 显示文件大小为K或者M,配合人的习惯,一般和l 一起使用,ls -lj
- ls -i 显示iNode
- pwd 直接显示目前所在位置
- cd - 进入上次目录
- cd / + tab键,显示根下所有目录
- rm 删除目录或文件,-r 删除目录, -f 强制删除
- rm -rf 直接删除不再询问
- -rf 删除系统盘
- touch + 目录名,创建空目录
8. 常用目录的作用
-
/ 根目录
-
/bin 命令保存目录,普通用户可以读取
-
/boot 启动目录,启动相关文件
-
/dev 设备文件保存目录
-
/etc 配置文件保存目录
-
/home 普通用户的家目录
-
/lib 系统库保存目录
-
/mnt 系统挂载目录
-
/media 挂载目录
-
/root 超级用户的家目录
-
/tmp 临时目录
-
/sbin 命令保存目录,超级用户才能使用
-
/proc 直接写入内存
-
/sys
-
/usr 系统软件资源目录
- /usr/bin/系统命令 (普通用户)
- /usr/sbin/系统命令(超级用户)
-
/var 系统相关文档内容
-
注:proc和sys目录不能直接操作,这两个目录保存的是内存的过载点
9. 复制剪切命令(cp&mv)
- 格式为:cp [选项] [原文件或目录] [目标目录]
- 选项
- -r 复制目录
- -p 连带文件属性复制
- -d 若源文件是链接文件,则复制链接属性
- -a 相当于 -pdr ,目标文件和原文件一模一样
- 剪切命令:mv [原文件或目录] [目标目录]
- /bin 为可执行文件
10. 链接命令(ln)
- 类似于Windows中的快捷方式
- 格式为:ln -s [原文件] [目标文件]
- **注:**创建软链接一定要写绝对路径
11. 文件搜索命令(locate&find)
-
locate
- 格式:locate [文件名]
- 在后台数据库中按文件名搜索,搜索速度更快
- /var/lib/mlocate,locate命令所搜索的后台数据库
- updatedb,更新数据库
-
find
-
格式:find [搜索范围] [搜索条件]
-
find / -name isntall.log,-name之后为搜索条件
-
find /root -iname install.log,-iname 不区分大小写
-
find /root -user root ,-user按照所有者搜索
-
find /root -nouser ,-nouser查找没有所有者的文件
-
find /var/log/ -mtime +10,-mtime + 10查找10天前修改的文件
- -10,10天内修改文件
- 10 , 10天当天修改的文件
- +10,10天前修改的文件
- atime, 文件访问时间
- ctime,改变文件属性
- mtime, 修改文件内容
-
find . -size 25k ,查找文件大小时25kb的文件
- -25k,小于25KB的文件
- 25k,等于25KB的文件
- +25k,大于25KB的文件
-
find . -inum 262422,查找i节点为262422的文件
-
find /etc -size +20k -a -size -50k,-a 逻辑与,-o 逻辑或
-
-
避免大范围搜索,非常耗费系统资源,匹配时可使用通配符
-
通配符
- * 匹配任意内容
- ? 匹配任意字符
- [] 匹配任意一个中括号内的字符
-
-
cat
- 查看命令,只能查看可读可写文件,查看全文
-
more
- 查看命令,一步一步读取,有进度条和分页的查看
-
tail
-
读取日志,从后开始查看,默认十行
-
-f ,一直读取最新的内容
-
-c ,显示文档的字节数
-
-n,从第n行开始读起
-
-
12. 地址搜索命令(whereis&which)
- whereis [命令] ,搜索命令所在路径及帮助文档所在位置
- 选项: -b 只查找可执行文件
- -m 只查找帮助文件
- which [文件名],搜索命令所在路径及别名
- shell 表示当前操作页面,不能用whereis和which找到
13. 字符串搜索命令(grep)
- grep [选项] [字符串] [文件名] ,在文件中匹配符合条件的字符串
- 选项:-i 忽略大小写;-v 排除指定字符串
- find 和 grep的区别:
- find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
- grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
14. 帮助命令(man)
-
格式:man [命令]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UmRsnE9w-1608111320325)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201215180352393.png)]
-
查看命令拥有哪个级别的帮助:man -f ,相当于 whatis
-
man -5 passwd,不表明帮助等级,默认打开最小等级
-
查看和命令相关的所有帮助:man -k ,相当于apropos
-
选项帮助:[命令] --help,例如:ls --help
-
详细命令帮助info:
- -回车,进入子帮助界面
- -u ,进入上层页面
- -n,进入下一个帮助小节
- -p ,进入上一个帮助小节
- -q,退出
15. 压缩命令
-
常用压缩格式:.zip、.gz、.bz2,.zip格式Windows和Linux通用
-
.zip格式压缩
- 压缩文件:.zip [压缩文件名] [源文件]
- 压缩目录:zip -r [压缩文件名] [源目录]
- 解压缩:unzip 压缩文件
-
.gz格式压缩
- gzip [源文件],压缩.gz格式的压缩文件,源文件会消失
- gzip -c [源文件] > 压缩文件,压缩.gz格式,源文件保留,例如:gzip -c lang > lang.gz
- gzip -r 目录,压缩目录下所有的子文件,但是不能压缩目录
- .gz格式可以在window中解压缩
- 解压缩:
- gzip -d 压缩文件
- gunzip 压缩文件
-
.bz2格式压缩
- bzip2 源文件,不保留源文件
- bzip2 -k 源文件,保留源文件
- bzip2不能压缩目录
- 解压缩:
- bzip2 -d 压缩文件
- bunzip2 压缩文件
-
打包命令tar
-
格式:tar -cvf [打包文件名] [源文件]
-
选项:
- -c,打包
- -v,显示过程
- -f,指定打包后的文件名
-
实例:tar -cvf longzls.tar longzls
-
-
解打包命令
- 格式:tar -xvf 打包文件名
- -x ,解打包
- 实例:tar -xvf longzls.tar
-
.tar.gz压缩格式
- 压缩格式:tar -zcvf 压缩包名.tar.gz 源文件
- 解压缩格式:tar -zxvf 压缩包名.tar.gz
- -z ,压缩为.tar.gz格式
-
.tar.bz2压缩格式
- 压缩格式:tar -jcvf 压缩包名.tar.bz2 源文件
- 解压缩格式:tar -jxvf 压缩包名.tar.bz2
-
压缩到指定目录下
- 格式:tar -jxvf jp.tar.bz2 -C /tmp/
- -C ,指定解压目录
-
-ztvf中的t表示查看压缩包中的内容而不解压
-
将多个文件压缩到一个压缩包,并压缩到指定目录下
-
格式:tar -zcvf /tmp/test.tar.gz jp anoconda-ks.cfg
-
将后面三个文件压缩到/tmp/文件夹内
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VSFn6drx-1608111320327)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201215185238046.png)]
-
16.关机重启命令
-
shutdown命令
-
格式:shutdown [选项] [时间]
-
选项:
- -c , 取消前一个关机命令
- -h ,关机
- -r ,重启
-
实例:shutdown -r 06:30
-
-
其他关机命令
- halt
- poweroff
- init 0
-
其他重启命令
- reboot
- init 6
-
系统运行级别
- 0,关机
- 1,单用户
- 2,不完全多用户,不含nfs服务
- 3, 完全多用户
- 4,未分配
- 5,图形界面
- 6,重启
-
查询系统运行级别:runlevel
-
退出登录:logout
16. 系统命令
-
查看内存free
- 格式:free -m
- free -h,人类可识别格式
-
查看磁盘df
- 格式:df -h
-
source,生效命令
-
安装命令
-
yum
- 安装:yum install 软件名
- 删除:yum remove 软件名
-
rpm安装
- 安装:rpm -ivh 软件名
- 删除:rpm -e 软件名
- 查看:rpm -q 软件名
-
17. 其他命令
-
挂载命令
- 查询系统中已经挂载的设备,mount
- 自动挂载,mount -a
- 挂载光盘,mount -r iso9660
- 卸载命令,umount 设备名或挂载点
- 用完命令之后一定要卸载命令,不然会报错
-
登录用户查看命令
-
w [用户名]
-
命令输出:
-
USER:登录的用户名
-
TTY:登录终端
-
FROM:从哪个ip地址登录
-
LOGIN:登录时间
-
IDLE:用户闲置时间
-
JCPU:指的是和该终端连接的所有进程占用的时间。这个时间并不包括去后台作业时间,但是包括正在运行的后台作业所占用的时间
-
PCPU:是指当前进程多占用的时间
-
WHAT:当前正在运行的命令
-
-
who [用户名]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5ZqCL9r-1608111320329)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201216170503314.png)]
-
last ,默认读取/var/log/wtmp文件数据
-
lastlog,默认读取/var/log/lostlog文件内容
-
-
echo输出命令
- echo [选项] [输出内容]
- 将我想要显示的内容显示到屏幕上
- -e 支持反斜线控制的字符转换
-
查看当前Linux的内核版本号
- uname -a
- uname -r
-
编写脚本,vi hello.sh
-
赋予执行权限,直接运行
- chmod 755 hello.sh
- ./hello.sh
-
通过bash调用执行脚本
- bash hello.sh
-
历史命令
-
history [选项] [历史命令保存文件]
- -c ,清空历史命令
- -w ,把缓存中的历史命令写入历史命令保存文件~/.bash_history
-
!n ,重复执行第n条历史命令
-
!!,重复执行上一条命令
-
!字符串,重复执行最后一条以该字符串开头的命令
-
-
输入重定向
- wc [选项] [文件名]
- 选项:
- -c 统计字节数
- -w 统计单词数
- -l 统计行数