1.时间日期类
(1)date指令
•基本语法
1) date (功能描述:显示当前时间)
2) date +%Y (功能描述:显示当前年份)
3) date +%m (功能描述:显示当前月份)
4) date +%d (功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
6)date -s 字符串时间
date +%Y | 显示当前年份 |
date +%m | 显示当前月份 |
date +%d | 显示当前天 |
date | 显示当前日期 |
date "+%Y-%m-%d %H:%M:%S" | 显示当前年月日时分秒 |
date -s "2020-02-07 10:13:15" | 设置日期 |
(2)cal指令
cal | 显示当前月份日历表 |
cal 2020 | 显示当前年份日历表 |
(3)find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
find /home -name hello.java | 在home文件夹下查找文件名为hello.java的文件 |
find /home -user zhouenxian | 在home文件夹下查找属于zhouenxian用户的所有文件 |
find / -name *.txt | 查找所有文件后缀名为.txt的文件 |
find /home -size +1k | 在home文件夹下查找文件大小超过1k的文件 |
(4)locate指令
ocaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate时刻。
updatedb | updatedb创建数据库 |
locate hello.java | 查找hello.java文件 |
(5)grep指令 和 管道符号 |
cat /home/zhouenxian/hello.java | grep -n main
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
2.压缩与解压类指令
(1)gzip 与 gunzip 指令
gzip 用于压缩文件, gunzip 用于解压的
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
gzip hello.java | 压缩hello.java文件 |
gunzip hello.java.gz | 解压文件 |
细节说明:
当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。
(2)zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
•基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
•zip常用选项
-r:递归压缩,即压缩目录
•unzip的常用选项
-d<目录> :指定解压后文件的存放目录
zip -r my.zip /home | 将/home文件夹下的所有文件压缩到my.zip压缩文件中 |
unzip -d /home/zhangwuji/ my.zip | 将压缩文件my.zip解压到/home/zhangwuji/文件夹中 |
(3)taz指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
•基本语法
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
tar -zcvf a.tar.gz bibi.txt mimi.txt | 将bibi.txt与mimi.txt文件压缩到a.tar.gz文件 |
tar -zxvf a.tar.gz -C /home/zhangwuji/ | 将a.tar.gz压缩文件解压到/home/zhangwuji/文件夹下 |
3.用户组管理
(1)ls -ahl指令(查看文件的所有者)
ls -ahl | 查看文件所有者 |
(2)groupadd指令(增加组)
groupadd police | 增加police组 |
useradd -g police tom | 将tom添加到police组中 |
(3)chown指令(修改文件所有者)
•指令:chown 用户名 文件名
chown tom mi.java | 将mi.java文件所有者修改为tom用户 |
(4)chgrp指令(修改文件所在组)
•基本指令
chgrp 组名 文件名
chgrp police mi.java | 将mi.java文件所在组修改为police组 |
(5)usermod指令(改变用户所在组)
usermod -g police zhangwuji | 将zhangwuji用户改为police组 |
usermod –d 目录名 用户名 | 改变该用户登陆的初始目录 |
4 权限管理
1.权限的基本介绍
(1)chomd指令(文件或者文件夹权限修改指令)
通过 chmod指令,可以修改文件或者目录的权限
第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
1) chmod u=rwx,g=rx,o=x 文件目录名
2) chmod o+w 文件目录名
3) chmod a-x 文件目录名
chmod u=rwx,g=rw,o=rw bibi.php | 给文件所有者读写以及执行的权限,文件拥有者所在组读写权利,其他组读写权力 |
chmod u-x,o-w bibi.php | 给文件所有者除去执行权限,其他组去除写权限 |
chmod a+x bibi.php | 给所有人增加执行权限 |
(2)chown指令(修改文件拥有者)
chown zhouenxian hello.java | 将hello.java文件拥有者修改为zhouenxian用户 |
chown -R zhouenxian dirctory/ | 给文件夹下所有文件的拥有者修改为zhouenxian用户 |
(3)chgrp指令(修改文件或者文件夹所在组)
chgrp newgroup file 改变文件的所有组
chgrp common dirctory | 修改文件夹的所在组 |
5.crond任务调度
(1)基本介绍
概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
(2)常用语法
(3)快速入门
案例:每隔 1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
1) 先编写一个文件 /home/mytask.sh
第一步:touch mytask.sh
第二步:vim mytask.sh
第三步:追加文件内容 date >> /tmp/mydate
2) 给 mytask.sh 一个可以执行权限
chmod u+x mytask.sh
3) crontab -e
4) */1 * * * * /home/mytask.sh
5) 成功
(4)其他crontab命令
conrtab –r | 终止任务调度 |
crontab –l | 列出当前有那些任务调度 |
service crond restart | [重启任务调度] |
6 进程管理
1.进程的基本介绍
2.显示系统执行的进程(ps指令)
3.ps指令详解
ps -ef 是以全格式显示当前所有的进程
-e 显示所有进程。-f 全格式。
4.kill指令与pstree 指令
kill 4090 | 杀死进程号为4090的进程 |
kill -9 4090 | 强制杀死进程号为4090的进程 |
pstree | 显示进程的进程树 |
pstree -p | 显示进程的pid进程树 |
pstree -u | 显示当前用户进程的进程树 |
service 服务名 start/stop/restart/reload/status | |
setup | 进入服务界面查看服务 |
5 .服务的运行级别
chkconfig --list | 请显示当前系统所有服务的各个运行级别的运行状态 |
service sshd status | 请查看 sshd服务的运行状态 |
chkconfig --level 5 sshd off | 将 sshd 服务在运行级别 5下设置为不自动启动 |
chkconfig --level 5 iptables off | 当运行级别为 5时,关闭防火墙。 |
chkconfig iptables off | 在所有运行级别下,关闭防火墙 |
chkconfig iptables on | 在所有运行级别下,开启防火墙 |
6.top指令
top与 ps命令很相似。它们都用来显示正在执行的进程。Top与 ps最大的不同之处,在于 top在
执行一段时间可以更新正在运行的的进程。
指定系统状态更新的时间(每隔 10秒自动更新, 默认是 3秒):
top -d 10
7.netstat指令
查看系统网络情况 netstat(重要)
-an 按一定顺序排列输出
-p 显示哪个进程在调用