linux(CentOS7) 目录管理、系统管理
目录管理命令
mkdri
- 指定权限创建
-p
递归创建
1
2
3
4
5
6
[root@Cc 20200326]# mkdir -m777 mkdira
[root@Cc 20200326]# ll
总用量 8
drwxrwxrwx 2 root root 4096 3月 25 22:52 mkdira
drwxr-xr-x 2 root root 4096 3月 25 22:39 pwd
[root@Cc 20200326]#
rmdir
- 删除
ls
ls -lk
k、h 为 k、M、G- 大小显示排序
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@Cc lichaocheng]# ls -lhS
总用量 31M
-rw-r--r-- 1 root root 25M 11月 7 23:31 gogs_0.11.91_linux_amd64.tar.gz
-rw-r--r-- 1 root root 5.8M 2月 26 09:29 hugo.filepart
drwxr-xr-x 2 root root 4.0K 2月 7 12:51 C
drwxr-xr-x 3 root root 4.0K 12月 17 11:31 file
drwxr-xr-x 3 root root 4.0K 1月 17 17:34 frp
drwxr-xr-x 2 root root 4.0K 11月 13 10:37 frp1
drwxr-xr-x 8 admin admin 4.0K 1月 16 16:54 gogs
drwxr-xr-x 3 root root 4.0K 11月 28 20:26 harbor
drwxr-xr-x 2 root root 4.0K 12月 19 15:54 hf
drwxr-xr-x 3 root root 4.0K 2月 28 23:03 hugo
pwd
- 当前目录
cd
cd -
cd /root
tree
- 查看目录
tar
tar 基础用法
1
tar [选项] [归档文件名] [要打包/解压的文件或目录]
-
常用选项
-c
:创建新的归档文件-x
:解压归档文件-v
:显示操作过程(详细模式)-f
:指定归档文件名-z
:使用gzip
压缩或解压归档文件-j
:使用bzip2
压缩或解压归档文件-J
:使用xz
压缩或解压归档文件-C
:指定解压到的目标目录
tar
常规操作
-
1. 创建归档文件(不压缩)
将
file1.txt
和file2.txt
打包成archive.tar
1
tar -cvf archive.tar file1.txt file2.txt
-
2. 创建压缩归档文件
-
使用 gzip 压缩(.tar.gz 或 .tgz 文件)
将目录
myfolder/
打包并用gzip
压缩成archive.tar.gz
1
tar -czvf archive.tar.gz myfolder/
-
使用 bzip2 压缩(.tar.bz2 文件)
将目录
myfolder/
打包并用bzip2
压缩成archive.tar.bz2
1 2
tar -cjvf archive.tar.bz2 myfolder/
-
使用 xz 压缩(.tar.xz 文件)
将目录
myfolder/
打包并用xz
压缩成archive.tar.xz
1
tar -cJvf archive.tar.xz myfolder/
-
- 3. 解压归档文件
- 解压 .tar 文件(不压缩)
解压
archive.tar
文件到当前目录1
tar -xvf archive.tar
- 解压 .tar.gz 文件(gzip 压缩)
解压
archive.tar.gz
文件到当前目录1
tar -xzvf archive.tar.gz
- 解压 .tar.bz2 文件(bzip2 压缩)
解压
archive.tar.bz2
文件到当前目录1
tar -xjvf archive.tar.bz2
- 解压 .tar.xz 文件(xz 压缩)
解压
archive.tar.xz
文件到当前目录1
tar -xJvf archive.tar.xz
- 4. 解压到指定目录
将
archive.tar.gz
解压到指定目录/path/to/destination/
1
tar -xzvf archive.tar.gz -C /path/to/destination/
5. 查看归档文件内容
列出
archive.tar.gz
中的文件内容,但不解压
1
tar -tvf archive.tar.gz
- 6. 添加文件到现有归档文件
将
newfile.txt
添加到现有的archive.tar
文件中
1
tar -rvf archive.tar newfile.txt
- 7. 删除归档文件中的指定文件
从
archive.tar
中删除file1.txt
1
tar --delete -f archive.tar file1.txt
tar
实用组合示例
- 备份整个目录并压缩
将
/home/user/data/
目录打包并用gzip
压缩为backup.tar.gz
1
tar -czvf backup.tar.gz /home/user/data/
- 定时备份(结合
cron
)
将
/home/user/data/
目录备份并根据当前日期命名文件,如backup-20240617.tar.gz
1
tar -czvf /backup/backup-$(date +%Y%m%d).tar.gz /home/user/data/
- 提取指定文件
从
archive.tar.gz
中提取file1.txt
1
tar -xzvf archive.tar.gz file1.txt
tar
总结
操作 | 命令 |
---|---|
创建 .tar 文件 |
tar -cvf archive.tar files/ |
创建 .tar.gz 文件 |
tar -czvf archive.tar.gz files/ |
创建 .tar.bz2 文件 |
tar -cjvf archive.tar.bz2 files/ |
解压 .tar 文件 |
tar -xvf archive.tar |
解压 .tar.gz 文件 |
tar -xzvf archive.tar.gz |
解压 .tar.bz2 文件 |
tar -xjvf archive.tar.bz2 |
列出归档文件内容 | tar -tvf archive.tar.gz |
解压到指定目录 | tar -xzvf archive.tar.gz -C /destination |
tar ps
.tar
只是归档,不会压缩文件.tar.gz
和.tgz
是经过gzip
压缩的归档文件.tar.bz2
提供更高压缩率,但速度较慢.tar.xz
提供更高压缩率,适合较大文件
zip/uzip
zip
-
常用选项
-r
:递归压缩目录及其子目录中的所有文件。-q
:安静模式,不显示压缩过程信息。-v
:详细模式,显示详细信息。-m
:压缩后删除源文件。-9
:最大程度压缩文件。
- 例子
1 2 3 4 5
zip example.zip file1.txt zip example.zip file1.txt file2.txt file3.txt zip -r example.zip myfolder/ zip -m example.zip file1.txt file2.txt
uzip
-
常用选项
-l
:列出压缩文件中的内容,但不解压。-d
:指定解压到的目标目录。-o
:覆盖已有文件而不询问。-q
:安静模式,不显示解压过程信息。
-
例子
1 2 3 4 5 6
unzip example.zip unzip -l example.zip unzip example.zip -d /path/to/destination unzip -o example.zip unzip -q example.zip
系统管理
man
可以查看 yum 命令手册,按 q 退出
1
2
3
[root@Cc system]# man -c
您需要什么手册页?
[root@Cc system]# man yum
export(导出环境变量)
- 修改 go 环境变量为例
1
2
3
4
5
6
[root@Cc system]# go env |grep GOPATH
GOPATH="/opt/gopath"
[root@Cc system]# export GOPATH="/root"
[root@Cc system]# go env |grep GOPATH
GOPATH="/root"
[root@Cc system]# export GOPATH="/opt/gopath"
- export -n
删除指定变量
history(查看历史)
- 将当前写入到文件
1
[root@Cc history]# history -w history.txt
- 清楚当前 history
history -c
- 删除所有历史命令
1
2
[root@Cc history]# rm -rf ~/.bash_history
[root@Cc history]# history -c
- 可以配合
history |grep [docker]
查找
date(时间操作)
不让费时间了
clear(清除屏幕)
ctrl + l
uptime(查看系统负载)
1
2
3
[root@Cc history]# uptime
23:33:15 up 5 days, 14:18, 2 users, load average: 0.21, 0.32, 0.31
[root@Cc history]#
free(显示系统内存状况)
[root@Cc history]# free -m
dd(转换或者复制)
百度 填补
任务管理
at(单词任务)
指定时间输入到文件内部
[root@Cc history]# at 17:20 tomorrow
crond(周期任务)
TODO 找时间填补
关机命令
shutdown (关机)
halt
reboot(重启)
poweroff(终止系统运行)
init(改变系统允许级别)
- 0 停机
- 1 单用户模式
- 2 多用户模式
- 3 完全多用户模式
- 4 么有用到
- 5 X11
- 6 重新启动
配置
/etc/inittab
文本操作
- vi
- vim
最后总结
异地备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# 源目录
SOURCE_DIR="/opt/prometheus"
# 目标主机 IP
REMOTE_HOST="172.12.10.36"
# 目标目录
REMOTE_DIR="/home/save/filebrowser/srv/QP/backup"
# 当前日期
DATE=$(date +%Y%m%d)
# 备份文件名
BACKUP_FILE="backup_$DATE.tar.gz"
# 压缩源目录
tar -czvf "$BACKUP_FILE" -C "$(dirname "$SOURCE_DIR")" "$(basename "$SOURCE_DIR")"
# 检查压缩是否成功
if [ $? -eq 0 ]; then
echo "压缩成功,文件名: $BACKUP_FILE"
# 将压缩文件传输到远程服务器
rsync -avz "$BACKUP_FILE" "$REMOTE_HOST:$REMOTE_DIR/"
# 检查传输是否成功
if [ $? -eq 0 ]; then
echo "备份成功到 $REMOTE_HOST:$REMOTE_DIR/"
# 删除本地备份文件(可选)
rm "$BACKUP_FILE"
else
echo "备份传输失败"
fi
else
echo "压缩失败"
fi