1. 从零开始:文件与目录的“生”与“死”
刚接触Linux命令行,面对黑漆漆的终端窗口,你是不是有点发怵?别担心,文件管理是咱们在Linux世界里安身立命的第一步,也是最常用、最核心的技能。想象一下,你刚接手一台服务器,或者在自己的云主机上折腾项目,第一件事儿不就是看看有哪些文件,创建自己的目录,整理一下环境吗?今天,我就把自己这些年摸爬滚打总结出来的文件目录操作“秘籍”,用最直白的话分享给你。咱们不搞那些晦涩的理论,直接上手,保证你跟着操作一遍,就能搞定日常80%的文件管理需求。
很多人觉得命令行操作文件不如图形界面拖拽来得直观,其实不然。一旦你熟悉了这几个基础命令,效率能提升好几倍。比如,你要在几十个目录里批量创建一批结构相同的文件夹,或者快速清理一周前的日志文件,用鼠标点恐怕要点到手抽筋,而命令行一行命令就能搞定。咱们先从最基础的“创建”和“删除”说起,这是文件世界的“创世”与“湮灭”。
1.1 文件的创建:从“无”到“有”的魔法
在Linux里,创建一个空文件最常用的命令是 touch。这个命令的名字很有意思,“触摸”一下,文件就出来了。它的基本用法简单到令人发指:
touch filename.txt
执行完这条命令,当前目录下就会多出一个名为 filename.txt 的空文件。你可以用 ls 命令看一眼确认一下。我刚开始学的时候,总喜欢用 ls -l 来查看,因为这样不仅能看见文件,还能看到详细的创建时间、文件大小等信息。你会发现,touch 创建的文件大小确实是0字节,名副其实的“空文件”。
touch 命令的妙用不止于此。它更重要的一个功能是修改文件的时间戳。比如,你有一个旧文件 old.log,想把它最后修改时间更新到现在,而不改变文件内容,直接 touch old.log 就行。这在某些依赖文件时间进行判断的脚本或编译过程中特别有用。当然,一次创建多个文件也是小菜一碟,只需要把文件名依次排开:
touch report1.md report2.md report3.md
这里有个我踩过的小坑提醒你:文件名最好避免使用特殊字符和空格。如果非要使用带空格的名字,比如 my file.txt,你需要用引号把它包起来,像这样 touch "my file.txt",或者用反斜杠转义空格 touch my\ file.txt。不然,系统会把它当成 my 和 file.txt 两个文件来处理,那就不是你想要的结果了。
1.2 文件的删除: irreversible 的“危险”操作
创建了文件,自然就有删除的需求。删除文件用的是 rm 命令,这是 remove 的缩写。但请注意,在Linux命令行下删除文件,默认是没有回收站这个概念的!命令执行成功,文件就真的消失了,恢复起来非常麻烦。所以,使用 rm 命令时,一定要“三思而后行”。
最基本的删除操作是这样的:
rm filename.txt
如果你想删除多个文件,和 touch 一样,空格分隔即可:rm file1 file2 file3。rm 命令有几个参数非常实用,可以说是保命符:
-i(interactive): 交互式删除。每次删除前都会问你一句“是否删除?”。对于新手,我强烈建议你养成使用rm -i的习惯,尤其是删除重要文件时。虽然多敲一下y确认有点麻烦,但能有效防止手滑。rm -i important_document.pdf # 系统会提示:rm: remove regular file 'important_document.pdf'? # 输入 y 确认删除,输入 n 取消。-f(force): 强制删除。忽略不存在的文件,也不提任何警告。这个参数要慎用,通常在你写脚本明确知道要删除什么,并且不想被提示打断时使用。千万不要随意组合rm -rf来删除目录,我们后面会讲到,这是著名的“删库跑路”命令的组成部分之一。- 通配符
*: 这才是体现命令行效率的地方。比如,你想删除当前目录下所有以.tmp结尾的临时文件,不需要一个个找,直接rm *.tmp。再比如,删除所有以backup-开头的文件:rm backup-*。使用通配符时,结合-i参数会更安全:rm -i *.log,这样在删除每一批匹配的文件前都会确认。
我个人的经验是,在操作服务器时,执行 rm 命令前,先敲一遍


3158

被折叠的 条评论
为什么被折叠?



