shell编程基础(第18篇:更多的文件操作命令介绍)
前言
对于文件来说,除了它的文件内容之外,就是对其文件本身的操作,比如我们想要重命名文件、移动文件、复制文件、已经获取文件所在目录,文件名等操作,今天一起学习更多的文件操作相关的命令
basename
用于获取文件名称,非常方便从文件路径中,提取出文件名
$ basename /home/cadi/test_baby.sh
test_baby.sh
还有一种用法是提取url中的host
$ basename https://www.csdn.net/
www.csdn.net
dirname
用于从文件路径中,提取出目录
$ dirname /d/gitCloneShell/myShell/test_subprocess.sh
/d/gitCloneShell/myShell
cd
用于切换当前工作目录
cd myShell/
切换到当前用户主目录(bash会自动将~替换当前用户的主目录,比如/home/cadi,下面三个都能切换到用户的主目录
cd ~
cd
cd $home
切换到上一次的工作目录
cd -
返回上一级工作目录
cd ..
cd是“change directory”的缩写
touch
常用于创建一个文件
touch baby.txt
mkdir
创建一个空的目录
mkdir baby
pwd
查看当前工作目录
$ pwd
/c/Users/cadi2
mv
重命名文件,第一个参数是旧的文件名,第二个参数是新的文件名,由于在同一级工作目录下,此时为重命名文件名
$ mv test_baby.sh test_new_baby.sh

移动文件,此时第二个参数为目录,这时候的作用是剪切文件(移动文件)
$ mv test_new_baby.sh ../myNewShell/
stat
用于查看一个文件的属性,比如什么时候创建的啊,修改又是什么时间,文件有多大,等等
$ stat test_jingze_for.sh
File: test_jingze_for.sh
Size: 166 Blocks: 1 IO Block: 65536 regular file
Device: 8e725443h/2389857347d Inode: 1688849860275231 Links: 1
Access: (0644/-rw-r--r--) Uid: (197609/ cadi2) Gid: (197609/ UNKNOWN)
Access: 2024-06-15 15:47:36.439819000 +0800
Modify: 2023-08-14 21:34:45.462746800 +0800
Change: 2023-09-24 22:13:29.199074100 +0800
Birth: 2023-08-14 21:25:41.863446100 +0800
rm
用于删除文件
$ rm test_jingze_for.sh
也可用于删除非空的目录(慎用)
rm -fr myNewShell/
或者
rm -rf myNewShell/
find
用于查找文件,比如基于文件名,"test*",这个双引号必须加,不然会将*识别为文件名扩展,""会让文件名扩展失效
$ find -name "test*"
./test_jingze_for.sh
./test_subprocess.sh
总结
1、ls、chown、chmod、可以查看文件权限的命令,我这篇没有介绍,下一篇介绍这三个命令
2、本篇介绍的命令,都是些常见用法,它们更多的用法,大家可以私下再去了解一下呀
相关文章:
shell编程基础(第18篇:更多的文件操作命令介绍)
前言 对于文件来说,除了它的文件内容之外,就是对其文件本身的操作,比如我们想要重命名文件、移动文件、复制文件、已经获取文件所在目录,文件名等操作,今天一起学习更多的文件操作相关的命令 basename 用于获取文件名…...
java如何提取字符串的每一个字符
java如何提取字符串每一个字符并转换为一个字符数组 这里需要用到toCharArray()语句 语法格式是 str.toCharArray(); 其中 str是字符串 示例代码如下 public class StringToArray {public static void main(String[] args) {String str"这是一个字符串";char[…...
LVS负载均衡:理解IPVS和IPVSADM的内部工作原理
LVS 负载均衡工作模式 LVS(Linux Virtual Server) 共有三种工作模式:DR、Tunnel、NAT。 DR(Direct Routing): 技术原理:DR模式下,LVS调度器接收到请求后,直接通过MAC地址…...
c语言回顾-结构体
前言 在前面的学习中,我们知道C语言提供了许多内置类型,如:char、short、int、long、float、double等,但是只有这些内置类型还是不够的。当我们想描述学生,描述一本书,这时单一的内置类型是不行的。描述一个…...
stable diffusion最全插件大全,新手必备指南
Stable diffusion30个必备插件推荐,给我点个赞吧,兄弟们 1,ComfyUI,SD扩展里面直接搜索就行, ComfyUI 是一个基于节点操作的UI界面,玩过建模的更容易学 安装后大概是这样的 评价:comfyui,更适…...
大模型开发LangChain简介
LangChain 是一个用于构建大型语言模型 (LLM) 驱动应用程序的开发框架。它提供了强大的工具和功能,帮助开发者更高效地使用语言模型来构建复杂的应用程序。 LangChain 的主要功能和特点 1、模块化设计: LangChain 采用模块化设计,分为多个…...
Camtasia Studio 2024软件最新版下载【安装详细图文教程】
Camtasia是美国TechSmith公司出品的一款集电脑屏幕录制、视频剪辑为一体的软件套装。同时包含Camtasia 录制器、Camtasia Studio(编辑器)、Camtasia 菜单制作器、Camtasia 剧场、Camtasia 播放器和Screencast的内置功能。 安 装 包 获 取 地 址&#x…...
抖音视频素材在哪找无版权?免版权可以剪辑视频素材网站分享
在抖音视频制作中,素材的选择至关重要。今天,我就为大家推荐几个宝藏网站,帮你找到既好用又无版权纠纷的视频素材。无论你是新手还是老手,这些网站都能满足你的需求。 蛙学府 首先推荐的是蛙学府。这个网站提供丰富的视频素材&am…...
Dubbo-使用zookeeper作为注册中心时节点的概述
本文内容很容易理解,会阐述当dubbo使用zookeeper作为注册中心时候,zookeeper节点是什么样子的 本文的代码使用的dubbo版本是2.7.x,几年前的版本了,但是不影响探究 首先我们创建一个简单的maven项目,然后写出一段dubb…...
秋招突击——第四弹——Java的SSN框架快速入门——Maven
文章目录 引言Maven分模块开发与设计分模块开发的过程 依赖管理可选依赖与排除依赖 继承与聚合聚合继承 属性和版本管理属性扩大集中管理的范围版本管理 多环境开发多环境开发 私服简介安装私服资源操作流程分析上传和下载 总结 引言 前一个部分花了太多时间,后续得…...
【Python】数据处理:CSV文件操作
CSV 文件(Comma-Separated Values,逗号分隔值文件)是一种常见的文本文件格式,用于存储表格数据。它的特点是用逗号或其他特定字符(如分号、制表符等)来分隔不同的字段,每行代表表格中的一条记录…...
SpringBoot集成Elasticsearch实例
SpringBoot项目集成Elasticsearch实例 导包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>配置es连接 spring:data:elasticsearch:cluster…...
2024.ZCPC.M题 计算三角形个数
题目描述: 小蔡有一张三角形的格子纸,上面有一个大三角形。这个边长为 的大三角形, 被分成 个边长为 1 的小三角形(如图一所示)。现在,小蔡选择了一条水平边 删除(如图二所示),请你找出图上剩余…...
Java常见设计模式入门与实践
设计模式是软件开发中被反复应用的、为解决特定问题而总结出的最佳实践。它们提供了开发可重用、灵活和高效软件系统的方法。在Java中,设计模式可以帮助开发者编写更高质量的代码。以下是Java中一些常用设计模式的入门介绍及其实践示例。 1. 单例模式 (Singleton P…...
110.平衡二叉树
给定一个二叉树,判断它是否是 平衡二叉树 题解:平衡二叉树 是指该树所有节点的左右子树的深度相差不超过 1。可以采用递归遍历每一个节点,得到其高度,在判断高度时不可避免的要用到其左右子树的高度,所以可以顺便判断出…...
字符串数组——传递文本的不同方法实例
一、实例化一个文本并在文本上直接显示接收的信息 1、制作一个预制体 (1) UI-Text (TMP),TitleText (2) 给Text (TMP)添加Recipients.cs组件 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine;public class Recipi…...
JDBC简介
JDBC最基本的知识点要求理解并会使用下边的两个案例即可: 前言: Jdbc操作步骤简析: 1.Connection connDriverManager.getConnection(url,账号,密码):用DriverManager类的连接方法根据url账号密码连接数据库…...
RK3568平台(触摸篇)触摸屏基本原理
一.触摸屏概述 触摸屏作为一种新的输入设备,它是目前最简单、方便、自然的一种人机交互方式。 触摸屏又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置;当接触了屏幕上的图形按钮时,屏幕上的触觉…...
【太原理工大学】软件系统安全—分析题
OK了,又是毫无准备的一场仗,我真是ありがとうございます 凸^o^凸 根据前几年传下来的信息,所谓“分析”,就是让你根据情节自行设计,例如如何设计表单等,这类多从实验中出,王老师强调好好做实验一…...
【仪器仪表/电源专题】浮地信号的测试的四种方案对比
接地信号和浮地信号区别 所有的电压测量都是差分测量,差分测量定义为两点之间的电压差。所以会分成两类: 1.参考地电平测量(有时也叫接地信号) 2.非参考地电平测量(也称为浮地测量) 测试信号可以分为接地信…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
