Linux基础操作命令
Linux笔记
一、ls命令
-a 选项 显示隐藏文件
-l 选项 以列表形式展示内容,并展示更多细节
-h选项 需要和-l选项搭配使用,以更人性化的方式显示文件的大小单位
命令组合使用
ls -lah 等同于 ls -l -a -h
二、cd命令
切换命令
三、pwd命令
输出当前所在工作目录
四、相对路径和绝对路径
相对路径:路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后再进入到test,执行的命令为 “#cd /home,#cd test”。此时用户所在的路径为 /home/test。第一个cd命令后紧跟/home,前面有斜杠;而第二个cd命令后紧跟test,前面没有斜杠。这个test是相对于/home目录来讲的,所以称为相对路径。
绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql
五、特殊路径字符
.表示当前目录
..表示上一级目录
~表示用户的Home目录
六、mkdir命令
mkdir用以创建新的目录
mkdir text
1、-p选项的作用
自动创建不存在的父目录,适用于创建连续多层的目录
mkdir -p text/text1/text2
七、touch-cat-more命令
1、touch命令
创建文件命令
touch test.txt
2、cat命令
查看文件命令
cat test.txt
3、more命令
查看文件内容,可翻页查看
使用空格进行翻页,使用 q 键退出查看
八、cp-mv-rm命令
1、cp命令
用于复制文件或者文件夹
cp -r 参数1 参数2
-r选项,可选,用于复制文件夹使用,表示递归
参数1 表示被复制的文件或文件夹
参数2 表示要复制的地方
2、mv命令
移动或者重命名
mv 参数1 参数2
参数1 表示被移动的文件或者文件夹
参数2 表示要移动去的地方。如果目标不存在,则进行改名
3、rm命令
删除命令
rm [-r-f] 参数1 参数2 参数3...参数N
-r选项 删除文件夹时使用
-f选项 用于强制删除
参数表示被删除的文件或者文件路径,支持多个,空格隔开
参数支持通配符 * ,用以模糊匹配
通过su -root,输入密码(和普通用户默认一样)
通过exit命令,退回普通用户
九、which-find命令
1、which命令
查找命令的程序文件
which 要查找的命令
无需选项,只需要参数表示查询那个命令
2、find命令
用于查询指定的文件
按文件名查询(支持使用通配符 * )
find 起始路径 -name "被查找文件名"
按文件大小查询
find 起始路径 -size +—kMG
find / -size -100k 或者 find / -size +100M
按用户或用户组查询
find 起始路径 -user "zxlcentos7"
find 起始路径 -group "zxlcentos7"
3、whereis命令
Linux 中用于快速查找命令、源码和手册页位置的命令。它通过搜索一组预定义的系统目录来定位指定命令的相关信息。
whereis nginx
4、locate命令
用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。当我们不知道某个文件放哪里
,能够通过他快速定位到文件目录,这是一条非常有用的命令。
locate 'test.txt'
十、grep-wc-管道符命令
1、grep命令
通过grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号。
关键字:必填,表示过滤的关键字,带有空格或其他特殊符号使用 “ ” 将关键字包围
文件路径:必填,表示要过滤内容的文件路径。可以作为内容输入端口
2、wc命令
统计文件的行数,单词数量等
wc [-c -m -l -w] 文件路径
选项-c 统计bytes数量
选项-m 统计字符数量
选项-l 统计行数
选项-w 统计单词数量
文件路径 被统计的文件。可作为内容输入端口
3、管道符 |
含义:将管道符左边命令的结果作为右边的输入
cat test.txt | grep -n "linux"
ls /usr/bin | wc -l
cat test.txt | grep -n "linux" | grep -n "hello"
十一、echo-重定向符-tail命令-sort命令
1、echo命令
使用echo命令在命令行内输出指定内容
echo "输出的内容"
无需选项,只要一个参数,表示要输出的内容,复杂内容可用 " " 包围
1.1、反引号 ``
通过将命令用反引号 `` 将其包围,被包围的内容会被作为命令执行,而非普通字符
echo `pwd`
2、重定向符 > 和 >>
1 > 将左侧命令的结果,覆盖写入到符号右侧指定的文件中。
2 >> 将左侧命令的结果,追加写入到符号右侧指定的文件中。
echo "hello linux" > test.txt
echo "hello linux" >> test.txt
3、tail命令
查看文件尾部内容,跟踪文件的最新更改
tail [-f -num] Linux路径
Linux路径 被跟踪的文件路径
-f 表示持续跟踪
-num 表示查看尾部多少行,不填默认10行
4、sort命令
sort命令默认情况下是按第1域进行排序的,也可以按指定某个域进行排序,-k选项就是用于指定域的。sort命令以1表示第1域、以2表示第2域,以此类推。
sort 选项 参数
选项:
| 选项 | 意义 |
|---|---|
| -c | 测试文件是否已经被排序 |
| -k | 指定排序的域 |
| -m | 合并两个已排序的文件 |
| -n | 根据数字大小进行排序 |
| -o | 将输出写到指定的文件,相当于将输出重定向到指定文件 |
| -r | 将排序结果逆向展示 |
| -t | 改变域分隔符 |
| -u | 去除结果中的重复行 |
示例:
sort -nk3 1.txt # 1.txt文件根据第三域进行排序
ps -aux |sort -nk3
ps -ef | sort -rnk2
十二、vi\vim编辑器
1、vi\vim编辑器介绍
vi\vim是visual interface的简称,是Linux中最经典的文本编辑器
同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择
vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编程性
2、vi\vim编辑器的三种工作模式
命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能
此模型下,不能自由进行文本编辑。
输入模式(insert mode)
也就是所谓的编辑模式,插入模式
此模式下,可以对文件内容进行自由编辑
底线命令模式(Last line mode)
以:开始,通常用于文件的保存,退出

