当前位置: 首页 > news >正文

linux日常使用命令总结

一、文件复制

在 Linux 中,复制文件是一个常见的操作,通常使用 cp 命令来完成。cp 命令提供了丰富的选项来满足不同的需求。下面是使用 cp 命令复制文件的一些基本用法和示例。

  • 基本用法

cp 命令的基本语法如下:

cp [选项] 源文件 目标文件或目录
  • 常用选项

i:交互模式,在覆盖现有文件之前询问用户。
r: 或 -R:递归复制目录。
v:详细模式,显示复制的详细信息。
p:保留源文件的属性(权限、时间戳等)。
u:仅在源文件比目标文件新或目标文件不存在时复制。

示例
1. 复制单个文件
/path/to/source-file 复制到 /path/to/destination-file
Sh

cp /path/to/source-file /path/to/destination-file

2. 复制目录
/path/to/source-directory 复制到 /path/to/destination-directory
S

cp -r /path/to/source-directory /path/to/destination-directory

3. 复制多个文件到一个目录
将多个文件复制到一个目录:
Sh

cp file1 file2 file3 /path/to/destination-directory

4. 递归复制目录并保留属性
/path/to/source-directory 复制到 /path/to/destination-directory 并保留所有属性:
Sh

cp -rp /path/to/source-directory /path/to/destination-directory

5. 交互模式下复制文件
在覆盖现有文件之前询问用户:

cp -i /path/to/source-file /path/to/destination-file

6. 详细模式复制文件
显示复制过程中的详细信息:

cp -v /path/to/source-file /path/to/destination-file

7. 仅在文件较新时复制
仅在源文件比目标文件新或目标文件不存在时复制:

cp -u /path/to/source-file /path/to/destination-file

示例脚本
假设你需要编写一个脚本来复制一个文件,并在文件已存在时询问用户是否覆盖:

#!/bin/bash# 定义源文件和目标文件路径
source_file="/path/to/source-file"
destination_file="/path/to/destination-file"# 检查目标文件是否存在
if [ -e "$destination_file" ]; thenread -p "目标文件已存在,是否覆盖?(y/N): " answercase "$answer" in[Yy]* ) cp -i "$source_file" "$destination_file";;* ) echo "未覆盖目标文件。"; exit 0;;esac
else# 目标文件不存在,直接复制cp "$source_file" "$destination_file"
fiecho "文件复制完成。"

使用其他工具复制文件
除了 cp 命令之外,还有一些其他工具可以用来复制文件,例如 rsync
1. 使用 rsync 命令复制文件
rsync 命令是一个更加强大的文件复制工具,它支持增量复制,即只复制文件中变化的部分,从而节省了大量的时间和带宽。
示例
复制单个文件

/path/to/source-file 复制到 /path/to/destination-file
Sh

rsync -av /path/to/source-file /path/to/destination-file

复制目录

/path/to/source-directory 复制到 /path/to/destination-directory

rsync -av /path/to/source-directory /path/to/destination-directory

递归复制目录并保留属性

/path/to/source-directory 复制到 /path/to/destination-directory 并保留所有属性:

rsync -avz /path/to/source-directory /path/to/destination-directory

这里的 -z 选项表示启用压缩,可以在远程复制时节省带宽。
使用 tar 命令复制文件
tar 命令主要用于创建和提取存档文件,但它也可以用来复制文件。使用 tar 复制文件的优点是可以一次性复制多个文件,并且可以保留文件属性。
示例
复制单个文件

/path/to/source-file 复制到 /path/to/destination-file

tar cf - /path/to/source-file | tar xf - -C /path/to/destination-file

复制目录

/path/to/source-directory 复制到 /path/to/destination-directory:

tar cf - /path/to/source-directory | tar xf - -C /path/to/destination-directory

二、文件的压缩和解压

1、压缩,tar,zip等
2、解压
解压文件夹下所有文件的脚本命令

#!/bin/bash# 指定包含 .tar文件的目录
dir="/var/lib/clickhouse/backup/20240829/shadow/webfunny_cloud_db/"# 遍历目录中的所有 .tar 文件
for tar_file in $(find "$dir" -type f -name "*.tar"); do# 检查文件是否存在if [ -f "$tar_file" ]; then# 解压每个 .tar 文件echo "Extracting $tar_file..."result="${tar_file%.tar}"aw=$(echo "$tar_file" | awk -F 'default_' '{print $1}')a="default"#mkdir "$result"mkdir "$aw$a"tar -xvf "$tar_file" -C "$aw$a"elseecho "File does not exist: $tar_file"fi
done

以上是linux的一些日常使用命令总结,感兴趣的同学可以直接访问webfunny前端监控和前端埋点系统
在这里插入图片描述


http://www.mrgr.cn/news/22193.html

相关文章:

  • Java XML
  • AtCoder Beginner Contest 370 ABCD题详细题解(C++,Python)
  • 拓扑排序-广度优先遍历思路
  • proxy代理解决vue中跨域问题
  • 数据结构与算法 第12天(排序)
  • VLAN配置学习笔记
  • mac m2 安装 nvm
  • 基于yolov8的肺炎检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 【系统架构设计师】工厂方法设计模式
  • 学生心理健康评估:Spring Boot解决方案
  • 可公开的公开学习分享课
  • 《解锁 C++并发编程:高效的锁机制管理之道》
  • SprinBoot+Vue动漫交流与推荐平台的设计与实现
  • c++ vector模拟实现细节
  • C++入门基础篇
  • 2024年必看的4款录屏新星,谁才是你的菜?
  • 查ASCII码带来的MAN
  • Java——堆
  • C++ 定时器
  • C++——类与对象(二)