linux日常使用命令总结

news2024/11/14 14:20:11

一、文件复制

在 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" ]; then
  read -p "目标文件已存在,是否覆盖?(y/N): " answer
  case "$answer" in
    [Yy]* ) cp -i "$source_file" "$destination_file";;
    * ) echo "未覆盖目标文件。"; exit 0;;
  esac
else
  # 目标文件不存在,直接复制
  cp "$source_file" "$destination_file"
fi

echo "文件复制完成。"

使用其他工具复制文件
除了 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"
  else
    echo "File does not exist: $tar_file"
  fi
done

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东获得JD商品详情 API 返回值说明||京东商品详情数据采集API接口详解

item_get-获得JD商品详情 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheStri…

了解分布式事务与本地事物基本概念

一、本地事物 1、事物的基本性质 数据库事物的几个特性:原子性、一致性、隔离性、持久性,简称ACID; 原子性:一系列的操作整体不可拆分,要么全成功,要么同时失败。 一致性:数据在事物的前后&am…

SpringMVC上

SpringMVC介绍 MVC模型 MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分: Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用…

Typora教程

1 TyporaChina https://typorachina.com/guide/

【C语言必学知识点七】坚决不允许你还不知道C/C++程序如何对内存进行分区!!!

动态内存管理——详细解读C/C程序中的内存分区 导读一、C/C程序中的内存分区二、常见的动态内存的错误2.1 内存开辟失败后对空指针进行解引用2.2 对已开辟好的空间进行越界访问2.3 free不是有动态函数开辟的空间2.4 free动态内存开辟空间的一部分2.4.1 free函数的底层逻辑 2.5 …

【HarmonyOS】- 内存优化

文章目录 知识回顾前言源码分析1. onMemoryLevel2. 使用LRUCache优化ArkTS内存原理介绍3. 使用生命周期管理优化ArkTS内存4. 使用purgeable优化C++内存拓展知识1. Purgeable Memory总结知识回顾 前言 当应用程序占用过多内存时,系统可能会频繁进行内存回收和重新分配,导致应…

Excel文档的读取【2】

读取了工作簿对象后,下一步就是读取指定的工作表。每个工作簿中,都包含一个或多个工作表。每个工作表,都有一个名称。阿珍收到的Excel文件,由两个工作表组成,分别为“销售商品”和“销售订单数据”。 使用print输出…

基于移动互联网的校内物业报修管理系统设计与实现(论文+源码)_kaic

基于移动互联网的校内物业报修管理系统设计与实现 摘  要 校园后勤服务对于学校的发展至关重要,它不仅是学校管理的基石,也是实现教育目标的关键因素,为学生提供优质的生活环境。如果学校能够提供出色的后勤保障,让师生无需担心…

【生日视频制作】保时捷车主提车交车仪式感AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程保时捷车主提车交车仪式感AE模板修改文字特效广告生成神器素材祝福玩法AE模板工程 怎么如何做的【生日视频制作】保时捷车主提车交车仪式感AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 下载AE模板 安装AE软件 把AE模板导入…

240908-Linux通过ln设置软链接关联大模型文件

在Linux中,您可以使用ln命令来创建软链接(符号链接)。软链接是一种特殊类型的文件,它指向另一个文件或目录。以下是如何设置软链接的步骤: 创建软链接 基本语法: ln -s [目标文件或目录] [软链接的名称]示…

【SpringBoot】电脑商城-12-订单功能

创建订单 1 订单-创建数据表 1.使用use命令先选中store数据库。 USE store;2.在store数据库中创建t_order和t_order_item数据表。 CREATE TABLE t_order (oid INT AUTO_INCREMENT COMMENT 订单id,uid INT NOT NULL COMMENT 用户id,recv_name VARCHAR(20) NOT NULL COMMENT …

碎碎念,只是一些关于人工智能的随笔记录。

🥮随笔 本篇将毫无逻辑,只是写到哪儿算哪儿,只是用来记录着玩儿。 关键学习期的概念 关键学习期(Critical Learning Periods)是一个在生物学和人工智能领域都有研究的概念。在生物学中,关键学习期指的是…

CAN总线的位同步详细讲解

接收方数据采样 (1)CAN总线没有时钟线,总线上的所有设备通过约定波特率的方式确定每一个数据位的时长 (2)发送方以约定的位时长每隔固定时间输出一个数据位 (3)接收方以约定的位时长每隔固定…

数据结构与算法——Java实现 4.数组

目录 一、数组 — 概述 1.定义 2.特点 3.公式 小测试 二、数组的性能 1.空间占用 2.随机访问 三、动态数组 1.实现动态数组 2.新增元素(最后一个元素位置) 3.新增元素、数组扩容 4.检查数组容量 5.类中定义的其他方法 ① 按索引查找元素 ② 返回数组长度…

python例子:相片处理工具(可视化)

作品名称:相片处理工具(可视化) 开发环境:PyCharm 2023.3.4 python3.7 用到的库:sys、os、cv2、numpy、math和random 作品简介:运行例子后,先选择需要处理的图片,然后可对图片进…

鸿蒙开发中实现自定义弹窗 (CustomDialog)

效果图 #思路 创建带有 CustomDialog 修饰的组件 ,并且在组件内部定义controller: CustomDialogController 实例化CustomDialogController,加载组件,open()-> 打开对话框 , close() -> 关闭对话框 #定义弹窗 (CustomDial…

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线…

springboot学习(10)(自定义starter)(自定义mybatis的starter)(解决:java:错误:不支持发行版本?)

目录 一、引言 (1)为什么要学习自定义starter? (2)如何自定义starter? 二、制作一个自定义mybatis-starter (1)需求 (2)步骤 (3)开始实…

SQL各子句的执行顺序

FROM 、WHERE 、GROUP BY 、HAVING、 SELECT、ORDER BY 、LIMIT 执行顺序如下: FROM 子句:确定查询的基础表和视图。 WHERE 子句:基于指定的条件过滤记录。 GROUP BY子句:按指定的列分组结果集中的记录。 HAVING子句&#xff…

网上订餐新体验:SpringBoot技术驱动

1 绪论 1.1 研究背景 随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合[13]。电子商务必将成为未来商务的主流,因此对于餐饮行业来说,…