1、命令模式
如果需要通过vi\vim编辑器编辑文件,请通过如下命令:
vi 文件路径
vim 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件
命令模式快捷键
| 模式 | 命令 | 描述 |
|---|---|---|
| 命令模式 | i | 在当前光标位置进入 输入模式 |
| 命令模式 | a | 在当前光标位置 之后 进入输入模式 |
| 命令模式 | I | 在当前行的开头 进入输入模式 |
| 命令模式 | A | 在当前行的结尾 进入输入模式 |
| 命令模式 | o | 在当前光标下一行进入输入模式 |
| 命令模式 | O | 在当前光标上一行进入输入模式 |
| 输入模式 | esc | 任何情况下输入esc都能会到命令模式 |
| 命令模式 | 键盘上、键盘K | 向上移动光标 |
| 命令模式 | 键盘下、键盘J | 向下移动光标 |
| 命令模式 | 键盘左、键盘h | 向左移动光标 |
| 命令模式 | 键盘右、键盘L | 向右移动光标 |
| 命令模式 | 0 | 移动光标到当前行的开头 |
| 命令模式 | $ | 移动光标到当前行的结尾 |
| 命令模式 | pageup(Pgup) | 向上翻页 |
| 命令模式 | pangdown(PgDn) | 向下翻页 |
| 命令模式 | / | 进入搜索模式 |
| 命令模式 | n | 向下继续搜索 |
| 命令模式 | N | 向上继续搜索 |
| 命令模式 | dd | 删除光标所在行的内容 |
| 命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
| 命令模式 | yy | 复制当前行 |
| 命令模式 | nyy | n是数字,复制当前行和下面的n行 |
| 命令模式 | p | 粘贴复制的内容 |
| 命令模式 | u | 撤销修改 |
| 命令模式 | Ctrl + r | 反向撤销修改 |
| 命令模式 | gg | 跳到首行 |
| 命令模式 | G | 跳到尾行 |
| 命令模式 | dG | 从当前行开始,向下全部删除 |
| 命令模式 | dgg | 从当前行开始,向上全部删除 |
| 命令模式 | d$ | 从当光标开始,删除到本行的结尾 |
| 命令模式 | d0 | 从当前光标开始。删除到本行的开头 |
2、底线命令模式
在命令模式内,输入:即可进入底线命令模式,支持如下命令:
| 模式 | 命令 | 描述 |
|---|---|---|
| 底线命令模式 | :wq | 保存并退出 |
| 底线命令模式 | :q | 仅退出 |
| 底线命令模式 | :w | 仅保存 |
| 底线命令模式 | :q! | 强制退出 |
| 底线命令模式 | :set nu | 显示行号 |
| 底线命令模式 | :set paste | 设置粘贴模式 |
十三、root用户
1、su和exit命令
su命令就是用于账号切换的系统命令
su - [用户名]
su - root
符号 - 可选,表示是否在切换用户后加载环境变量
参数 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键ctrl + d
使用普通用户切换到其他用户需要输入密码,使用root用户切换到其他用户无需密码,直接切换
2、sudo命令
使用sudo命令,为普通的命令授权,临时以root身份执行
语法:
sudo 其他命令
在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有用户都有权利使用sudo,需要为普通用户配置sudo认证
普通用户配置sudo认证
切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加:用户名 ALL=(ALL) NOPASSWD: ALL
最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码
3、用户和用户组
用户组管理
必须用root用户执行
创建用户组:
groupadd 用户组名
删除用户组:
groupdel 用户组名
修改用户组:
groupmod 用户组名
用户管理
必须用root用户执行
创建用户:
useradd [-g -d] 用户名
useradd -g test -d /home/test1
选项-g 指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在
选项-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
删除用户:
userdel [-r] 用户名
选项-r 删除用户的home目录,不适用-r,删除用户时,保留home目录
查看用户所在组:
id[用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
修改用户所在组:
usermod -aG 用户组 用户名
4、getent命令
使用getent命令,可以查看当前系统中有哪些用户
getent passwd
结果共7份信息。分别是:
用户名:密码(X):用户id:组id:描述信息:home目录:执行终端(默认bash)
getent group
查看当前系统中有哪些用户组
包含3份信息。组名称:组认证(显示未X):组id
十四、用户权限修改
1、chmod命令
只有文件,文件夹的所属用户或者root用户可以修改
chmod [-R] 权限 文件或者文件夹
示例:
chmod u=rwx,g=rx,o=x text.txt
chmod -R u=rwx,g=rx,o=x test
u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
选项:-R 对文件夹内的全部内容应用同样的操作。
权限的数字序号
r——4 读
w——2 写
x——1 执行
chmod 751 text.txt
2、chown命令
修改文件,文件夹的所属用户和用户组。仅用于root用户
chown [-R] 用户:用户组 文件或者文件夹
示例:
chown root text.txt
chown :root text.txt
chown root:root text.txt
-R,同chmod,对文件内全部内容应用相同规则
用户,修改所属用户
用户组,修改所属用户组
**:**用于分隔用户和用户组
十五、快捷键
| 快捷键 | 作用 |
|---|---|
| ctrl + c | 强制停止 |
| ctrl + d | 退出登出 |
| history | 查看历史命令 |
| !命令前缀 | 自动匹配上一个命令 |
| ctrl + r | 搜索历史命令 |
| ctrl + a | e | 光标移动到命令开始或结束 |
| ctrl + ←|→ | 光标左右跳单词 |
| ctrl + l 或者 clear命令 | 清屏 |
十六、安装软件
1、yum命令
yum [-y] [install | remove | search]
选项:-y,自动确认
install:安装
remove:卸载
search:搜索
yum命令需要root权限,需要联网
安装包后缀.rpm
十七、systemctl命令控制软件服务启动、停止、开机自启
systemctl命令
systemctl start | stop | status | enable | disable 服务名
开启 关闭 查看状态 开机启动 关闭开机启动
系统内置服务:
NetworkManager,主网络服务
network,副网络服务
firewalld,防火墙服务
sshd,ssh服务,远程登录
十八、In命令软链接
类似Windows系统中的《快捷方式》
ln -s 参数1 参数2
ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum
-s选项,创建软链接
参数1:被链接的文件或文件夹
参数2:要链接去的位置
十九、日期和时区
1、date命令
date -d +格式化字符串
date +"%Y%m%d %H%M%S"
-d按照给定的字符串显示日期,用于日期计算
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
| 字符串 | 备注 |
|---|---|
| %Y | 年 |
| %y | 年份后两位 |
| %m | 月 |
| %d | 日 |
| %H | 时 |
| %M | 分 |
| %S | 秒 |
| %s | 自1970-01-01 00:00:00 utc 到现在的秒数 |
日期加减
date -d "+1 day" +%Y%m%d 显示后一天日期
date -d "-1 day" +%Y%m%d 显示前一天日期
date -d "+1 month" +%Y%m%d 显示下个月日期
date -d "-1 month" +%Y%m%d 显示上个月日期
date -d "+1 year" +%Y%m%d 显示后一年日期
date -d "-1 year" +%Y%m%d 显示前一年日期
2、修改Linux时区
使用root权限
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件
3、ntp程序
自动校准系统时间
启动并设置开机启动
systemctl start ntpd
systemctl enabld ntpd
手动校准:ntpdate -u ntp.aliyun.com
二十、网络请求与下载
1、ping命令
测试到某服务器是否能连通
ping [-c num] ip或主机名
选项-c,测试的次数。
2、wget命令
进行网络文件下载
wget [-b] url
选项-b,后台下载
3、curl命令
发起网络请求
curl [-O] url
选项-O,用于下载使用。
二十一、进程管理
1、查看进程
ps [-e -f]
ps -ef
ps -aux
选项:-e,显示出全部的进程
选项:-f,已完全格式化的形式展示信息
2、关闭进程
kill [-9] 进程ID
选项:-9,表示强制关闭进程
二十二、主机状态监控
1、查看系统资源占用(top)
top命令
2、磁盘信息监控(df)
df [-h]
选项:-h,以更加人性化的单位显示
du当前目录磁盘占用
du -h
3、网络状态监控(sar)
sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔,num2:查看次数
4、内存使用情况(free)
free -h
free 命令的主要功能是展示系统中空闲的、已用的物理内存及 swap 内存的情况,同时还会报告被内核使用的 buffer 和 cache 的大小。这些信息对于评估系统性能和诊断问题非常有用。
选项:
-b, --bytes: 显示字节单位的输出。
-k, --kilo: 显示千字节(KB)单位的输出(默认)。
-m, --mega: 显示兆字节(MB)单位的输出。
-g, --giga: 显示吉字节(GB)单位的输出。
–tera: 显示太字节(TB)单位的输出。
-h, --human: 自动选择合适的单位(K, M, G 或 T),并以人类易读的格式显示。
-l, --lohi: 显示详细的低内存和高内存统计信息。
-o, --old: 不显示缓冲区调整行(在较新的版本中,默认是包含缓冲区/缓存调整后的空闲内存)。
-s <间隔秒数>, --seconds=<间隔秒数>: 每隔指定秒数刷新一次输出。
-t, --total: 在输出的最后一行添加总计行,该行会给出所有内存的汇总信息。
-V, --version: 显示程序版本信息。
-w, --wide: 使用宽输出格式,确保所有列都能显示完整(适用于有较多内存或交换分区的情况)。
-c <次数>, --count=<次数>: 结合 -s 选项使用时,指定刷新的次数。
5、端口占用(netstat | ss)
netstat -tunlp
ss -tunlp
6、查看IP地址(ifconfig)
ip a
ifconfig
7、后台运行任务
nohup command &
jobs # 查看后台进程列表
fg # 将已经在后台运行的进程放在前台运行
ctrl+z # 暂停进程(将前台运行的进程暂停放在后台)
bg # 将后台暂停的进程继续运行
8、防火墙端口设置
1、开启3306端口
#centos
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#debian
sudo ufw allow 3306/tcp
2、重启防火墙
#centos
firewall-cmd --reload
#debian
sudo ufw enable
sudo ufw reload
3、查看已经开启的端口
#centos
firewall-cmd --list-ports
#debian
sudo ufw status
9、显示当前登录用户(who)
who # 显示当前登录用户信息,包括用户名、终端、时间日期等信息。
who -b # 查询系统最近启动时间
who -r # 查询系统启动等级
users # 显示当前登录系统到所有列表
w命令 # 显示所有以登录到用户
# 日志查看
last # 获取登录成功用户信息
lastb # 获取登录失败用户信息
# 踢出非法用户
killall -u username
10、mount命令
在 Linux 系统中,mount 命令是一个至关重要的工具,它用于将存储设备(如硬盘分区、U 盘、光盘等)挂载到文件系统中,使其可以被访问。无论是管理存储设备、远程文件系统,还是挂载 ISO 镜像,mount 命令都扮演着核心角色。
语法:
mount [选项] 设备文件 挂载点
- 设备文件:指向存储设备的文件路径,如 /dev/sdb1。
- 挂载点:设备将被挂载到的目录,如 /mnt/mydisk。
示例1:挂载U盘
lsblk #查看磁盘分区挂载情况
mkdir -p /mnt/usb # 创建挂载点目录
mount /dev/sdb1 /mnt/usb
挂载完成后,可以通过 ls /mnt/usb 来查看该分区中的文件。
示例2:取消挂载
umount /mnt/usb
umount -l /mnt/usb # 延迟卸载
umount -f /mnt/usb # 强制卸载
当不再需要访问已挂载的设备时,可以使用 umount 命令将其卸载。
示例3:设置开机自动挂载
如果希望设备在系统启动时自动挂载,需要编辑 /etc/fstab 文件。例如:
/dev/sdb1 /mnt/data ext4 defaults 0 2
然后运行以下命令使其生效:
mount -a
二十三、磁盘分区
VM中增加20G硬盘进行挂载示例:
选择虚拟机,右键设置,增加20g的硬盘。设置完后重启虚拟机或者执行下面命令进行刷新:
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
#rhe18以上,新硬盘不重启系统识别
grep mpt /sys/class/scsi_host/host*/proc_name
#/sys/class/scsi_host/host32/proc_name:mptspi
echo "- - -" > /sys/class/scsi_host/host32/scan
1、查看磁盘信息
设置好新硬盘后输入fdisk -l命令看当前磁盘信息
fdisk -l

可以看到除了当前的第一块硬盘外(/dev/sda)还看到了新加的一块sdb硬盘,然后用:fdisk /dev/sdb 对sdb进行分区
2、磁盘分区
fdisk /dev/sdb

进入fdisk命令,输入h可以看到该命令的帮助,按n进行分区(就是NEW)
输入e即分为逻辑分区,按p即分为主分区,我们要将这块盘分为主分区,输入p
到这里输入该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区
First Cylinder是选择该分区的起始磁盘数,这里可自定义也可不做选择,默认是1,如无特殊需求强烈建议选择默认,也就是1来分区(直接按回车)

接下来是定义该分区的大小,如果按默认(按回车)即是使用全部可用存储额,也可以是用M或m单位结尾的数字(大写M是大B的意思,如果输入1M实际上是X8也就是8m的空间),所以输入+1024m之后输入w写入分区,等待结束

再输入fdisk -l 可以看到我们刚才分的一个分区,然后用:mkfs.ext4 /dev/sdb1进行格式化,如有多个分区可把sdb1改成sdb2 sdb3…,用fdisk -l看到每个分区的名字
3、格式化
mkfs.ext4 /dev/sdb1


4、挂载
格式化后可写入硬盘卷标,直接按回车分区好了用mount 挂载一下该分区即可使用了,这里我把它挂载到/data目录下,也可以自建一个目录进行挂载。挂载后是用ROOT用户进行的,其它用户存储时需要调整目录权限!

5、设置开机自动挂载
首先,我们需要知道硬盘分区的详细信息,比如 UUID、文件系统类型等。这些信息可以通过 sudo blkid 命令来查看。
sudo blkid
需要编辑 /etc/fstab 文件
vim /etc/fstan
UUID=fefce799-a371-4dd6-ae7d-163926f94505 /data ext4 defaults 0 2
UUID=fefce799-a371-4dd6-ae7d-163926f94505:硬盘分区的唯一标识符,用来定位需要挂载的分区。
/data:挂载点目录,指定硬盘挂载到的文件夹路径。
ext4 :文件系统类型,根据硬盘实际格式填写,例如 ext4、xfs 或 ntfs。
defaults:挂载选项,表示使用默认设置,包括读写权限、自动挂载等。
0:此字段用于备份设置,通常设为 0 表示不需要备份。
2:表示文件系统检查顺序,根分区一般为 1,其他分区为 2。如果不需要检查可设为 0。
parted命令分区
#创建msdos分区
parted /dev/sdb mklabel msdos
#创建1G的分区,文件系统为xfs
parted /dev/sdb mkpart primary xfs 2048s 1G
#创建2G的分区,文件系统为xfs
parted /dev/sdb mkpart primary xfs 1G 3G
#创建剩余的分区,文件系统为xfs
parted /dev/sdb mkpart primary xfs 3G 100%
#格式化
mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdb3
#挂载
mkdir /mnt/disk
mount /dev/sdb1 /mnt/disk
#创建完分区,要系统主动自检,以便在/dev创建关联设备
udevadm settle
二十四、文件上传下载
1、使用finalshell拖拽上传下载
2、rz,sz命令
通过 yum -y install lrzsz 安装命令
rz进行文件上传
sz 文件,进行文件下载
二十五、压缩与解压
1、tar命令
.tar,称为tarball,归类文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装。
.gz,也常见为.tar .gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
tar [-c -v -x -f -z -C] 参数1 参数2 ...参数N
-c,创建压缩文件,用于压缩模式
-v,显示压缩、解压过程,用于查看进度
-x,解压模式
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z,gzip模式,不适用-z就是普通的tarball格式
-C,选择解压的目的地,用于解压模式
-u,向打包好的包里面追加文件
tar的常用压缩组合
tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式
-z选项如果使用的话,一般处于选项第一个
-f选项,必须在选项最后一个
tar解压
tar -xvf test.tar
解压test.tar,将文件解压到当前目录
tar -xvf test.tar -C /home/zxl
解压test.tar,将文件解压到指定目录(/home/zxl)
tar -zxvf test.tar.gz -C /home/zxl
以gzip模式解压test.tar.gz,将文件解压到指定目录(home/zxl)
-f选项,必须在选项组合体的最后一位
-z选项,建议在开头位置
-C选项单独使用,和解压所需的其他参数分开。
2、zip命令
压缩
zip [-r] 参数1 参数2 ... 参数N
-r,被压缩的包含文件夹的时候,需要使用-r
zip test.zip 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.zip文件内
zip -r test.zip test a.txt
将test文件和a.txt文件,压缩到test.zip
unzip解压
unzip [-d] 参数
-d,指定要解压去的位置,通tar的-C选项
unzip test.zip, 将test.zip解压到当前目录
unzip test.zip -d /home/zxl,将test.zip解压到指定文件内容(/home/zxl)
二十六、定时任务Cron(d)
Cron是Linux系统中以后台进程模式周期性执行命令或指定程序任务的服务软件。默认情况下,安装完Linux操作系统后,Cron服务软件便会启动,服务对应的进程名字为crond,crond服务会定期(默认每分钟检查一次)检查系统中是否有需要执行的任务工作计划。
文件路径:/var/spool/cron
日志路径:/var/log/cron
1、crontab定时任务编辑命令
| 参数 | 含义 |
|---|---|
| -l | 查看定时任务内容。提示:l为list缩写 |
| -e | 编辑定时任务内容。 |
| -i | 删除定时任务内容,删除前会提示确认。 |
| -r | 删除定时任务内容 |
| -u user | 指定使用的用户执行任务 |
利用crontab命令编写定时任务的书写格式一般分为6段(每段之间通过空格来分隔),前5段为时间设定段,第6段为所要执行的命令或者脚本。
* * * * * cmd # 分 时 日 月 周
| 段 | 含义 | 取值范围 |
|---|---|---|
| 第一段 | 代表分钟 | 00~59(00也可以是0) |
| 第二段 | 代表小时 | 00~23 |
| 第三段 | 代表天 | 01~31 |
| 第四段 | 代表月份 | 01~12 |
| 第五段 | 代表星期几 | 0~7(0和7都代表星期日) |
在使用crontab命令编辑定时任务的语法中,除了时间段外,还会包含很多特殊字符。
| 特殊符号 | 含义 |
|---|---|
| * | *号表示任意时间都,实际就是"每"的意思 |
| - | 表示一个时间范围,区间段 |
| , | 表示分隔时间段的意思 |
| /n | n代表数字,即"每隔n单位时间" |
示例:
# 每隔2分钟,执行一次test.sh
*/2 * * * * /bin/sh /opt/test.sh
# 每天凌晨3点半和中午12点半执行一次
30 3,12 * * * /bin/sh /opt/test.sh
# 早上8点到下午18点之间,每隔2小时执行一次
* 8-18/2 * * * /bin/sh /opt/test.sh
# 每天晚上0点,将站点目录/var/www/html下的内容打包备份到/data目录下,并且要求生成不同的备份包名。
00 00 * * * /bin/tar zcf /data/bak_$(date +%F).tar.gz /var/www/html

浙公网安备 33010602011771号