前言
对于文件来说,除了它的文件内容之外,就是对其文件本身的操作,比如我们想要重命名文件、移动文件、复制文件、已经获取文件所在目录,文件名等操作,今天一起学习更多的文件操作相关的命令
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、本篇介绍的命令,都是些常见用法,它们更多的用法,大家可以私下再去了解一下呀