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

Leave Your Comment

电子邮件地址不会被公开。 必填项已用*标注