shell编程基础(第18篇:更多的文件操作命令介绍)

2024-06-16 01:20

本文主要是介绍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篇:更多的文件操作命令介绍)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065124

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has