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

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、本篇介绍的命令,都是些常见用法,它们更多的用法,大家可以私下再去了解一下呀

http://www.lryc.cn/news/373432.html

相关文章:

  • java如何提取字符串的每一个字符
  • LVS负载均衡:理解IPVS和IPVSADM的内部工作原理
  • c语言回顾-结构体
  • stable diffusion最全插件大全,新手必备指南
  • 大模型开发LangChain简介
  • Camtasia Studio 2024软件最新版下载【安装详细图文教程】
  • 抖音视频素材在哪找无版权?免版权可以剪辑视频素材网站分享
  • Dubbo-使用zookeeper作为注册中心时节点的概述
  • 秋招突击——第四弹——Java的SSN框架快速入门——Maven
  • 【Python】数据处理:CSV文件操作
  • SpringBoot集成Elasticsearch实例
  • 2024.ZCPC.M题 计算三角形个数
  • Java常见设计模式入门与实践
  • 110.平衡二叉树
  • 字符串数组——传递文本的不同方法实例
  • JDBC简介
  • RK3568平台(触摸篇)触摸屏基本原理
  • 【太原理工大学】软件系统安全—分析题
  • 【仪器仪表/电源专题】浮地信号的测试的四种方案对比
  • Centos7安装jdk8或11以及切换方案
  • 计算机二级Access选择题考点—代码篇
  • 海外仓系统如何让海外仓受益,WMS海外仓系统使用指南
  • 贪心-区间问题
  • 算法分析与设计期末考试复习GDPU
  • 分批次训练和评估神经网络模型
  • 【CS.AL】算法核心之分治算法:从入门到进阶
  • leetcode刷题记录:hot100强化训练2:二叉树+图论
  • 湘潭大学信息与网络安全复习笔记2(总览)
  • C语言:头歌使用函数找出数组中的最大值
  • 【技巧】Leetcode 191. 位1的个数【简单】