linux 进阶命令笔记(12月26日)
1、 df 指令
作用:查看磁盘空间
用法: #df -h -h 表示以可读性较高的形式展示大小
2、free 指令
作用:查看内存使用情况
语法:#free -m -m表示 mb 为单位查看
Total 总大小 used使用过的大小 Free 空闲的空间 Shared 共享内存 Buffers 输出缓冲区
Cached 缓存内存
3、head 指令
作用:查看一个文件的前n行,如果不指定n,则默认显示前10行
语法:#head -n 文件路径 {n表示数字}
如不加n 默认前10行
4、tail 指令
作用:查看一个文件的末n 行,如果n不指定默认显示后10行
语法:# tail -n 文件的路径 n同样表示数字
4.1 可以通过tail 指令查看一个文件的动态变化内容《变化的内容不能是用户手动增加的》
语法: #tail -f 文件路径
该命令一般用于查看系统的日志比较多
退出tail -f 卡屏状态可以按下ctrl+c键,在命令行中c表示cancel(终止)
5、less
作用:查看文件以较少的内容进行输出,按下辅助功能键(数字+回车、 空格+上下键)查看更多
空格是一页一页翻页
上下键是一行一行翻页
1是往下1行,10是往下10行
语法:#less 空+需要查看的文件路径
在退出的只需按下q键(quit)即可
6、wc
作用:统计文件内容信息 wc===word count
语法:#wc -lwc 需要统计的文件路径
#wc -l 表示 lines ,行数 (一回车/换行符为标准)
#wc -w 表示 words ,单词数 依照空格来判断单词数量
7、date
作用:表示操作时间日期(读取、设置)
语法1: #date 输出的形式:2018年 3月 24日 星期六 15:54:28 CST
语法2:#date “+%F” (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24
语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体
等价操作#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00
语法4:获取之前或者之后的某个时间(备份)数据库一般是1天备份一次
#date -d '-1 day' "+%Y-%m-%d %H:%M %S"
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日,形如2018-12-31
%T:表示完整的时分秒,形如08:00:00
%Y:(year)表示四位年份
%m:(month)表示两位月份(带前导0)
%d:(day)表示日期(带前导0)
%H:(hour)表示小时(带前导0)
%M:(minute)表示分钟(带前导0)
%S:(second)表示秒数(带前导0)
8、cal
作用: 用来操作日历的
语法1:#cal 等价于 #cal -1 直接输出当初月份的日历
语法2:#cal -3 表示输出上一个月+本月+下个月的日历
语法3:#cal -y 年份数字 表示输出某一个年份的日历
9、clear / CTRL+L
作用:清除终端中已经存在的命令和结果(信息)。
语法:#clear 或者快捷键:ctrl + L
需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
10、管道 |
管道符号: |
作用:管道一般用于 过滤 特殊 扩展处理
语法:管道不能单独使用,必须需要配合前面所见的一些指令来一起使用,之主要作用是辅助
①过滤案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。
#ls / | grep “y”
grep指令用于“过滤”
针对上面这个命令说明:
①以管道作为分界线,前面的命令有个输出,后面需要先输入(缺少查找范围),然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入(前面的输出就是后面指令的操作对象);
(便于理解)上述的指令变相实现可以如下:
#ls / > xxx.txt 将ls / 的结果保存到xxx.txt中
#grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行
②grep指令:主要用于过滤
语法:#grep [选项] “搜索关键词” 搜索范围
1、拓展:
案例:特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
二、高级指令
1、hostname
作用:操作服务器的主机名 (读取、设置)
语法1:#hostname 主机名 完整域名
语法2:#hostname -f 全限定域名
2、id
作用:查看一个用户的一些基本信息(包含用户id 用户组id 附加组 id)该指令如果不指定用户则默认当前用户
语法1:#id 默认显示当前执行该命令的用户的基本信息
语法2:#id 用户名 显示指定用户的基本信息
3、who am i
作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
语法:#whoami
4、ps -ef
相当于 win里的 任务管理器
ps process show
作用:主要查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:表示full,显示全部的列(显示全字段)
执行结果:
#ps -ef
列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
5、top
作用:查看服务器的进程占用资源
语法:
进入命令:#top (动态显示)
退出命令:按下q键
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;最高的RT
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
在运行top的时候,可以按下方便的快捷键:
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;
Top 表示当前指令 时间 up 当前计算机运行时间 活跃用户 负载情况 压力情况
Tasks表示任务数 runnering运行 sleeping休眠 stopped停止 zombie僵尸进程(未响应)
6、du -sh
作用:查看目录真是大小
语法:#du -sh 目录路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以高可读性的形式进行显示
7、find
作用:用于文档查找
语法:#find 路径范围 选项1 选项1的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索) 例如:#find / -name wusir
案例:使用find来搜索/etc/目录下所有的文件夹
#find /etc -type d
8、systemctl
作用:用于控制一些 软件的服务 启动 停止 重启
语法:#systemctl 服务名 start/stop/restart
服务和进程:
服务≠进程
进程是指运行的程序(状态不一定是正在运行:run/sleep/stop/zombie)
服务是进程的一个“外壳”
9、kill
作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程ID (语法需要配合ps一起使用)如果需要杀死子进程,则可以直接杀父进程
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:#killall 进程名称
kill -9 pid
kill -9 pid等于kill -s 9 pid,表示强制,尽快终止一个进程。多半admin会用这个命令。
1)kill -l(查看Linux/Unix的信号变量)
详情 有道云笔记!