系统指令
- init [选项] 切换到指定运行级别的指令
- 0 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 1 单用户工作状态,root权限,用于系统维护,禁止远程登录
- 2 多用户状态(没有NFS),没有网络服务
- 3 多用户状态有网络服务,登录后进入控制台命令行模式
- 4 系统未使用,保留给用户
- 5 图形界面
- 6 系统重启,系统默认运行级别不能设为6,否则不能正常启动
- shutdown -h now 立即关机
- shutdown -h 1 表示1分钟以后关机
- shutdown -r now 立即重启
- halt 直接使用,效果等价于关机
- reboot 重启系统
- sync 把内存中的数据同步到磁盘
- ifconfig 显示网络设备
当我们关机或者重启时,都应该先执行一下sync指令,把内存中的数据写入磁盘,防止数据丢失
帮助指令
- man 命令或配置文件 获得帮助信息
help 命令 获得shell内置命令的帮助信息
文件目录类
- pwd 显示当前工作目录的绝对路径
- ls [选项] 显示当前目录下的内容
- -a 显示当前目录所有的文件和目录,包括隐藏的
- -l 以列表的方式显示信息
- cd [相对路径或绝对路径] 切换到指定目录
- cd ~ 切换到当前登录用户的主目录
- cd ~用户名 切换至指定用户的主目录
- cd - 切换至上次所在目录
- cd . 切换至当前目录
- cd .. 切换至上级目录
- mkdir [目录名] 创建新目录
- -p 递归创建所有目录
- rmdir [选项] 目录名 删除空目录
- -p 递归删除空目录
- rm [选项] 文件或目录 删除文件或目录
- -r 递归删除整个文件夹
- -f 强制删除不提示
- touch 文件名 创建文件
- cp [选项] 源文件 目标文件 复制文件
- -r 递归复制整个文件夹
- \cp [选项] 源文件 目标文件 强制覆盖原来的文件不提示
- mv 原文件名 新文件名 重命名
- mv 源文件目录 目标目录 移动文件
- cat [选项] 文件名 查看文件内容
- -n 显示行号
- more 文件名 以全屏幕得方式按页显示文本文件得内容
- cat 文件名 | more 分页查看
- less 文件名 分屏查看文件的内容
> 输出重定向,将原来的文件的内容覆盖
ls -l > 文件名 ++列表的内容写入到文件(覆盖)++
>> 追加,不会覆盖原来文件的内容,而是追加到文件的尾部
ls -l >> 文件名 ++列表的内容追加到文件的末尾++
- cat 文件1 > 文件2 将文件1的内容覆盖到文件2
- echo 输出内容 输出内容到控制台
- head 文件名 查看文件头10行内容
- head -n 5 文件名 查看文件头5行内容,5可以是任意数
- tail 文件名 查看文件后10行内容
- tail -n 5 文件名 查看文件头5行内容,5可以是任意数
- tail -f 文件名 实时追踪该文档的所有更新,工作经常使用
- ln [-s/-f] 源文件 目标文件 给文件创建链接
- rm -rf 软链接名 删除软连接
- history 查看已经执行过的历史命令
vim
时间日期类
- date 显示当前日期
- date+%Y 显示当前年份
- date+%m 显示当前月份
- date+%d 显示当前是哪一天
- date "+%Y %m %d %H:%M:%S" 显示年月日时分秒
- date -s 字符串时间 设置日期
- cal [选项] 显示本月日历
cal 2020 显示2020年日历
搜索查找类
- find 搜索范围 [选项] 要查找的内容
- -name 按照指定的文件名查找模式查找文件
- -user 查找属于指定用户名所有文件
- -size 按照指定的文件大小查找文件
locate 搜索的文件 快速定位文件路径
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
- grep [选项] 查找内容 源文件 过滤查找
- -n 显示匹配行和行号
- -i 忽略字母大小写
| 管道符号,表示将前一个命令的处理结果输出传递给后面的命令处理
压缩解压类
- tar [选项] XXX.tar.gz 源文件或目录 归档打包,最后打包的文件是.tar.gz的文件
- -c 产生.tar打包文件
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
- -x 解压.tar文件
gzip 源文件 压缩文件,只能将文件压缩为.gz文件
当我们使用gzip对文件进行压缩后,不会保留原来的文件
- gunzip 文件.gz 解压文件
- zip [选项] 压缩包名 源文件或源目录列表 压缩文件和目录
- -r 递归压缩,即压缩目录
- unzip [选项] 压缩包名
-d 目录 指定解压后文件存放的目录
用户和用户组管理类
- more /etc/passwd 查看所有用户信息
- useradd [选项] 用户名 添加用户
- useradd -d 指定目录 用户名 给新创建的用户名指定家目录
- useradd -g 组名 用户名 创建用户并放入组中
- passwd 用户名 密码配置
- passwd -S 用户名 查看用户密码的状态
- passwd -l 用户名 锁定用户
- passwd -u 用户名 解锁用户
- echo "123" | passwd --stdin [用户名] 调用管道符,给用户设置密码"123"
- usermod 用户名 修改用户
- usermod -L 用户名 临时锁定用户
- usermod -U 用户名 解锁用户
- usermod -G 组名 用户名 把用户加入组
- usermod -c 用户说明 用户名 修改用户说明
- usermod -d 目录名 用户名 改变该用户登录的初始目录
- chage 用户名 修改用户密码信息
- chage -l 用户名 查看用户密码状态
- userdel [选项] 用户名 删除用户
- userdel -r 用户名 删除用户及用户的家目录
- id 用户名 查询用户UID、GID和附加组信息
- su 用户切换
- su 用户名 用户切换
- su - 用户名 用户切换
- exit 返回到原来的用户
- groupadd 组名 添加用户组
- groupmod 组名 修改用户组
- groupmod -g GID 组名 修改组ID
- groupmod -n 新组名 组名 修改组名
- groupdel 组名 删除用户组
- newgrp 组名
- logout 注销用户
- whoami 打印当前执行操作的用户名
who am i 打印登录当前Linux系统的用户名
权限管理
- chgrp 组名 文件或目录 修改文件或目录的所属组
- chown 用户名 文件或目录 修改文件或目录的所有者
- chown 用户名:组名 文件或目录 同时修改文件或目录的所有者和所属组
- chmod 权限值 文件或目录 使用数字修改文件或目录权限
chmod [u/g/o/a][+/-/=][r/w/x] 文件目录名 使用字母修改文件或目录权限
任务调度
- crontab [选项]
- -e 编辑crontab定时任务
- -l 查询crontab任务
- -r 删除当前用户所有的crontab任务
service crond restart 重启任务调度
磁盘管理
- fdisk /dev/sdb 对硬盘sdb进行分区
- mkfs -t 分区类型 设备名称 格式化
- mount 设备名称 挂载目录 挂载
- umount 设备名称/挂载目录 卸载
- lsblk [选项] 查看系统分区和挂载情况
- -f
- df -h 查询系统整体磁盘使用情况
- du [选项] 目录 查询指定目录的磁盘占用情况,默认为当前目录
- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 含文件
- --max-depth=1 子目录深度
-c 列出明细的同时增加汇总值
查询/opt目录的磁盘占用情况,深度为1。
du -ach --max-depth=1 /opt磁盘情况-工作实用指令
- ls -l /home | grep "^-" | wc -l 统计/home文件夹下文件的个数
- ls -l /home | grep "^d" | wc -l 统计/home文件夹下目录的个数
- ls -lR /home | grep "^-" | wc -l 统计/home文件夹下文件的个数,包括子文件夹里的
- ls -lR /home | grep "^d" | wc -l 统计/home文件夹下目录的个数,包括子文件夹里的
tree 以树状显示目录结构
软件安装
RPM
- rpm -qa 查询所安装的所有rpm软件包
- rpm -qa | more 分页显示
- rpm -q 软件包名 查询软件包是否安装
- rpm -qi 软件包名 查询软件包信息
- rpm -ql 软件包名 查询软件包中的文件
- rpm -qf 文件全路径名 查询文件所属的软件包
- rpm -e 软件包名 删除软件包
- rpm -e --nodeps 软件包名 强制删除软件包
- rpm -ivh BPM包全路径名称 安装rpm包
- i=install 安装
- v=verbose 提示
h=hash 进度条
YUM
- yum list | grep 软件名 查询yum服务器是否有需要安装的软件
yum install 软件名 安装指定的yum包
进程管理
- ps [选项] 显示系统执行的进程
- -a 显示当前终端的所有进程信息
- -u 以用户的格式显示进程信息
- -s 显示后台进程运行的参数
- -e 显示所有进程
-f 全格式
ps -aus 查看进程
ps -ef 以全格式显示当前所有的进程
- kill [选项] 进程号 通过进程号杀死进程
- -9 表示强迫进程立即停止
- killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
- pstree [选项] 查看进程树
- -p 显示进程的PID
-u 显示进程的所属用户
服务管理
service 服务名 [start|stop|restart|reload|status]
在centOS7.0后,不再使用service,而是systemctl
service iptables status 查看防火墙状态- ls -l /etc/init.d/ 列出系统有哪些服务
- chkconfig 可以给每个服务的各个运行级别设置自启动/关闭
- chkconfig --list 查看服务
- chkconfig --list | grep sshd
- chkconfig sshd --list
chkconfig --level 5 sshd on/off 将服务在运行级别为5下设置为自启动或不启动
chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot才能生效
sudo service iptables status 查看防火墙状态
sudo chkconfig iptables off 永久关闭防火墙
- top [选项] 动态监控进程
- -d 指定top命令每隔几秒更新
- -i 使top不显示任何闲置或者僵死进程
- -p 通过指定监控进程ID来仅仅监控某个进程的状态
- 与top交互操作
- P 以CPU使用率排序,默认就是此项
- M 以内存的使用率排序
- N 以PID排序
- q 退出top
- netstat [选项] 查看系统网络情况
- -an 按一定顺序排列输出
-p 显示哪个进程在调用
持续更新