Linux之系统操作参数详解
date //显示当前日期
日期格式化
%Y year年 %y 年份(以00-99来表示)
%j 该年中的第几天
%m month月 (01…12)
%w 该周的天数,0代表周日,1代表周一
%D 日期(含年月日)
%d day of month (e.g., 01)
%T 时间(含时分秒,小时以24小时制来表示)
%X 本地时间
%H hour (00…23)
%I hour (01…12)
%M minute (00…59)
%S second (00…60)
%s 总秒数;起算时间为1970-01-01 00:00:00 UTC
date +“%Y%m%d %H%M%S”
20160824 223856
date +“%Y-%m-%d %H:%M:%S”
2016-08-24 22:39:07
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00
date -s 12:23:23 //设置具体时间,不会对日期做更改
date -s “12:12:23 2006-10-10″ //这样可以设置全部时间
*****注意: 重新设置时间后需要将时间同步到硬件时钟。方式如下:
hwclock -w
注销/重启/关机
logout # 注销
reboot # 重启系统: 需要管理员
shutdown # 关机: 需要管理员权限
shutdown -t 60 60 秒重启
shutdown -r now # 现在立即重启
shutdown -r +5 # 三分钟后重启
shutdown -r 12:12 #在12:12时将重启计算机
shutdown -h now # 现在立即关机
shutdown -h +5 “The System will shutdown after 3 minutes” # 提示使用者将在三分钟后关机
shutdown -h +5 # 5分钟后关机
shutdown -h 12:00 # 12点钟关机
shutdown -c # 取消关机操作
crontab命令 定时任务
service cron start # 启动cronjob
service cron stop # 停止cronjob
service cron restart # 重启cronjob
-u user:用来设定某个用户的crontab服务;
-e:编辑当前用户的crontab文件。 通过vi方式编辑任务列表
-l:显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,
如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示
#crontab -参数 用户
分钟1~59 每分钟用*或者 */1
小时1~23
日期1~31
月份1~12
星期0~7(其中星期天可以用0或7表示)
预执行的命令
* * * * * echo>>hello /usr/hello.txt
系统管理 进程(ps)
ps 查看进程的工具
ps a 显示现行终端机下的所有程序,包括其他用户的程序
ps c 类似ps a,不包括路径
ps -e 显示所有程序
Ps -f 参数是全格式输出的参数。
ps -au 显示更详细的资讯
ps -aux 显示所有包含其他使用者的行程
ps aux |grep usr 查看和usr相关的进程
参数说明
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令
top 命令
top [参数]
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
kill命令用于终止一个进程,
这个命令通常与ps,top配合使用,
先用ps查看进程情况,后kill掉无用进程。
kill 8963 杀掉pid号为8963的进程
kill -9 9332 强行杀掉9332进程
ping 确定网络和各外部主机的状态
ping 192.168.120.205
ping baidu.com
ifconfig 查看系统网络配置
ifconfig -a|eth0(网口)
ssh 用于远程登录上Linux主机
root@虚拟机ip
telnet ip 3306
wget [参数] [URL地址]启动参数:
-V, –version 显示wget的版本后退出
-h, –help 打印语法帮助
-b, –background 启动后转入后台执行
-e, –execute=COMMAND 执行`.wgetrc’格式的命令,
wgetrc格式参见/etc/wgetrc或~/.wgetrc
whereis查找速度>find
使用whereis和locate时直接在数据库中查找数据,
find 遍历硬盘来查找
缺点:数据库文件不能实时更新,默认:一星期更新一次;
可能找到被删除的数据;或刚建立文件找不到;原因:数据库文件没有被更新。
whereis 查看所有信息
whereis [-bmsu] [BMS 目录名 -f ] 文件名
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
df 磁盘使用量 df -Th
-T : 显示文件系统类型
-h : 以能显示的最大单位显示
du du -sh ./* 查看根目录
-s : 如果后面是目录,只显示一层
-h : 以能显示的最大单位显示
du dirname # 显示dirname下所有目录及其子目录的大小
du -sh dirname 显示dirname的大小
mount / umount 3 挂载和卸载设备
mount # 查询挂在设备及属性
sudo mount /dev/cdrom /mnt 挂载光盘
mount -t iso9660 /dev/cdrom /mnt 挂载光盘
mount /dev/sr0 /mnt
umount /mnt # 卸载设备
umount /dev/sr0 卸载光盘
umount -l /mnt # 强制卸载
mount -o remount /mnt 重新挂载设备
mount -o remount,rw /mnt # 重新挂载设备并设置rw属性
mount a.iso -o loop /mnt # 挂载iso文件,可查看内容
sed : 流编辑器,一次处理一行内容
sed [-nefr] [动作] [文件]
选项与参数:
-n :安静(silent)模式。经过sed 特殊处理的那一行被列出来
-e :直接在命令列模式上进行 sed 的动作编辑
-f :直接将 sed 的动作写在一个文件内,
-f filename 则可以运行 filename 内的 sed 动作
-r :sed 的动作支持的是延伸型正规表示法的语法。(
默认是基础正规表示法语法)
-i :直接修改文件内容,不输出到终端。
动作说明: [n1行]动作:
#d :删除,
sed “3d” file # 删除第三行
sed “1,3d” # 删除前三行
sed “1d;3d;5d” # 删除1、3、5行
sed “/^KaTeX parse error: Expected 'EOF', got '#' at position 5: /d" #̲删除空行 sed "…d” # 删除最后一行
sed “/dd|cc/d” 删除有dd或者cc的行
#p :列印; p与 sed -n 一起使用
sed -n “3p” file # 显示第三行
sed -n “1,3p” # 显示前三行
sed -n “2,+3p” # 显示第二行,及后面的三行
sed -n “KaTeX parse error: Expected 'EOF', got '#' at position 5: p" #̲ 显示最后一行 sed…=” # 显示文件行数
#a :新增, a 后接字串,下一行出现
#i :插入, i 后接字串,上一行出现
#c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
#s :替换 例如 1,20s/old/new/g
‘s/old/new/g’ 可以替换文件中所有内容
sed “s/(all)/bb/”
sed -r “s/(all)/bb/”
***** sed -r “s/(ab)(cd)/\2zwcs\1/” 进行分组操作;采用()操作;\转义;
同一行出现1个abcd,替换为 (cdzwcsab) ;出现2个,替换为 cdzwcsab
cat -n a.txt | sed -r “s/(ab)(cd)/\2zwcs\1/”
\2 zwcs\1 == cdzwcsab
awk : 文本分析工具,相对于grep的查找,sed的编辑,
awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,
切开的部分再进行各种分析处理。
命令行调用方式
awk [-F field-separator] ‘commands’ input-file(s)
#commands 是真正awk命令,[-F域分隔符]是可选的。
input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。
默认的域分隔符是空格。
awk工作流程:
读入有’\n’换行符分割的一条记录,
然后将记录按指定的域分隔符划分域,填充域,
$0则表示所有域,
1
表示第一个域
,
1表示第一个域,
1表示第一个域,n表示第n个域。
默认域分隔符是"空白键" 或 “[tab]键”,
所以$1表示登录用户,$3表示登录用户ip,以此类推。
awk -F ‘:’ ‘{print $1}’ a.txt
cat /etc/passwd |awk -F ‘:’ ‘{print $1}’
cat /etc/passwd |awk -F ‘:’ ‘{print $1"\t"$7}’
awk 常用内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列, ARGV[0] ARGV[1]
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
awk ‘{print ARGV}’ a.txt
统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行内容:
awk -F ‘:’ ‘{print “filename:” FILENAME “,linenumber:” NR “,columns:” NF “,linecontent:”$0}’ /etc/passwd
使用printf替代print,可以让代码更加简洁,易读
awk -F ‘:’ ‘{printf(“filename:%10s,linenumber:%s,columns:%s,linecontent:%s\n”,FILENAME,NR,NF,$0)}’ /etc/passwd
在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!
以上内容如有侵权,请联系作者进行删除
≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