shutdown命令
关机重启命令
| 参数 | 说明 |
|---|---|
| -f | 重新启动时不执行fsck |
| -F | 重新启动时候执行fsck |
| -h | 将系统关机 |
| -c | 取消关机任务 |
| -k | 发送信息给所有用户 |
| -n | 不调用init程序进行关机 |
| -r | 重启系统 |
| -t | 送出警告信息和删除信息之间延迟多少秒 |
tips:
# 立即关机
shutdown -h now
# 指定10s后关机
shutdown -h 10
# 立即重启计算机
shutdown -r now
# 设置自动关机时间 格式为“小时:分钟”
shotdown -h 21:00
# 设置几分钟后关机,同时发送警告消息给所有用户
shutdown +5 "警告消息"
# 取消所有关机任务
shutdown -c
syncm
用于数据同步。sync是在关闭linux 系统时候使用得
sync 命令用于强制被改变得内容立刻写入磁盘,在linux中,在文件或数据得处理过程中一半会先放到内存缓冲区中,等到适当得时候在写入磁盘,提高运行效率
用户通常不需要自己执行sync 命令
| 参数 | 说明 |
|---|---|
| -help | 查看详细信息 |
| -version | 显示版本号 |
halt命令
用于关闭当前服务器系统,类似于poweroff与shutdown命令,没有太大差别。
| 参数 | 说明 |
|---|---|
| -n | 在关机前不做将记忆体资料写回硬盘的动作 |
| -w | 模拟关机,把过程写入到日志文件 |
| -d | 不写入日志纪录 |
| -f | 强制关机或重启 |
| -i | 关机或重启前关掉所有的网络服务 |
| -p | 当关机的时候,顺便做关闭电源的动作 |
tips
# 关闭系统
halt
# 关闭系统并关闭电源
halt -p
# 关闭系统,但不留下纪录
halt -d
# 强制关闭当前服务器系统:
halt -f
poweroff命令
用来关闭计算机操作系统并且切断系统电源。如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
| 参数 | 说明 |
|---|---|
| -n | 关闭操作系统时不执行sync操作 |
| -w | 不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中 |
| -d | 关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录 |
| -f | 强制关闭操作系统 |
| -i | 关闭操作系统之前关闭所有的网络接口 |
| -h | 关闭操作系统之前将系统中所有的硬件设置为备用模式 |
# 关闭计算机操作系统并且切断系统电源:
poweroff
# 使用-h参数关闭操作系统之前将系统中所有的硬件设置为备用模式
poweroff -h
reboot命令
重启计算机
| 参数 | 说明 |
|---|---|
| -n | 直接重启 不保存当前资料 |
| -w | 模拟重启过程,将过程写入到日志中 |
| -d | 重启系统,但不将过程写入到日志 |
| -f | 强制重启系统 |
| -i | 关闭所有网络服务,重启系统 |
tips
# 重启当前系统
reboot
# 模拟重启当前系统:
reboot -w
常用命令
Shell 可以看作是一个命令解释器,为我们提供交互式文本控制界面,我们可以通过终端控制台来输入命令,由shell 进行解释并交给内核执行
> 输出重定向 和 >> 追加
| 参数 | 说明 |
|---|---|
| ls -l > 文件 | 将ls -l 输出得内容覆盖到文件中 |
| ls -l >> 文件 | 将输入得内容追加到文件中 |
man命令
查看命令、配置文件的帮助信息 常见的信息包括一下信息
| 名称 | 意义 |
|---|---|
| NAME | 命令的名称 |
| SYNOPSIS | 参数的大致使用方法 |
| DESCRIPTION | 介绍说明 |
| EXAMPLES | 演示(附带简单说明) |
| OVERVIEW | 概述 |
| DEFAULTS | 默认的功能 |
| OPTIONS | 具体的可用选项(带介绍) |
| ENVIRONMENT | 环境变量 |
| FILES | 用到的文件 |
| SEE ALSO | 相关的资料 |
| HISTORY | HISTORY |
| 参数 | 说明 |
|---|---|
| -a | 显示所有匹配项 |
| -f | 同命令whatis 将在whatis数据库查找以关键字开头的帮助索引信息 |
| 快捷键 | 说明 |
|---|---|
| q | 退出 |
| enter | 下一行 |
| space | 按页下翻 |
| b | 上翻一页 |
| /字符串 | 在手册中查找 n 向下查找 N 向上 |
help命令
用于显示帮助信息,输出Shell内部命令的帮助内容,对外部命令无效
| 参数 | 说明 |
|---|---|
| -d | 输出每个命令的简短描述 |
| -s | 输出短格式的帮助信息 |
| -m | 以man手册的格式显示帮助信息 |
type命令
clear命令
reset命令
文件常用命令
pwd 命令
pwd命令来自英文单词“print working directory” ,显示其工作路径,显示绝对位置信息
参考示例
# 查看当前工作目录绝对路径
pwd
cd 命令
更改当前所在工作目录,路径可以是绝对路径 ,也可以是相对路径
| 参数 | 说明 |
|---|---|
| -P | 强制cd命令解析目录路径中的所有符号链接 |
| -L | 强制cd命令不解析目录路径中的符号链接。 |
| ~ | 切换到当前用户的主目录 |
| - | 切换到上一个目录 |
| .. | 切换到上级目录 |
| / | 切换到根目录 |
ls 命令
ls 来自英文单词list 的缩写,列举额指定目录下文件名称及其属性
| 参数 | 说明 |
|---|---|
| -a | 显示所有文件及目录(包括.开头的隐藏文件) |
| -l | 使用长格式列出文件及目录的详细信息 |
| -r | 将文件以相反次序显示 |
| -t | 根据最后修改时间排序 |
| -A | 同a但是不列出‘.’当前目录和“..”父目录 |
| -S | 根绝文件大小排序 |
| -R | 递归出所有子目录 |
| -d | 查看目录信息,而不是里面的文件信息 |
| -i | 输出文件的inode 节点 |
| -m | 水平列出文件,以逗号间隔 |
| -X | 按文件扩展名排序 |
| -color | 输出信息带有着色效果 |
mkdir命令
来自英文单词make directores的缩写,用来创建文件夹
| 参数 | 说明 |
|---|---|
| -p | 递归创建多级目录 |
| -m | 建立目录的同时 设置目录的权限 |
| -z | 设置安全上下文 |
| -v | 显示目录创建过程 |
rmdir命令
来自英文档次remove directory的缩写,删除空目录文件
| 参数 | 说明 |
|---|---|
| -p | 用递归的方式删除指定目录路径中所有的父目录,非空就报错 |
| -v | 显示命令执行的详细信息 |
rm命令
| 参数 | 说明 |
|---|---|
| -f | 强制删除 |
| -i | 删除前询问 |
| -v | 显示指令的详细执行过程 |
cp命令
来自英文单词copy的锁鞋,将一个或者多个文件复制到指定位置
| 参数 | 说明 |
|---|---|
| -f | 若目标文件存在,直接覆盖 |
| -i | 若目标文件存在,则会询问是否覆盖 |
| -p | 保留源文件或目录的所有属性 |
| -r | 递归复制文件和目录 |
| -d | 复制符号链接时,吧目标文件或目录也建立符号链接,并只想源文件的原始位置 |
| -l | 对源文件建立硬链接,而非复制文件 |
| -s | 建立符号链接 |
| -b | 覆盖已经存在的文件目标前 将文件备份 |
| -v | 显示执行过程 |
| -a | 等价“pdr” |
mv命令
来自英文档次move的缩写,对文件进行剪切和重命名
| 参数 | 说明 |
|---|---|
| -i | 若存在同名文件,则向用户询问是否覆盖 |
| -f | 覆盖已有文件时,不进行任何提示 |
| -b | 当文件存在时,覆盖前为其提供备份 |
| -n | 不覆盖任何已经存在的文件 |
| -u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动操作 |
cat命令
来自英文单词concatenate的缩写,查看文件内容,适合查看内容比较少的文件
| 参数 | 说明 |
|---|---|
| -n | 显示行数(空行也算) |
| -s | 显示行数(多个空行算一个) |
| -b | 显示行数(空行不算) |
| -E | 每行结束时显示$ |
move命令
用于分页显示文本文件内容,如果文本文件内容过长,使用cat命令读取后则很难看清,这时使用more命令进行分页查看就更加合适
| 参数 | 说明 |
|---|---|
| -num | 指定没屏显示的行数 |
| -l | more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 |
| -f | 计算实际的行数,而非自动换行的行数 |
| -p | 先清除屏幕再显示文本文件的剩余内容 |
| -c | 与-p相似,不滚屏,先显示内容再清除旧内容 |
| -s | 多个空行压缩成一行显示 |
| -u | 禁止下划线 |
| +/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
| +num | 从第 num 行开始显示 |
less命令
分屏查看文件内容,功能和more 类似,但是比more 指令更加强大,支持各种终端显示,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
| 参数 | 说明 |
|---|---|
| -b | 设置缓冲区的大小 |
| -e | 当文件显示结束后自动退出 |
| -f | 强制打开文件 |
| -g | 只标志最后搜索的关键词 |
| -i | 忽略搜索时的大小写 |
| -m | 显示阅读进度百分比 |
| -N | 显示每行的行号 |
| -o | 将输出的内容在指定文件中保存起来 |
| -Q | 不使用警告音 |
| -s | 显示连续空行为一行 |
| -S | 在单行显示较长的内容,而不换行显示 |
| -x | 将TAB字符显示为指定个数的空格字符 |
echo命令
输出字符串或提取后的变量值
| 参数 | 说明 |
|---|---|
| -n | 不输出结尾的换行符 |
| -e “\a” | 发出警告音 |
| -e “\b” | 删除前面的一个字符 |
| -e “\c” | 结尾不加换行符 |
| -e “\f” | 换行,光标扔停留在原来的坐标位置 |
| -e “\n” | 换行,光标移至行首 |
| -e “\r” | 光标移至行首,但不换行 |
| -E | 禁止反斜杠转移,与-e参数功能相反 |
head命令
显示文件开头的内容,默认十行
| 参数 | 说明 |
|---|---|
| -n<数字> | 定义显示行数 |
| -n<数字> | 指定显示头部内容的字符数 |
| -v | 总是显示文件名的头信息 |
| -p | 不显示文件名的头信息 |
tail命令
用于查看文件尾部内同,默认10行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。
| 参数 | 说明 |
|---|---|
| -c | 输出文件尾部的N(N为整数)个字节内容 |
| -f | 持续显示文件最新追加的内容 |
| -n | 输出文件的尾部N(N位数字)行内容 |
| -–retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。 |
| –pid=<进程号> | 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
ln命令
来自英文单词link的缩写,用于为某个文件在另一个位置建立同步的链接
linux的链接方式分为:硬链接,软链接
源文件被删除之后,通过软连接建立的快捷方式,也不能使用,而硬链接是通过将文件中的inode属性进行复制,因此吧源文件删除之后,硬链接的文件依然可以正常使用
| 参数 | 说明 |
|---|---|
| -b | 为每个已存在的目标文件创建备份文件 |
| -d | 此选项允许“root”用户建立目录的硬链接 |
| -f | 强制创建链接,即使目标文件已经存在 |
| -n | 把指向目录的符号链接视为一个普通文件 |
| -i | 交互模式,若目标文件已经存在,则提示用户确认进行覆盖 |
| -s | 对源文件建立符号链接,而非硬链接 |
history命令
显示与管理历史命令记录。Linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作
| 参数 | 说明 |
|---|---|
| -a | 写入命令记录 |
| -c | 清空命令记录 |
| -d | 删除指定序号的命令记录 |
| -n | 读取命令记录 |
| -r | 读取命令记录到缓冲区 |
| -s | 将指定的命令添加到缓冲区 |
| -w | 将缓冲区信息写入到历史文件 |
时间日期常用命令
date命令
用来显示和设置系统时间
| 参数 | 描述 |
|---|---|
| -d | 时间运算规则,date会将当前时间做指定运算,然手输出运算后的时间 |
| -I | 按照iso-8610 的标准输出输出时间 |
| -r | 显示文件最后被修改的时间 |
| -s | 根据-s 指定的内容设置系统时间 |
| -u | 显示格林威治时间 |
| -f | 可将-d 参数指定的运算规则写入文件中,通过-f参数指定文件路径,date命令逐行读取文件,并按照此文件指定的运算规则输出运算后的时间 |
常用格式
- %y 年份最后两位数字(00…99)
- %Y 年份
- %m 月份范围(01…12)
- %d 一月中的一天(01…31)
- %M 分钟
- %H 小时
- %S 秒
- %t 水平制表符
- %F 完整的日期;等价于%+4Y-%m-%d
cal命令
显示日历
| 参数 | 说明 |
|---|---|
| -l | 单月份输出日历 |
| -3 | 显示近三个月的日历 |
| -s | 将星期天作为第一天 |
| -m | 将星期一作为第一天 |
| -j | 显示在当年中的第几天 |
| -y | 显示当年的日历 |
用户管理命令
useradd 命令
创建并设置用户信息
| 参数 | 说明 |
|---|---|
| -m | 创建用户时同时打开用户的家目录(/home/用户名) |
| -d | 指定用户的家目录路径 |
| -s | 指定用户的登录shell |
| -g | 指定用户的初始组 |
| -G | 指定用户的附加组 |
| -c | 指定用户的注释 |
| -p | 设置用户密码 |
| -u | 指定用户id |
| -e | 用户终止日期,日期格式为YYYY-MM-DD |
| -f | 用户过期几日后永久停权。当值为0时 用户立即被停权,-1 关闭此功能,预设值为-1 |
passwd命令
修改用户的密码值
| 参数 | 说明 |
|---|---|
| -d | 删除已有密码 |
| -l | 锁定用户的密码值,不允许被修改 |
| -u | 解锁用户的密码值,允许被修改 |
| -e | 下次登录强制修改密码 |
| -k | 用户在期满后仍能使用 |
| -S | 查询密码状态 |
su命令
切换用户身份
| 参数 | 说明 |
|---|---|
| - | 完全身份变更 |
| -c | 执行完指定的命令之后,即恢复原来的身份 |
| -f | 适用于csh与tcsh,使shell不去读取启动文件 |
| -l | 改变身份时同时也变更工作目录 |
| -m | 改变身份时,不要变更环境变量 |
| -s | 指定要执行的shell |
id 命令
显示用户与用户组的信息
| 参数 | 说明 |
|---|---|
| -g | 显示用户所属群组id |
| -G | 显示用户扩展群组id |
| -n | 显示用户所属群组或扩展群组的名称 |
| -r | 显示实际id |
| -u | 显示用户id |
who命令
用于显示当前登录用户信息,包含登录的用户名、终端、日期 时间 进程等信息
| 参数 | 说明 |
|---|---|
| -a | 全面信息 |
| -b | 系统最近启动时间 |
| -d | 死掉的进程 |
| -l | 系统登录进程 |
| -H | 带有列标题打印用户名,终端和时间 |
| -t | 系统上次锁定时间 |
| -u | 已登录用户列表 |
userdel命令
删除用户信息
| 参数 | 说明 |
|---|---|
| -f | 强制删除账号 |
| -r | 删除用户主目录及其中的任何文件 |
sudo命令
授权普通用户指定管理员命令
- sudo命令来自英文单词“super user do”的缩写,超级用户才能干的事情
- 配置sudo服务可以直接编辑 /etc/sudoers
usermod
修改用户账号信息
| 参数 | 说明 |
|---|---|
| -c<备注> | 修改备注文字 |
| -d<登入目录> | 修改家目录 |
| -e<有效期效> | 修改有限期效 |
| -f<缓冲天数> | 缓冲天数 |
| -g<群组> | 所属群组 |
| -G<裙子> | 附加群组 |
| -l <账号名称> | 账号名称 |
| -L | 锁定用户密码 |
| -s | 修改用户登入后使用的shell |
| -u | 修改用户id |
| -U |
用户组管理常用命令
groupadd命令
创建新的用户组
| 参数 | 说明 |
|---|---|
| -g | 指定新建工作组的id |
| -r | 创建系统工作组 |
| -K | 配置覆盖文件“/etc/login.defs” |
| -o | 允许添加组id 不唯一的工作组 |
groupdel命令
删除用户组
用于删除指定工作组,本命令主要修改的系统文件包括/etc/group,/etc/gshadow
# 删除user1 工作组
groupdel user1
# 查看工作组是否删除成功
more /etc/group|grep user1
groupmod命令
更改群组识别码或者名称
用户名不要随意更改,组名和GID也不要随意更改,建议先删除 ,然后在创建
| 参数 | 说明 |
|---|---|
| -g | 设置使用的群组识别码 |
| -o | 重复使用群组识别码 |
| -n | 设置与使用的群组名称 |
文件基本系统
-
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
-
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
-
在 Linux 中我们可以使用
ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。 -
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
- d:目录
- -:文件
- l:link,表示为链接文件
- b:表示为装置文件里面的可供存储的设备接口
- c:表示为装置文件里面的串行端口设备
接下来字符中。以三个为一组。且均为rwx的三个参数组合,其中r代表可读(read)、w代表可写(write)、x代表可执行(execute),要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现-
每个文件的属性由左边的第一部分的10个字符来确定
- 第 0 位确定文件类型,
- 第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限。
- 第7-9位确定其他用户拥有该文件的权限。
- 第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限。
- 第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限。
- 第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
如果查看的是文件:连接数值得是硬链接的个数
如果查看的是文件夹:链接数值得是子文件夹的个数
文件权限常用命令
chmod命令
改变文件或目录权限
chmod命令来自英文单词change mode的缩写,默认只有超级管理员和文件的所有者可以设置文件权限
设置权限时候可以使用数字法和字母表达式,对于目录文件,需要使用-R参数对其进行递归操作
文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
字母表达式语法:chmod [ {ugoa} {+-=} {rwx} ] 文件或目录
u:表示未见得所有者
g:表示与该文件拥有者属于用一个组
o:表示其他人
a:三者皆是
+:增加权限
-:取消权限
=:唯一设定权限
数字表达式语法:chmod [ mode=421 ] 文件或目录
| # | 权限 | rwx | 二进制 |
|---|---|---|---|
| 7 | 读+写+指定 | rwx | 111 |
| 6 | 读+写 | rw- | 110 |
| 5 | 读+执行 | r-x | 101 |
| 4 | 只读 | r-- | 100 |
| 3 | 写+ 执行 | -wx | 011 |
| 2 | 只写 | -w- | 010 |
| 1 | 只执行 | --x | 001 |
| 0 | 无 | --- | 000 |
chown命令
改变文件或目录得所有者和用户组信息
chown 来自 change owner,管理员可以改变一切文件得所属信息,普通用户只能修改自己文件得所属信息
语法:chown [参数] 所属主:所属组 文件
| 参数 | 说明 |
|---|---|
| -R | 递归修改当前目录下所有文件 和 目录 |
| -c | 显示所属信息变更 |
| -f | 若该文件拥有者无法被更改也不要显示错误 |
| -h | 只对于链接文件进行变更,而非真正指向的文件 |
| -v | 显示拥有者变更的详细资料 |
chgrp命令
更改文件用户组
chgrp 是 change group得缩写,用来变更文件得所属群组
语法:chown [参数] 所属组 文件
| 参数 | 说明 |
|---|---|
| -c | 效果类似”-v”参数,但仅回报更改的部分 |
| -f | 不显示错误信息 |
| -h | 对符号连接的文件作修改,而不更动其他任何相关文件 |
| -R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
| -v | 显示指令执行过程 |
| –reference | 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同 |
搜索查找类
find 查找文件或者目录
find指令将从指定目录向下递归遍历其各个子目录,将满足条件得显示在终端
-
基本语法
find [搜索范围] [选项]
-
选项说明
选项 功能 -name<查询方式> 按照指定得文件名查找模式查找文件 -user<用户名> 查找属于指定用户名所有文件 -size<文件大小> 按照指定得文件大小查找文件,单位为: b -------- 块(512字节) c -------- 字节 w -------- 字(2字节) k -------- 千字节 M -------- 兆字节 G -------- 吉字节 -group 匹配所有组 -mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前) -atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前) -ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) -nouser 匹配无所有者的文件 -nogroup 匹配无所有组的文件 -newer f1 !f2 匹配比文件f1新但比f2旧的文件 -type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) -
案例实操
# 按文件名:根据名称查找/目录下的filename.txt 文件 [root@hadoop100 ~]# find /root -name '*.txt' # 按照拥有者: 查找/opt目录下,用户名称为-user得文件 [root@hadoop100 ~]# find /opt -user shudun # 按照文件大小:查找/opt 目录下,大于10M得文件 [root@hadoop100 ~]# find /root -size +10M
locate快速定位文件路径
locate 指令利用事先建立的系统中所有文件名称及路径得locate 数据库实现快速定位给定的文件。Locate 指令无需便利整个文件系统,查询速度更快。为了保证查询结果得准确性,管理员必须定时更新locate时刻
-
基本语法
locate [选项] 搜索文件
-
经验技巧
由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatadb 指令创建locate 数据库
-
选项说明
选项 说明 -c 只输出找到得数量 -d 指定数据库所在得目录 -i 忽略大小写 -
案例实操
[root@hadoop100 ~]# updatedb // 更新数据库
[root@hadoop100 ~]# locate tmp // 查找tmp 文件
grep过滤查找及"|"管道符
管道符,“|”,表示将前一个命令处理得结果输出传递给后面得命令处理
- 基本语法
grep 选项 查找内容 源文件
-
选项说明
选项 功能 -n 显示匹配行及行号 -
案例实操
# 查找某文件在第几行 [root@hadoop100 ~]# ls | grep -n boot initial-setup-ks.cfg
压缩和解压类
gzip / gunzip 压缩
-
基本语法
gzip 文件 (功能描述:压缩文件。只能将文件压缩成 *.gz 文件)
gunzip 文件.gz (功能描述:解压文件命令)
- 经验技巧
- 只能压缩文件不能压缩目录
- 不保留原来文件
- 同时多个文件会产生多个压缩包
- 案例实操
# 压缩文件 [root@hadoop100 ~]# ls aaaa.txt [root@hadoop100 ~]# gzip aaaa.txt [root@hadoop100 ~]# ls aaaa.txt.gz # 解压文件 [root@hadoop100 ~]# gunzip aaaa.txt.gz [root@hadoop100 ~]# ls aaaa.txt
zip/unzip 压缩
-
基本语法
zip [选项] XXX.zip 将要压缩得内容 (功能描述:压缩文件和目录得命令)
unzip [选项] XXX.zip (功能描述:解压文件)
-
选项说明
zip选项 功能 -r 压缩目录 -s 包含系统和隐藏文件 -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同 -f 更新现有的文件 unzip 选项 功能 -d<目录> 指定解压后文件存放目录 -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换 -f 更新现有的文件 压缩文件中的文件名称区分大小写 -
惊讶技巧
zip 压缩命令在 window/linux 都通用
-
案例实操
# 压缩文件 并修改目录名称 [root@hadoop100 ~]# ls aaaa.txt initial-setup-ks.cfg [root@hadoop100 ~]# zip myzip.zip aaaa.txt initial-setup-ks.cfg adding: aaaa.txt (deflated 60%) adding: initial-setup-ks.cfg (deflated 47%) [root@hadoop100 ~]# ls aaaa.txt initial-setup-ks.cfg myzip.zip # 解压文件 [root@hadoop100 ~]# unzip myzip.zip -d /root/公共 Archive: myzip.zip inflating: /root/公共/aaaa.txt inflating: /root/公共/initial-setup-ks.cfg
tar打包
-
基本语法
tar [选项] xxx.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的格式.tar.gz)
-
选项说明
选项 功能 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件 -C 解压到指定目录 -
案例实操
# 压缩多个文件 并指定输出目录 [root@hadoop100 ~]# tar -zcvf mytar.tar.gz aaaa.txt initial-setup-ks.cfg anaconda-ks.cfg aaaa.txt initial-setup-ks.cfg anaconda-ks.cfg [root@hadoop100 ~]# ls aaaa.txt anaconda-ks.cfg initial-setup-ks.cfg mytar.tar.gz # 压缩目录 [root@hadoop100 ~]# tar -zcvf xiyou.tar.gz 公共 公共/ 公共/info 公共/aaaa.txt 公共/initial-setup-ks.cfg # 解压目录 [root@hadoop100 ~]# tar -zxvf xiyou.tar.gz -C /tmp 公共/ 公共/info 公共/aaaa.txt 公共/initial-setup-ks.cfg
磁盘分区常用命令
tree 命令
以树状图列出目录内容,安装方式 yum install tree
-
基本语法
tree [选项]
-
选项说明
选项 说明 -a 显示所有文件和目录 -C 彩色显示 -d 仅显示文件名称 -D 显示文件更改时间 -f 显示完整的相对路径名称 -g 显示文件所属群组名称 -i 不以阶梯状列出文件和目录 -l 直接显示连接文件所指向的原始目录 -n 不在文件和目录清单上加上色彩 -N 直接列出文件和目录名称 -p 列出权限标示 -P<范本样式> 只显示符合范本像是的文件或目录名称 -s 列出文件或目录大小 -t 用文件和目录的更改时间排序 -u 列出文件或目录的拥有者名称 -x 将范围局限在现行的文件系统中 -L 层级显示
du 查看文件和目录占用磁盘空间
du:disk usage 磁盘占用情况
-
基本语法
du [选项] 目录/文件 (功能描述:显示目录下每个子目录的磁盘使用情况)
-
选项说明
选项 说明 -h 以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示 -a 不仅查看子目录大小,还要包括文件 -c 显示所有的文件和子目录大小后,显示总和 -s 只显示总和 --max-depth=n 指定统计子目录挨的深度为n层 -exclude=<目录或文件> 略过指定的目录或文件 -
案例实操
# 查看当前用户主目录占用的磁盘空间大小 [root@hadoop100 ~]# du -sh 112M .
df 查看磁盘空间使用情况
df:disk free 空余磁盘
-
基本语法
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
-
选项说明
选项 说明 -h 以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示 -a 显示所有系统文件 -B <块大小> 指定显示时的块大小 – -sync 在取得磁盘使用信息前,先执行sync命令
-
案例实操
# 查看磁盘使用情况 [root@hadoop100 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 13M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda3 45G 5.2G 40G 12% / /dev/sda1 1014M 169M 846M 17% /boot tmpfs 394M 12K 394M 1% /run/user/42 tmpfs 394M 0 394M 0% /run/user/0
free命令
显示系统内存使用情况,包含物理和交换内存的总量,使用量和空闲情况
-
基本语法
free [选项]
-
选项说明
| 选项 | 说明 |
|---|---|
| -h | 以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示 |
| -s | 持续显示内存 |
| -t | 显示内存使用总合 |
-
案例实操
# 以易读的单位显示内存使用量信息 [root@hadoop100 ~]# free -h total used free shared buff/cache available Mem: 3.8G 661M 2.5G 14M 750M 2.9G Swap: 4.0G 0B 4.0G # 以易读的单位显示内存使用量信息,每个10秒刷新一次 [root@hadoop100 ~]# free -hs 10
lsblk 查看设备挂载情况
-
基本语法
lsblk [选项] (说明:查看设备挂载情况)
-
选项说明
选项 说明 -f 查看详细的设备挂载情况,显示文件系统信息 -a 显示所有设备 -b 以字节单位显示设备大小 -d 不显示 slaves 或 holders -e 排除设备 -P 使用key=”value”格式显示
mount/umount 挂载/卸载
对于linux 用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录,一个独立且唯一的文件结构
linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得
-
基本语法
mount [-t vfstype] [-o options] device dir (挂载设备)
umount 设备文件名 或 挂载点 (卸载设备)
-
参数说明
参数 功能 -t vfstype 指定文件系统的类型,通常情况下不必指定,mount 会自动选择正确的类型。通常类型有: 光盘或光盘镜像:ios9660 DOS fat16 文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs 文件系统:ntfs Mount Windows 文件网络共享:smbfs UNIX(LINUX)文件网络共享:nfs -o options 主要用来描述设备或档案的挂载方式。常见参数有: loop:用来吧一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂载设备 iocharset:指定访问文件系统所用字符集 device 要挂载的设备 dir 设备在系统上的挂载点
-
案例实操
- 挂载光盘镜像文件
[root@hadoop100 ~]# mkdir /mnt/cdrom [root@hadoop100 ~]# mount /dev/cdrom /mnt/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载- 卸载光盘镜像文件
[root@hadoop100 ~]# umount /dev/cdrom- 设置开机自启动
[root@hadoop100 ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Wed Nov 1 14:23:32 2023 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=7fa12fac-8902-4262-9726-7fd3b9a82cc0 / xfs defaults 0 0 UUID=e32cb0bc-624a-4a13-8ffe-ae952c8486d9 /boot xfs defaults 0 0 UUID=971d09e8-ae74-44bf-90af-a25a1cfbd670 swap swap defaults 0 0 /dec/cdrom /mnt/cdrom iso9660 defaults 0 0 // 添加此句代码 保存退出
fdisk分区
-
基本语法
fdisk -l (功能描述:查看磁盘分区详情)
fdisk 硬盘设备名 (功能描述:对新增硬盘进行分区操作)
-
选项说明
选项 功能 -l 显示所有硬盘的分区列表 -b 指定每个分区的大小 -
经验技巧
该命令必须在root 用户下才能使用
-
案例实操
# 查看当前系统的分区情况 fdisk -l # 管理指定硬盘的分区 fdisk /dev/sdb
mkfs命令
对设备进行格式化文件系统操作。
-
基本语法
mkfs [选项] [格式] 文件系统
-
选项说明
选项 说明 -V 详细显示模式 -t 给定档案系统的型式 -c 检查该设备是否有损坏
-
案例实操
# 对指定的硬盘进行格式化文件系统操作 [root@hadoop100 ~]# mkfs -t xfs /dev/sdb1 # 对指定的硬盘进行格式化文件系统操作 并输出详细信息 [root@hadoop100 ~]# mkfs -V -t xfs /dev/sdb1
进程管理类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的空间,并占用一定的系统资源
ps 查看当前系统进程状态
ps:process status 进程状态
-
基本语法
- ps aux | grep xxx (功能描述:查看系统中所有进程)
- ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
-
选项说明
选项 说明 a 列出带有终端的所有用户的进程 x 列出当前用户的所有进程,包括没有终端的进程 u 面向用户的友好的显示风格 -e 列出所有进程 -u 列出某个用户关联的所有进程 -f 显示完整格式的进程列表 -
功能说明
-
aux 输出格式
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND- USER:进程拥有者
- PID:进程的id号
- %CPU:占用CPU的百分比,占用越高,进程越耗费资源
- %MEM:占用物理内存的百分比,占用越高,进程越耗费资源
- VSZ:占用虚拟内存的大小,单位为KB
- RSS:该进程占用实际物理内存的大小,单位为KB
- TTY:该进程实在那个终端中运行的,对于CentOS来说,tty1是图形化终端,tty2-tty6是本地字符界面终端,pst/0-255 代表虚拟终端
- STAT:进程状态,常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示、>:优先级高、N:优先级低
- START:该进程的启动时间
- TIME:该进程占用CPU的运算时间,注意不是系统时间
- COMMAND:产生此进程的命令名
-
ps -ef显示信息说明
- UID:用户id
- PID:进程id
- PPID:父进程id
- C:CPU用于计算执行优先级的因子,数值越大,表明进程是CPU密集型运算,执行优先级越低,数值越小,表明进程是I/O密集型运算,执行优先级会提高
- STIME:进程启动时间
- TTY:完整的终端名称
- TIME:CPU时间
- CMD:启动进程所用的命令和参数
-
-
经验技巧
如果想查看进程的
CPU占用率和内存占用率,可以使用aux如果想查看
进程的父进程ID可以使用ef
-
案例实操
# 显示系统中全部的进程信息,含详细信息 [root@hadoop100 ~]# ps aux # 结合管道操作符,将当前系统运行状态中指定进程信息过滤出来 [root@hadoop100 ~]# ps -ef | grep ssh # 显示指定用户信息 [root@hadoop100 ~]# ps -u root
kill 终止进程
-
基本语法
kill [选项] 进程号 (功能描述:通过进程号 杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
-
选项说明
选项 说明 -9 表示强迫进程立即停止 -1 重新加载进程 -15 正常停止一个进程 -
案例实操
-
根据进程号杀死进程
[root@hadoop100 ~]# kill -9 19502 -
通过进程名称杀死进程
[root@hadoop100 ~]# killall firefox
-
pstree 查看进程树
-
基本语法
pstree [选项]
-
选项说明
选项 说明 -p 显示进程PID -u 显示i当前进程的所属用户 -a 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
-
案例实操
-
显示进程PID
[root@hadoop100 ~]# pstree -p | less -
显示进程所属用户
[root@hadoop100 ~]# pstree -u | less
-
top 实时监控系统进程状态
-
基本命令
top [选项]
-
选项说明
选项 说明 -d 秒数 指定top命令每隔几秒更新,默认3秒在top命令的交互模式当中可以执行的命令 -i 是top不显示任何闲置或者僵死的进程 -p 通过指定监控进程id来仅仅监控某个进程的状态 -s 安全模式,不允许交互式指令 -c 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
-
操作说明
操作 说明 p CPU使用率排序,默认就是此项 M 内存使用率排序 N PID 排序 q 退出top -
案例实操
-
以默认格式显示系统运行信息
[root@hadoop100 ~]# top -
每隔5秒刷新一次信息
[root@hadoop100 ~]# top -d 5
-
-
netstat 显示网络状态和端口占用信息
-
基本语法
netstat - anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat -alp | grep 端口号 (功能描述:查看网络端口占用情况)
-
选项说明
选项 说明 -a 显示所有正在监听(listen)和为监听的套接字(socket) -n 拒绝别名显示,能希纳是数字的全部转换成数字 -l 仅列出在监听的服务状态 -p 表示显示那个进程在调用 -
案例实操
-
通过进程号查看sshd网络信息
[root@hadoop100 ~]# netstat -anp | grep sshd
-