Linux中常用的文件管理命令

一、文件和目录的建立

文件

touch命令

单一文件的创建

当按下回车后我们就可以在桌面获得一个名字叫file的文件

bash 复制代码
[root@localhost Desktop]# touch file

同步文件访问时间和文件修改时间

由上两图可知touch file这个命令还可以把文件访问时间和文件修改时间变成touch file命令回车后的那一刻

更改文件的访问和修改时间

注意:这个命令中的时间格式为YYYYMMDDHHmm

bash 复制代码
[root@localhost Desktop]# touch -t 202503131313 file

多文件的创建

在同一目录底下的创建

如果我们同时在一个目录底下创建多个文件,那么我们也可以通过touch命令创建多个文件

bash 复制代码
[root@localhost Desktop]# touch file1 file2 file3

在非当前目录下创建文件

比如我想在/root/Desktop/aaa目录下创建一个叫111的文件

bash 复制代码
[root@localhost Desktop]# touch /root/Desktop/aaa/111

gedit

bash 复制代码
[root@localhost Desktop]# gedit file

创建后编辑完save保存后也能创建以file为名的文件

vim

进入vim后在命令模式下按:wq退出保存即可创建出来以file为名的文件

注:

当然你在进入vim后你也可以按i(insert)进入编辑模式

编辑完成后可以按esc退出编辑模式

再在命令模式按:wq退出保存

目录

mkdir命令

目录的创建

跟touch命令差不多可以创建单个也可以创建多个目录

建立多层目录

比如我想在桌面下的bbb目录底下再创建abc目录,并且在abc目录下创建efg目录

bash 复制代码
[root@localhost Desktop]# mkdir -p /root/Desktop/bbb/abc/efg

在非当前目录下创建目录

bash 复制代码
[root@localhost Desktop]# mkdir /root/test

在mkdir目录后跟上你想创建的目录底下的绝对路径


二、文件和目录的删除

rm命令

有提示的删除

在确认删除或不删除时使用y/n来进行确认

bash 复制代码
[root@localhost Desktop]# rm file
rm: remove regular empty file 'file'? y

没有提示的删除(强制删除)-f(--force)

bash 复制代码
[root@localhost Desktop]# rm -f file1

多文件的同时删除(在同一目录下)

当然rm命令也可以同时删除多个文件

bash 复制代码
[root@localhost Desktop]# rm -f file2 file3

三、文件编辑命令

gedit命令

当系统图形开启时可以使用gedit来对文件进行编辑,gedit依赖于图形,只有开启图形时才能使用gedit

gedit file #编辑文件

注意:如果你本身在当前命令行运行的目录下没有这个文件的话,点击save保存后,gedit会自动帮你创建以你gedit后面跟着的字符串为文件名的文件。


vim命令

vim是系统中最最常用的文本编辑命令

vim的模式

  • 浏览模式(命令模式):可以对文件内容进行浏览,也可以对vim的工作方式进行设定
  • 插入模式(编辑模式)【insert】:vim的编辑模式,只有在插入模式下才能对文件内容进行修改
  • 退出模式:当文件内容修修改完毕可以通过退出模式来保存或不保存修改的内容
bash 复制代码
vim file        //进入到vim的浏览模式
                //浏览模式不能编辑文件
                //在浏览模式中按<i>进入插入模式
                //在vim中鼠标不能控制光标用上下左右移动光标
                //按<ESC>退出插入模式
                //按:wq保存更改
                //:q 当vim打开文件后未作任何操作可以直接退出
                //:q! 当vim打开文件后修改文件内容但不想保存可以强制退出

处理vim的异常退出

当vim编写文件时在未保存更改内容被强制关闭,那么vim进入异常模式,当再次用vim打开文件后文件出现异常。

处理方法如下:

#[O] 只读打开文件

#(E) 继续编辑

#(R) 恢复未保存内容编辑

#(D) 删除.swp文件进入编辑

#(Q) 退出当前文件编辑

#(A) 退出vim程序


e.g.

就像这样我在vim的编辑模式下对file的第二行写了abc

但是我直接按了关闭vim,当第二次就会出现异常

如果直接通过桌面图标直接打开file,是不会报错,但是没有恢复上次在vim编辑的东西

如果通过vim再次打开file,就会出现异常

在最下面有一行提示,也就是我上面提到的处理异常的解决方法。

按O打开file以只读模式

在命令模式下按:q退出,此时之前的错误退出前的编辑文件(.file.swp)这个文件通常是隐藏的,还会在所以下次用vim打开file也还是可以按R恢复之前编辑的文字。


按E就是我就打开!我就编辑!

若这个时候按了:wq退出保存后,就会有第一次错误退出的文件残留

可以用rm命令删除(如果不想要了的话)


按R是恢复未保存内容编辑

(注:这里我异常退出了两次是为了展示,第三次用vim打开file选择R恢复后你仍需选择1或2来选择恢复哪个文件,你可以看到修改的日期,修改者等信息进而选择要恢复哪个版本的文件)

选择1或2后恢复后,你可以用rm命令删除另外一个异常退出的缓存文件,或者你发现你恢复错了,你可以再次用vim打开,再执行一遍R恢复,选择正确的需要恢复的文件。

当然你还可以选择0,什么文件都不恢复。


四、查看文件

cat命令

bash 复制代码
[root@localhost Desktop]# cat file
bash 复制代码
cat -b file         ##显示文件内容并显示行号,不显示空行的行号
bash 复制代码
cat -n file         ##显示文件内容并显示行号

