标签:encode public 可变 enforce ase 完成 标准 head set
/var variable 可变化的数据/var/log/secure 系统安全日志 记录用户登录信息
实时输出日志的输出情况 tail的第二个功能
tail -f /var/log/secure
在xshell中设置错误的密码登录,会在系统安全日志中出现错误的信息
grep ‘Failed‘ /var/log/secure
日志切割 防止日志或文件过大
系统默认给我们切割日志,为了防止日志或文件过大
ll /var/log/secure*
日志过大的影响
实验:建个大文件实验。
结果:
日志过大发现系统非常卡,加载不过来,对系统有影响
/proc
/proc/cpuinfo cpu信息
processor : 0 核心数(从0开始)
physical id : 0 几颗CPU(从0开始)
修改虚拟机cpu和核心数
双路四核心
grep ‘physical id‘ /proc/cpuinfo CPU颗数 0 0 1 1 两颗CPU 一个CPU两核心
grep ‘processor‘ /proc/cpuinfo 核心数 0 1 2 3 四核心
lscpu 查看CPU信息
CPU(s): 1 核心数量
On-line CPU(s) list: 0 核心编号
Socket(s): 1 1个cpu
CPU(s): 4 核心数量
On-line CPU(s) list: 0-3 核心编号
Core(s) per socket: 2 2个cpu
/proc/meminfo 查看内存信息
MemTotal: 995880 kB 内存总大小
MemFree: 860232 kB 可用内存
Buffers: 0 kB 写缓冲
Cached: 25864 kB 读缓存
free -h 查看内存信息
/proc/loadavg load average 平均负载
负载 平均
cat /proc/loadavg
衡量是系统的繁忙程度:是否达到核心数的总数
CPU 核心数量 2======负载最大值2
4====== 4
0.00 0.01 0.07 2/107 2339
1分钟内的平均值 5分钟内的平均值 15分钟内的平均值
w 查看负载信息
注意:在里面的FROM选项,如果出现不认识的ip地址,可能就是服务器被黑
还可以看到用户操作文件
uptime 查看cpu负载信息
负载 用户 运行时间
负载衡量的是什么?
cpu 硬盘
top 查看系统详细信息
按数字键1 可以看到所有的核心
按 m 可以查看那个占用内存最多
退出命令:
ctrl + c
q
/proc/mounts 挂载信息
了解就好,主要关注/etc/fstab
总结
/etc/
/etc/sysconfig/network-scripts/ifcfg-eth0
网卡配置文件
/etc/hostname
系统主机名
/etc/hosts
IP地址和域名的对应关系,本地DNS服务器
/etc/resolv.conf
DNS配置文件nameserver 223.5.5.5
/etc/rc.local
开机自动启动的配置文件,执行权限
/etc/fstab
开机自动挂载的配置文件
/etc/inittab
系统的运行级别配置文件
/etc/issue
系统登录前的提示信息
/etc/issue.net
系统登录前的提示信息
/etc/motd
系统登录后的提示信息
/etc/profile
环境变量配置文件
/etc/bashrc
别名
/etc/redhat-release
查看系统的版本号
/usr/local
编辑安装默认的目录
/var
/var/log/messages
系统默认的日志
/var/log/secure
系统安全日志
/proc
/proc/cpuinfo
查看cpu信息
/proc/meminfo
查看内存信息
/proc/loadavg
查看系统平均负载
/proc/mounts
查看挂载详细信息
创建普通用户
useradd 用户名
useradd alex
id alex查看用户信息
切换用户root切换到普通用户不需要权限,密码。直接切换
su - alex -代表切换的时候更新环境变量
案例:
退出alex普通用户到root用户
exit
ctrl+d
logout
xshell创建alex用户的连接
在root用户给普通用户alex设置密码 passwd alex
在xshell中打开会话窗口,复制一个会话,重命名为alex,然后设置选项,用户名改为alex,确定,没有密码,我们就去设置密码,在root用户给alex设置密码。
alex要切换到root用户,需要密码
PS1 修改命令行格式的变量
[ \u@ \h \W] \$
user @ \hostname 路径 用户提示符
了解
修改:
PS1=[\u@\h \W \t]\$
yum源修改
第一个里程牌 查看该当前使用的仓库
yum repolist 默认的仓库随机选择某个大学 或者某个仓库网站
第二个里程碑 修改默认yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
使用wget或者curl 命令下载 如果是wget 前提是安装了wget
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
安装企业扩展安装包 epel
安装wget
ctrl + f 搜索页面内容 epel
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装命令补全包
yum -y install bash-completion-extras
关闭selinux 重点(必须关闭)
selinux 增强版防火墙 美国国家安全局开发
永久关闭selinux
修改配置文件/etc/selinux/config
重启生效
临时关闭selinux
如何查看当前是否关闭了selinux
getenforce
[root@oldboy ~]#setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboy ~]#setenforce 0
[root@oldboy ~]#getenforce
Permissive
Enforcing =====1
Permissive =====0
关闭firewalld重点 学习可以关闭 工作中禁止关闭
centos7.x centos6.x
firewalld iptables 重点
1)查看防火墙状态 c6.x查看防火墙状态
systemctl status firewalld /etc/init.d/iptables status
2)临时关闭防火墙 临时关闭防火墙
systemctl stop firewalld /etc/init.d/iptables stop
3)永久关闭防火墙 永久关闭防火墙
systemctl disable firewalld chkconfig iptables off
作业 : curl ,date ,centos6安装
curl
1 curl http://www.centos.org
通过-o/-O选项保存下载的文件到指定的文件中:
-o:将文件保存为命令行中指定的文件名的文件中
-O:使用URL中默认的文件名保存文件到本地
?
1
2
3
4 # 将文件下载到本地并命名为mygettext.html
curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html
curl -O http://www.gnu.org/software/gettext/manual/gettext.html
同样可以使用转向字符">"对输出进行转向输出
同时获取多个文件
?
1 curl -O URL1 -O URL2
若同时从同一站点下载多个文件时,curl会尝试重用链接(connection)。
通过-L选项进行重定向
默认情况下CURL不会发送HTTP Location headers(重定向).当一个被请求页面移动到另一个站点时,会发送一个HTTP Loaction
header作为请求,然后将请求重定向到新的地址上。
例如:访问google.com时,会自动将地址重定向到google.com.hk上。
?
1
2
3
4
5
6
7
8
9
10
11
12 curl http://www.google.com
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html;charset=utf-">
<TITLE> Moved</TITLE>
</HEAD>
<BODY>
<H> Moved</H>
The document has moved
<A HREF="http://www.google.com.hk/url?sa=p&hl=zh-CN&pref=hkredirect&pval=yes&q=http://www.google.com.hk/&ust=amp;usg=AFQjCNFoumfjyJpNDPuFKTibavEaA">here</A>.
</BODY>
</HTML>
上述输出说明所请求的档案被转移到了http://www.google.com.hk。
这是可以通过使用-L选项进行强制重定向
1 # 让curl使用地址重定向,此时会查询google.com.hk站点
2 curl -L http://www.google.com
断点续传
通过使用-C选项可对大文件使用断点续传功能,如:
?
1
2
3
4
5
6 # 当文件在下载完成之前结束该进程
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
############## .%
curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html
############### .%
对CURL使用网络限速
通过--limit-rate选项对CURL的最大网络使用进行限制
curl --limit-rate 1000B -O http://www.gnu.org/software/gettext/manual/gettext.html
下载指定时间内修改过的文件
当下载一个文件时,可对该文件的最后修改日期进行判断,如果该文件在指定日期内修改过,就进行下载,否则不下载。
该功能可通过使用-z选项来实现:
curl -z 21-Dec-11 http://www.example.com/yy.html
CURL授权
在访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权
curl -u username:password URL
4 curl -u username URL
从FTP服务器下载文件
CURL同样支持FTP下载,若在url中指定的是某个文件路径而非具体的某个要下载的文件名,CURL则会列出该目录下的所有文件名而并非下载该目录下的所有文件
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php
上传文件到FTP服务器
通过 -T 选项可将指定的本地文件上传到FTP服务器上
?
1
2
3
4
5
6
7
8
9
10
11 # 将myfile.txt文件上传到服务器
curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com
curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.testserver.com
curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt
获取更多信息
通过使用 -v 和 -trace获取更多的链接信息
通过字典查询单词
curl dict://dict.org/d:bash
curl dict://dict.org/show:db
curl dict://dict.org/d:bash:foldoc
为CURL设置代理
-x 选项可以为CURL添加代理功能
curl -x proxysever.test.com:3128 http://google.co.in
其他网站整理
保存与使用网站cookie信息
curl -D sugarcookies http://localhost/sugarcrm/index.php
curl -b sugarcookies http://localhost/sugarcrm/index.php
传递请求数据
默认curl使用GET方式请求数据,这种方式下直接通过URL传递数据
可以通过 --data/-d 方式指定使用POST方式传递数据
curl -u username https://api.github.com/user?access_token=XXXXXXXXXX
curl -u username --data "param=value?m=value" https://api.github.com
curl --data @filename https://github.api.com/authorizations
注:默认情况下,通过POST方式传递过去的数据中若有特殊字符,首先需要将特殊字符转义在传递给服务器端,如value值中包含有空格,则需要先将空格转换成%20,如:
curl -d "value%201" http://hostname.com
在新版本的CURL中,提供了新的选项 --data-urlencode,通过该选项提供的参数会自动转义特殊字符。
curl --data-urlencode "value 1" http://hostname.com
除了使用GET和POST协议外,还可以通过 -X 选项指定其它协议,如:
curl -I -X DELETE https://api.github.cim
上传文件
curl --form "fileupload=@filename.txt" http://hostname/resource
date
1、命令:date
2、命令功能:date 可以用来显示或设定系统的日期与时间。
3、命令参数
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。
4、日期格式字符串列表
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
5、实例
格式化输出:
date +"%Y-%m-%d"
2015-12-07
输出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"
2015-11-19
2秒后输出:
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
2015-11-20 14:21.31
传说中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30
普通转格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00
apache格式转换:
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
2009-12-05 00:00.37
格式转换后时间:
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2007-12-05 00:00.37
加减操作:
date +%Y%m%d #显示前天年月日
date -d "+1 day" +%Y%m%d #显示前一天的日期
date -d "-1 day" +%Y%m%d #显示后一天的日期
date -d "-1 month" +%Y%m%d #显示上一月的日期
date -d "+1 month" +%Y%m%d #显示下一月的日期
date -d "-1 year" +%Y%m%d #显示前一年的日期
date -d "+1 year" +%Y%m%d #显示下一年的日期
设定时间:
date -s #设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 #设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 #设置具体时间,不会对日期做更改
date -s "01:01:01 2012-05-23" #这样可以设置全部时间
date -s "01:01:01 20120523" #这样可以设置全部时间
date -s "2012-05-23 01:01:01" #这样可以设置全部时间
date -s "20120523 01:01:01" #这样可以设置全部时间
检查一组命令花费的时间:
#!/bin/bash
start=$(date +%s)
nmap man.linuxde.net &> /dev/null
end=$(date +%s)
difference=$(( end - start ))
echo $difference seconds.
第1章 Linux date命令详解
1、显示时间
date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间。如下:
如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下:
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
上述格式不必全都记住,只需要掌握几个常用的即可。例如%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒,%s表示从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数,相当于time函数,%w表示一周中的第几天。
实例见下:
如果要显示的时间不是当前时间,而是经过运算的时间,则可以用-d选项。例如显示三年前的时间:
看到这个命令我很受伤,过去的时间再也回不去了,只能用命令看看。显示三个月后的时间:
显示十天后的时间:
有时候需要获取当前时间距离1970年0时0分0秒所经历的秒数,保存在变量中:
2、设置时间
用 -s选项可以设置系统时间:
方式多种多样,任你选:
你要足够相信date的智能。
标签:encode public 可变 enforce ase 完成 标准 head set
原文地址:https://blog.51cto.com/14465325/2427828