date命令基本使用:
linux中date
主要是用来输出或者设置时间日期。
#date +%F //2015-09-20
date
命令时间格式:
时间方面:
%t:制表符
%H:小时(00 - 23)
%I:小时(01 - 12)
%K:小时(0 - 23)
%l:小时(1 - 12)
%M:分钟(00 - 59)
%S:秒(00..61)
%p:显示本地 AM 或 PM
%r:直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%Z:显示时区
输出当前时间:
date +%H:%M:%S
#11:28:22
日期相关参数:
%a : 星期几(大写数字:四、五 ...)
%A : 星期几(三个汉子:星期四)
%b : 月份(数字月份:3、4...)
%B : 汉字月份(五月...)
%d : 日(01 - 31)
%D : 直接显示日期(mm/dd/yy)
%j : 一年中的第几天
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53)
%x : 直接显示日期 (yy/mm/dd)
%Y : 完整年份 (0000..9999)
以 +
号开头表示输出时间,否者表示要设定时间。
参数:
-d datestr : 显示 datestr 中所设定的时间
#获取当前时间的上一天时间
date -d "-1 day" "+%Y-%m-%d"
cal操作日历:
cal -3 #输出上一个月 +当月+下一个月日历
cal -1 #输出当前月日历
cal -y 2019 #输出2019年整年日历
uptime:输出计算机持续在线时间(计算机从开机到现在运行时间)
uname [-a]:查看系统信息,内核版本
cat /etc/centos-release:查看linux发型版本,本机为centos
test条件测试:
test 1 -eq 2
#gt:大于,lt:小于,ge:大于等于,le:小于等于
#测试今天是否周日
test `date +%w` -eq 0
#输出上次执行的命令真假,0为真,1为假
echo $?
top命令:
查看系统进程将康状态,cpu使用率,内存使用率,系统负载状态
#将top信息写入到文件中,-n代表刷新次数
top -b -n 1 > /home/wwwroot/top.log
vmstat:
查看当前系统资源信息
#vmstat 每4秒刷新一次,刷新3次
vmstat 4 3
信息如下:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
8 0 663484 86576 73904 490936 1 1 32 26 1 0 15 26 59 0 0
5 0 663484 86096 73904 490952 0 0 8 0 1191 738 36 64 0 0 0
5 0 663484 84432 73912 491032 0 0 8 12 1187 742 38 63 0 0 0
注:
swap交换分区:
si表示从磁盘中交换到内存中的数据,单位KB,
so表示从内存中交换到磁盘中的数据量,单位KB
这两个数值越大,说明数据需要经常要在磁盘和内存之间交换,系统性能越差。
io磁盘读写信息:
bi表示从块设备读入数据的总量,单位块;
bo表示写到块设备的数据的总量。
这两个数越大表示I/o越繁忙
system系统信息:
in表示每秒被中断的进程数;
cs:表示每秒进行的事件切换次数。
这两个数越大,代表系统与接口设备通信越繁忙
cpu:us表示非内核进程消耗cpu运算时间的百分比
sy表示内核进程消耗cpu运算时间的百分比
id表示空闲cpu的百分比
wa表示等待i/o所消耗的cpu百分比
st被虚拟机所盗用的cpu占比
dmesg:
命令用于显示开机信息:加载到内核中的所有驱动,被检测到的硬件,cpu信息等等
#查看cpu状态信息 dmesg
dmesg |grep CPU
free:
查看内存信息:
free -m
#-m【表示以兆为单位】,信息如下:
total used free shared buff/cache available
Mem: 992 357 86 2 548 427
Swap: 976 647 328
命令别名:
#查看别名
alias
#设定别名
alias ls='ls --color=never'
#在配置文件中添加别名
#系统的配置文件 /etc/bashrc
#用户配置文件 ~/.bashrc
#修改配置文件后,需要重新加载,使用source filename即可
#删除别名
unalias name
常用快捷键:
ctrl+c 强制终止当前命令
ctrl+l 清屏
ctrl+a 光标移动到命令行首
ctrl+e 光标移动到命令行尾
ctrl+u 删除从光标位置到行首全部
ctrl+z 把命令放入后台
ctrl+r 快速搜索历史命令
通配符:
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或任意多个任意字符,也就是可以匹配任何内容 |
[] | 匹配中括号中任意一个字符。例如[abc]代表一定匹配一个字符,或者a或者b或者c |
[-] | 匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符。例如[^0-9]代表匹配一个不是数字的字符 |
配置ip地址:
#配置文件在此
vim /etc/sysconfig/network-scripts/ifcfg-eth0
#主机名修改
vim /etc/sysconfig/network
#DNS配置文件
vim /etc/resolv.conf
#关闭网卡:
ifdown eth0
#启用网卡:
ifup eth0
netstat:
显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况;它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
相关参数:
netstat
# -a 显示所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那 些连接。
# -n 显示所有已建立的有效连接。
# -p 显示协议名查看某协议使用情况
# -i 显示网卡列表
# -g 显示组播组关系
# -r 显示路由信息
# -t 显示TCP传输协议的连线状况
# -u 显示UDP传输协议的连线状况
常用参数组合:
netstat -anp|grep 80
#查看端口80的监听状况
tcpdump命令,抓包命令:
#抓取网卡eth0的流量包
tcpdump -i eth0 -nnX port 80
防火墙开放端口:
#centos6 编辑配置文件:
vim /etc/sysconfig/iptables
#查看防火墙开放端口状态
service iptables status
#重启
service iptables restart
#centos7
#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
#--permanent永久生效,没有此参数重启后失效
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone= public --query-port=80/tcp
#删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state
#管理防火墙
systemctl 【stop|restart|start】 firewalld.service
chkconfig:查询管理系统服务运行级别
runlevel
:查看当前系统运行级别
chkconfig [--add][--del][--list][系统服务]
--add 增加系统服务,并同时在系统启动的叙述文件内增加相关数据[/etc/rc.d/init.d/]
--del 删除指定系统服务,并同时在系统启动的叙述文件内删除相关数据
--level 指定系统服务要在哪个运行级别启动或者关闭
chkconfig [--level <等级代号>][系统服务][on/off/reset]
设置服务在指定等级启动、关闭或重启
示例:
chkconfig --add nginx #增加nginx服务
chkconfig --del httpd #删除httpd服务
chkconfig --level nginx 2345 on #设置nginx在运行级别为2、3、4、5的情况下都是on(开启)的状态
chatter :改变文件属性
常用指令:
- a:作用于文件时,只能追加数据,不能删除修改;作用于目录时,只能在目录中创建
- b:不更新文件或目录最后存取时间
- c:将文件或目录压缩后存放
- i:不得改动文件或目录中内容
操作指令的参数:
+
/-
:添加或关闭上面列出的指令;
-R
:递归处理;
-V
:显示指令执行过程
lsattr
:查看作用于文件的属性
示例:
让文件 a.log 只能追加数据,不能删除
chattr +a a.log
#注意 使用vim命令会提示不能删除,vim的执行流程是先删除文件再创建一份
让文件只读,不能删除修改
chattr +i a.log
#查看作用于文件的属性
lsattr a.log
-----ai---------- a.log
lsof:列出进程打开或使用的文件信息
参数:
- -c 字符串:只列出以字符串开头的进程打开的文件
- -u 用户名 :只列出某个用户的进程打开的文件
- -p pid:列出某个pid打开的文件
#查看某个文件被哪个进程调用(只能系统文件)
lsof /sbin/init
#查看nginx进程调用了哪些文件
lsof -c nginx
#按照用户名查询某用户的进程调用的文件名
lsof -u houger