这样一对比,效果很明显

less命令

用来分页浏览文件内容(推荐👍)

bash 复制代码
less file            #进入less模式查看file

#less模式中 逐行查看文件内容

逐页查看文件内容

#/关键字 搜索关键字 n 向下匹配 N 向上匹配

有less模式进入到vim 编辑完成:wq退出返回less

#在less中 退出

当然有less就有more


more命令

不推荐使用more命令是因为查看到文件末会退出查看,想再次查看上面的内容需要重新打开more或者less才能查看。


head命令

head通常用来查看文件的前几行

bash 复制代码
head file           ##默认显示文件前10行
bash 复制代码
head -n file     ##n 代表数字 显示文件的前n行

同样有head就有tail


tail命令

tail用来查看文件的后几行

bash 复制代码
tail file        ##默认显示文件后十行
bash 复制代码
tail -n file        ##查看文件后面的n行

五、文件的复制和移动

cp命令

cp用来做文件或目录的复制

cp 文件 目的地文件

#复制原理:

#按照源文件建立新文件

bash 复制代码
cp file file1

将file复制到file1(注:file1如果不存在的话,会自动创建file1)

同理目录也行

bash 复制代码
cp -r aaa bbb
cp -r 目录1 目录2

mv命令

用来做文件或目录的移动和重命名

移文件

bash 复制代码
mv file file1 aaa            ## cp 文件1 文件2 目的地目录

移动原理: 相同设备分区中的文件移动是重命名过程

注:不同分区的文件移动是建立删除过程

可以用ls -i file 查看文件节点号(相当与文件身份证)

同样mv也能移动目录到目录

移目录

bash 复制代码
mv bbb aaa            #将bbb目录移到aaa目录下

重命名

bash 复制代码
mv file newName

六、文件统计命令

file命令

查看文件类型

bash 复制代码
file file        #查看file的真实类型

wc命令

统计文件大小

bash 复制代码
[root@localhost Desktop]# wc file1
1 1 4 file1

注意:字符数是4的原因是abc末尾后有一个隐藏的字符

|-------|---------|
| wc -l | 查看文件行数 |
| wc -m | 查看文件字符数 |
| wc -w | 查看文件单词数 |
| wc -c | 查看文件字节数 |


ls命令

ls通常用于列出文件指定信息

|--------------------|--------------------|
| ls | 显示当前目录中的文件名称 |
| ls file | 显示指定文件名称 |
| ls dir | 显示指定目录中内容的名称 |
| ls -d dir | 显示目录本身的名称 |
| ls -l file | 显示文件属性 |
| ls -l dir(也可以缩写ll) | 显示目录中内容的属性 |
| ls -ld dir | 显示目录本身属性 |
| ls -a dir | 显示目录中所有文件名称包括隐藏文件案 |
| ls -s | 显示文件大小 |
| ls -R dir | 第归显示目录中的内容 |

七、文件批处理

通配符

|-----------------|-----------|
| * | 匹配0~任意字符 |
| ? | 匹配单个字符 |
| [[:alpha:]] | 匹配单个字母 |
| [[:lower:]] | 匹配单个小写字母 |
| [[:upper:]] | 匹配单个大写字母 |
| [[:digit:]] | 匹配单个数字 |
| [[:alnum:]] | 匹配单个数字或字母 |
| [[:punct:]] | 匹配单个符号 |
| [[:space:]] | 匹配单个空格 |

root@localhost Desktop\]# cp SHENGCHAN/\*_d_\* /tmp/SHENGCHAND \&\& cp SHENGCHAN/\*_n_\* /tmp/shengchanN 通过cp分别备份所有的shenchan_d与shengchan_n文件到SHENGCHAND和shengchanN

root@localhost Desktop\]# cp /etc/\*\[\[:digit:\]\]\*.conf /tmp/confback 这句命令的意思是通过cp进行备份etc目录下的匹配含有一个数字的后缀为.conf的文件到tmp目录下的confback

其他通配符也如此类推

字符集合表示方式

[]

条件是或关系是模糊匹配,对象和几个对比匹配

1-10\] 1到10 \[!d-f\]\|\[\^d-f\] 除了d-f以外

{}

精确指定集合中的每一个元素

{1..10} 1-10

{a..c} a-c

相关推荐
Wnq1007242 分钟前
智能巡检机器人在化工企业的应用研究
运维·计算机视觉·机器人·智能硬件·deepseek
tf的测试笔记3 小时前
测试团队UI自动化实施方案
运维·自动化
TDD_06284 小时前
【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
linux·运维·经验分享·centos
x66ccff4 小时前
vLLM 启动 GGUF 模型踩坑记:从报错到 100% GPU 占用的原因解析
linux
头孢头孢4 小时前
k8s常用总结
运维·后端·k8s
遇码4 小时前
单机快速部署开源、免费的分布式任务调度系统——DolphinScheduler
大数据·运维·分布式·开源·定时任务·dolphin·scheduler
William.csj4 小时前
Linux——开发板显示器显示不出来,vscode远程登录不进去,内存满了的解决办法
linux·vscode
爱编程的王小美4 小时前
Docker基础详解
运维·docker·容器
KeithTsui5 小时前
GCC RISCV 后端 -- 控制流(Control Flow)的一些理解
linux·c语言·开发语言·c++·算法
森叶5 小时前
linux如何与windows进行共享文件夹开发,不用来回用git进行拉来拉去,这个对于swoole开发者来说特别重要
linux·git·swoole