Linux下的文件管理命令详解(超全)

  • Post author:
  • Post category:linux

Linux下的文件管理

1、文件管理命令

1)touch :新建文件,修改文件时间戳
touch file1 file2 :建立空文件
touch file :把文件时间同步到当前时间
touch -t YYYYMMDDHHmm file:把文件时间更改到指定时间
在这里插入图片描述
在这里插入图片描述
2)mkdir (make directory)
mkdir dir1 dir2:建立空目录
mkdir -p test/redhat/linux:建立多层目录

3)rm :删除文件或者目录
rm file file1:删除文件有提示
rm -f file:强制删除文件不提示
rm -r dir dir1 :删除目录
rm -rf dir:强制删除目录不提示

4)gedit :图形的文本编辑器
gedit file file1 :编辑文件file file1
这里要说明,gedit 在使用时必须有图形,文件file和file1可以不存在,默认直接新建文件。
在这里插入图片描述
5)vim :文本编辑器
a)vim file进入到vim的浏览模式
浏览模式不能编辑文件,在浏览模式中按 i 进入插入模式
在vim中鼠标不能控制光标进行上下左右移动
按ESC退出插入模式
:wq保存更改并退出
b)vim异常退出
用vim编写文件时,在未保存更改内容被强制关闭时vim会出现异常,此时输入参数D即可解决异常问题。
在这里插入图片描述
在这里插入图片描述

图中各异常参数的意义分别为
O:只读打开文件
E:继续编辑
R:恢复未保存内容编辑
D:删除.swp文件进入编辑
Q:退出当前文件编辑
A:退出vim程序

c)vim同时打开多个文件
vim -o westos1 westos2:用上下模式打开两个文件
<ctrl>+<w> <上|下>:转换用上下模式打开的多个控制窗口
vim -p westos1 westos2:左右打开两个不同文件
:tabn:切换到后一个窗口
:tabp:切换到前一个窗口

6)cat:显示文件内容
cat file:显示文件的全部内容
cat -b file:显示文件内容并显示行号,不显示空行的行号
cat -n file:显示文件内容并显示行号
在这里插入图片描述
7)head:查看文件前多少行
head westos:默认显示文件前10行
head -n westos:n 代表数字,显示文件的前 n 行

8)tail:查看文件的后多少行
tail westos:默认显示文件后10行
tail -n westos:n 代表数字,显示文件的后n行

9)less:分页浏览
less westos:进入到less模式下查看westos文件
<上>|<下>:less模式中逐行查看文件内容
<pgup>|<pgdn>:less模式中逐页查看文件内容
/关键字:搜索关键字,n 向下匹配,N 向上匹配
<v>:由less模式进入到vim模式,编辑完成后:wq退出返回less模式
<q>:退出模式

10)cp:复制文件
cp file1 file2:复制文件file1到file2
cp file1 file2 dir:复制文件 file1、file2 到目的目录 dir
cp -r dir1 dir2:复制目录dir1及该目录下所有文件、子目录到dir2
复制原理:按照源文件建立新文件(抄作业)
在这里插入图片描述
11)mv:移动文件
mv file file1 dir:移动文件 file1、file2 到目的目录 dir
mv dir dir1 dir2:移动目录dir、dir1到目的目录dir2
mv file 不存在file:重命名
移动原理:相同设备分区中的文件移动是重命名过程,这一点我们可以通过在移动前后使用ls -i file查看文件节点号(相当与文件身份证号)来证实;不同分区的文件移动是建立删除过程。
在这里插入图片描述
12)file:文件类型的查看
file westos:查看文件westos的真实类型

13)wc:文件容量统计
wc -l:查看文件行数
wc -m:查看文件字符数
wc -w:查看文件单词数
wc -c:查看文件字节数
在这里插入图片描述

2、Linux中文件的寻址

1)Linux的系统结构
Linux的系统结构指的是FHS (Filesystem Hierarchy Standard) Linux层级结构标准3,LINUX中的一切都是文件,具体文件及其含义说明如下:

/ #Linux顶级目录( rm -fr /* 此命令千万不要在服务器上运行)
系统二级目录
/bin ##系统常规命令
/sbin ##系统管理命令
/dev ##设备文件
/home ##普通用户家目录集合,此目录中的子目录为普通用户家目录
/root ##超级用户家目录
/lib64 ##64位函数库/lib ##系统函数库
/proc ##进程信息,系统识别的硬件信息
/run ##当前运行的硬件和系统模块
/srv ##系统数据(常量)
/var ##系统数据(变化)
/tmp ##系统临时文件存放目录
/mnt ##临时设备挂载点
/media ##cdrom临时挂载点
/etc ##系统大多数程序的配置目录
/opt ##第三方软件安装位置
/boot ##系统启动分区,系统启动时读取的文件都在此目录中
/sys ##关于内核设定目录
/usr ##unix system resource 仅次于/ 重要,多数系统资源都在此目录中

2)Linux中文件的路径
相对路径:绝对路径名称的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用。系统中不以 / 开头的文件名称都为相对路径,在进行程序操作时系统会自动识别当前路径的信息并关联操作目标。
绝对路径 :文件在系统中的真实位置,在任何场景下都可以使用,通常以 / 开头,不会考虑当前所在的系统位置。

命令练习test:
1.在westos_node1主机中用超级用户登陆系统
2.在桌面上打开shell并执行以下操作
*建立文件westos1 westos2 westos3 确保这些文件在/mnt目录中
*在桌面上建立文件westos4
*复制上述所有文件到/tmp目录中的westos子目录里

在这里插入图片描述

3、关于文件寻址的命令

1)pwd:显示当前的工作目录

2)cd:切换目录
cd - = cd ~-目录:切换到之前的工作目录
cd ..:切换到当前目录的上级目录

~ ##默认代表当前用户家目录
~username ##指定的用户家目录
“~+” = “.” ##当前目录
~- ##当前目录之前所在目录
… ##当前目录的上级目录

3)ls:显示文件信息
ls:显示当前目录中文件的名称
ls file:显示指定文件名称
ls dir:显示指定目录中内容的名称
ls -d dir:显示目录本身的名称
ls -l file:显示文件属性
ls -l dir:显示目录中内容的属性
ls -ld dir:显示目录本身属性
ls -a dir:显示目录中所有文件名称包括隐藏文件
ls -s file:显示文件大小
ls -R dir:递归显示目录中的内容
在这里插入图片描述

4、文件批量处理

1)正则表达式
*:匹配0~任意字符
?:匹配单个字符
[[:alpha:]]:匹配单个字母
[[:lower:]]:匹配单个小写字母
[[:upper:]]:匹配单个大写字母
[[:digit:]]:匹配单个数字
[[:alnum:]]:匹配单个数字或字母
[[:punct:]]:匹配单个符号
[[:space:]]:匹配单个空格
在这里插入图片描述
2)字符集合表示方法
[ ]:条件或者关系是模糊匹配,对象和几个对比匹配就操作几个
如[1-10]:1到10中任意相匹配的
[!d-f]或[^d-f] :除了d-f以外
{ } :点名机制,精确指定集合中的每一个元素
如{1…10} :1-10 中每一个
在这里插入图片描述

命令练习TEST
1.用命令和正则表达式按照要求建立文件
*)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6)
*)这些文件都包含在root用户桌面的study目录中
*)用一条命令建立8个文件redhat_versionX(x的范围为1-8)
*)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中
2.管理刚才信建立的文件要求如下
*)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中
*)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中
*)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中
*)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中

在这里插入图片描述


版权声明:本文为weixin_44310047原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。