操作文件与目录
在 linux 中进行操作文件与目录是使用 Linux 的最基础的一个功能,在linux中不同于Windows和macOS下在图形界面简单拖拽文件就能完成文件移动,在linux中我们更加倾向于在命令行中完成操作
查看当前命令行目录
要想进行文件管理和操作,我们得先知道我们在哪?一般而言,shell环境会显示我们当前的位置,这点我们在 [[Shell#在shell中导航|在shell中导航]] 这一块中有提到,同时,使用pwd命令也可以获取我们目前shell所在的目录
查看文件夹内容
我们主要通过 ls 命令来查看当前文件夹下的内容,ls默认会隐藏目录下 . 开头的文件和文件夹,如果需要将其全部输出可以使用 ls -a 来查看所有文件
有一些项目里还会提供树状图结构的目录,这其实可以通过
tree命令生成,在使用前需要安装
查看文件内容
cat
当我们需要在终端中查看一个文件的内容的时候我们只需要 cat <文件名> 即可
less
less 和 cat 的区别在于, cat 会一次性将所有内容打印到终端中并退出,而less一次只显示一页并且支持向前后滚动和搜索功能,通常情况下less会比cat方便许多
实际上在Linux还有
more和most两个和less类似的指令,但是流行程度不如less
编辑文件内容
这部分内容可见[[编辑器(vim)]]
复制剪切文件和目录
这部分常用的指令是[[cp]]和[[mv]]
cp 命令用于对文件进行复制
# 将 源文件 复制到当前目录下,其名称为后一个参数cp [OPT] <源文件名称> <新文件名称># 将 SOURCE 文件拷贝到 DIRECTORY 目录下,SOURCE 可以为不止一个文件cp [OPTION] SOURCE... DIRECTORYmv的使用方法与cp类似,效果类似Windows下的剪切
# 将 源文件 剪切到当前目录下,其名称为后一个参数(其实就是重命名功能)mv [OPT] <源文件名称> <新文件名称># 将 SOURCE 文件拷贝到 DIRECTORY 目录下,SOURCE 可以为不止一个文件mv [OPTION] SOURCE... DIRECTORY删除文件
使用命令 rm
rm [OPT] <file># 删除文件file1.txtrm file.txt# 删除test目录下所有文件rm -r test/# 尝试强制删除 test1/、test2/、file1.txt 文件和目录。这些文件或者目录可能不存在、有写保护或者没有权限读写rm -rf test1/ test2/ file1.txt除非你的计算机存在特殊备份措施或恢复措施,否则 rm 进行的删除命令是无法还原的
创建文件
使用 touch 命令创建文件
touch file1 file2touch命令的时间功能是修改文件的访问时间和修改时间,类似于摸了一下文件,使其访问和修改时间发生了变化
搜索文件和目录
# 在 PATH路径中根据 表达式 搜索文件find [opt] PATH [表达式]统计文件或文件夹大小
du 命令可以实现文件和文件夹大小的统计,一般而言我们可以直接使用 du -sh 来显示目标文件的总大小,用 du -h -d 1 显示当前目录下的总大小
此外,使用 ncdu 可以用交互式的方式来显示文件和目录的大小,并会按文件大小排序
模式匹配
通配
shell的通配字符主要应用在文件路径的展开上,需要注意的是,通配不是[[正则表达式]],而是更简单的快速选择文件的符号
?匹配一个字符- 如
file?.txt匹配file1.txt,fileA.txt等
- 如
*匹配任意字符- 如
*.py匹配所有.py结尾的文件
- 如
[]匹配方括号中的任意一个字符- 如
[abc].txt匹配a.txt,b.txt,c.txt
- 如
{}列表生成,即扩展为逗号分隔的字符串列表- 如
{test1,test2}.txt会被扩展成test1.txt test2.txt
- 如
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 254 天
部分内容可能已过时