目录
(1)、帮助命令
man 获取帮助信息
基本语法:
man [内嵌命令]:查看命令的帮助信息
type 查看命令是内置命令还是外部命令
基本语法:
type [命令]
help 获取帮助信息
基本语法:
help [外部命令]
--help 获取帮助信息
基本语法:
[命令] --help -------------常用
5、reset/ctrl+l 清屏 (reset将会彻底清空,但是使用history仍能查看之前使用过的命令)
(2)、文件目录类
pwd 显示当前目录的绝对路径
ls 列出目录中的内容
基本语法:
ls [选项][目录或者文件]
ls -a:显示所有内容(包括隐藏文件)
ls -l/ll:列出文件的类型、权限以及创建的时间和文件名
cd 进入相对应的目录中
cd ../cd -:返回上一级
mkdir 创建文件夹子
mkdir a b:在所在目录下创建a和b
mkdir a a/b a/b/c:创建a,随后在a中创建b,随后再在b中创建c
rmdir 删除文件夹
rmdir xxx
touch 创建空文件
touch xxx.txt
cp 复制文件或者目录
语法结构:
cp [选项] 源文件 目标文件
cp -r 递归复制整个文件夹
rm 删除文件或目录
语法结构:
rm -r:递归删除目录中所有内容
rm -f:强制执行删除操作,而不提示是否确认
rm -v:显示指令的详细执行过程
mv 移动文件与目录或重命名
语法结构:
mv old new:将old重命名为new
mv /a/b /c:移动文件
cat 查看文件
cat -n:显示行号
more/less 文件分屏查看
使用more --help查看具体使用方法
echo 在控制台输出
语法结构:
echo [选项] [内容]
例如:echo hello,world ------->控制台输出hello world
选项:
-e:支持反斜线控制的字符转换
\\:输出\本身
\n:换行符
\t:相当于tab键
Head/tail 显示文件头部/尾部内容
语法结构
Head/tail 文件 :查看文件头/尾十行
Head/tail -n 5 文件:查看文件头/尾5行内容
Tail -f:实时追踪文档的所有更新
ln 创建软链接/快捷方式
语法结构:
ln -s [源文件][软链接名]
注意:
删除软链接时:
使用rm -rf 链接名,而不是使用rm -rf 链接名/,如果使用rm -rf 链接名/,会把软链接对应的真实目录下的内容删除
history 查看历史使用过的历史命令
History -c:清空历史命令
date 显示当前时间
cal 查看日历
Cal [具体哪一年]
(3)、用户管理命令
可修改/etc/sudoers文件,修改用户使用sudo的权限
useradd 添加新用户
Useradd -d [用户文件存放地址][用户名]
Useradd -g 用户组 用户名 ------例如useradd -g bigdata xiaoliang :将xiaoliang添加到bigdata用户组中
Passwd 设置用户密码
Passwd [新用户名]:给新用户设置密码
userdel 删除用户
Userdel -r [用户名]
id 查看用户信息
Id 用户名
(4)、用户组管理命令
groupadd 新增组
usermod 修改用户的用户组
语法结构:
usermod -g 用户组 用户名
groupdel 删除用户组
(5)、文件权限类
文件类型 | 属主权限(u) | 属组权限(g) | 其他用户权限(o) | ||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
d | r | w | x | r | - | x | r | - | x |
目录文件 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
1、0首位表示类型
-代表文件
d代表目录
l链接文件(快捷方式)
2、第1-3位确定属主(该文件的所有者)拥有该文件的权限-----user
3、第4-6位确定属组(所有者的同组用户)拥有该文件的权限---Group
4、第7-9位确定其他用户拥有该文件的权限---Other
chmod 改变权限
第一种方式:
Chmod [{ugoa}]{+-=}{rwx} 目录或文件
第二种方式:
Chmod [mode=421] [文件或目录]
R=4
w=2
x=1
Chmod -R 777 a/ :将a目录中所有文件都修改为可读可写可执行的文件类型
chown 改变所有者
语法结构:
Chown [选项][最终用户][文件或目录]
Chown -R:递归操作,不仅改变目录的所有者,也将改变目录下所有文件的所有者
chgrp 改变所属组
语法结构:
Chgrp [最终用户组][文件或目录]
(6)、搜索查找类
find 查找文件或者目录
语法结构:
Find [搜索范围][选项]
选项 | 功能 |
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件,单位为: b —— 块 (512 字节) c —— 字节 w —— 字 (2 字节) k —— 千字节 M —— 兆字节 G —— 吉字节 |
例如:
Find /root -name info:查找root目录下名为info的文件
locate 快速定位文件路径
grep 过滤查找及“|”管道符号
语法结构
Grep [-n] 查找内容 源文件(-n用来显示行号)
(7)、压缩解压类
gzip/gunzip 压缩
语法结构:
Gzip/gunzip 文件
zip/unzip
语法结构:
Zip [选项] xxx.zip
unzip 选项 | 功能 |
-r | 压缩目录 |
Unzip [选项] 文件
unzip 选项 | 功能 |
-d<目录> | 指定解压后文件的存放目录 |
tar 打包工具
语法结构:
Tar [选项] xxx.tar.gz 将要打包进去的内容
选项 | 功能 |
- c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar 文件 |
-C | 解压到指定目录 |
Tar -zxvf xxx.tar.gz -C 解压到的位置
(8)、磁盘查看和分区类
du 查看文件和目录占用的磁盘空间
语法结构:
Du [选项] 文件/目录
选项 | 功能 |
-h | 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; |
- a | 不仅查看子目录大小,还要包括文件 |
- c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
--max-depth=n | 指定统计子目录的深度为第 n 层 |
Df -h/free -h:也可查看磁盘空间
lsblk 查看设备挂载情况
Lsblk -f :查看详细的设备挂载情况,显示文件系统信息
mount/umount 挂载/卸载
Fdisk 分区
Fdisk -l:查看磁盘分区情况
Fdisk 硬盘设备名:对新增硬盘进行分区操作
(9)、进程管理类
service 服务名 start|stop|* restart|status (CentOS6版本 了解)
Systemctl start|stop|* restart|status 服务名
Ps 查看进程状态
语法结构:
Ps aux |grep xxx :查看系统中所有进程
Ps -ef | grep xxx:可以查看子父进程之间的关系
选项 | 功能 |
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
- e | 列出所有进程 |
- u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
--------------- ps aux 显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的 ID 号
%CPU:该进程占用CPU 资源的百分比, 占用越高,进程越耗费资源; %MEM:该进程占用物理内存的百分比, 占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位 KB;
RSS:该进程占用实际物理内存的大小,单位 KB;
TTY: 该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行状态、S :睡眠状态、T :暂停状态、 Z :僵尸状态、s :包含子进程、l :多线程、+:前台显示
START:该进程的启动时间
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID可以使用ef
kill 终止进程
Kill [选项] 进程号
Kill -9:强迫进程立即终止
Killall sshd:将所有的sshd进程全部终止
pstree 查看进程树
语法结构:
Pstree [选项]
Pstree -u:显示进程的所属用户
Pstree -p:显示进程的PID
top 实时监控系统进程状态
语法结构:
Top [选项]
选项 | 功能 |
-d 秒数 | 指定top 命令每隔几秒更新。默认是 3 秒在top 命令的交互模式当 中可以执行的命令: |
-i | 使 top 不显示任何闲置或者僵死进程。 |
-p | 通过指定监控进程 ID 来仅仅监控某个进程的状态。 |
操作说明:
操作 | 功能 |
P | 以 CPU 使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以 PID 排序 |
q | 退出 top |
netstat 显示网络状态和端口占用信息
Netstat -anp | grep 进程号 查看该进程网络信息(netstat -anp | less 分页查看进程网络信息)
其中包含网络是否建立连接,连接的所使用到的端口号等
Netstat -nlp | grep 端口号 查看网络端口号的占用情况
选项 | 功能 |
-a | 显示所有正在监听 (listen ) 和未监听的套接字 ( socket) |
-n | 拒绝显示别名,能显示数字的全部转化成数字 不显示主机名,显示ip |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
Ssh占用22号端口
crontab 系统定时任务
重新启动crond服务:systemctl restart crond
语法结构:
Crontab [选项]
-e:编辑crontab定时任务
当使用crontab -e编辑定时任务时,会进入到vim的编辑界面
*****执行的任务
第一个*:一个小时当中的第几分钟(0-59)
第二个*:一天当中的第几小时(0-23)
第三个*:一个月当中的第几天(1-31)
第四个*:一年当中的第几月(1-12)
第五个*:一周当中的星期几(0-7)(其中0和7都表示星期天)
特殊符号
*:代表任何时间,比如第一个“*”就代表一小时中每一分钟都执行一次的意思
,:表示不连续的时间,比如“0 8,12,16 * * *命令”,就表示在每天的八点整,十二点整,十六点整都执行一次的命令
-:代表连续的时间范围,比如”0 5 * * 1-6”命令,代表在周一到周六的凌晨五点整执行命令
*/n:代表每隔多久执行一次。比喻“*/10 * * * *命令”,代表每隔十分钟就执行一遍命令
例子:
45 22 * * * 命令:每天的22点45分执行命令
0 17 * * 1 命令:每周一的17点整执行命令
0 5 1,15 * *命令:每月的1号和15号的凌晨五点整执行任务
40 4 * * 1-5 命令:每周周一到周五凌晨四点四十执行命令
*/10 4 * * * 命令:凌晨四点每隔十分钟执行一次命令
0 0 1,15 * 1命令:每月分1号和15号以及每周一凌晨0点0分执行命令。注意:星期几 和几号最好不要同时出现,因为他们定义的都是天,非常容易让管理 员混乱
在vim窗口中编写命令
*/1 * * * * echo “hello,world ” >> /root/hello.txt
-l:查询crontab任务
-r:删除当前用户所有的crontab任务