前言
本文主要介绍linux下的文件管理命令,文件寻址以及关于文件寻址的命令。其中文件管理命令包括文件的创建、删除、编辑、查看、复制、移动、文件类型及容量统计等,目录的创建、删除、复制、移动等。文件寻址中主要介绍linux系统二级目录各个文件夹的作用,相对路径与绝对路径。文件寻址的命令包括显示文件目录,切换目录,显示文件信息以及文件的批量处理等。
一、linux文件管理命令
- 新建/删除文件
touch file1 file2… #建立空文件file1 file2
修改文件时间戳
touch file #把文件时间同步到当前时间
文件原时间:
修改后的时间:
touch -t YYYYMMDDHHmm file #把文件事件更改到指定时间
图中,通过touch -t 202101010101 westos 将westos时间戳改为2021年1月1日1点零1分。
rm file #删除文件
rm -f file #删除文件(无提示)
- 新建/删除目录 mkdir (make directory)
mkdir dir1 dir2… #建立空目录
mkdir -p /mnt/test #建立多层目录
rm -r dir #删除目录
rm -fr dir #删除目录(无提示)
有图形的文本编辑器 gedit
gedit file1 file2… #编辑file1 file2
注:使用时必须有图形,file1 file2可以不存在
- 无图的文本编辑器 vim
vim file #进入到vim浏览模式,但不能对file进行编辑
浏览模式中按i进入插入模式,按ESC退出插入模式
退出插入模式后,按 :wq 保存更改
按:q!退出不保存
当文件未被修改时,按:q直接退出
vim异常退出
当我们未按照上面的方式退出,而是在编辑中强制点叉号关闭shell,此时桌面会生成.swp格式文件,再次打开vim编辑器会报错。其中,
O:Open read-only #只读模式
E:Edit anyway #在原来的文件上继续编辑 但无法解决错误
R:Recover #恢复未保存内容编辑 无法解决错误
D:Delete it #删除中间文件.swp ##是其中唯一可以解决掉报错的方式
Q:Quit #退出编辑
A:Abort #退出vim程序
注:以上选项只有[D]可以解决异常
- vim同时打开多个文件
上下界面打开:
vim -o file1 file2
Ctrl +w+上下键转换窗口
左右界面打开:
vim -p file1 file2
:tabn 进入到下一个窗口
:tabp 进入到上一个窗口
显示文件内容
cat 文件名
cat -b 文件名 #显示文件内容并显示行号,不包括空行
cat -n 文件名 #显示文件内容并显示行号
tac 文件名 倒序显示
查看文件前多少行
head head-n +westos
无数字默认显示前10行
显示文件后多少行
tail tail-n +westos
无数字默认显示后10行
复制文件 原理:按照源文件建立新文件(抄作业)
cp 文件 目的地文件 #将文件复制覆盖到目的地文件里
cp 文件1 文件2 目的地目录 #将文件1 文件2 复制到目的地目录里
cp -r 目录1 目录2 #将目录1复制到目录2中
移动文件 原理:相同磁盘内的移动实质上就是重命名的过程;不同磁盘移动实质上是复制再删除的过程。
mv file file1 dir #将file file1 移动到目录dir中
mv dir dir1 dir #将dir dir1移动到dir中
mv file 不存在file #重命名file文件
通过ls -i file 查看文件节点号(相当于文件的身份证号),证明westos2被westos1覆盖。
file westos #查看文件类型
文件容量统计 wc
wc -l #行数
wc -m #字符数
wc -w #单词数
wc -c #字节数
清屏 ctrl+l / clear
二、linux文件寻址及关于文件寻址命令文本编辑
1.linux中文件的寻址
1)Linux系统结构
#FHS
(Filesystem Hierarchy Standard) Linux层级结构标准3
#LINUX中一切都是文件
/
#Linux顶级目录 rm -fr /* 此命令千万不要在服务器上运行
#系统二级目录
-
/bin ##常用命令都在这里,二进制可执行文件
-
/sbin ##存放系统管理命令,只有root用户才可访问
-
/dev ##存放设备文件
-
/home ##普通用户家目录集合,此目录中的子目录为普通用户家目录
-
/root ##超级用户(系统管理员)的家目录
-
/lib64 ##64位函数库
-
/lib ##系统函数库
-
/proc ##进程信息,系统识别的硬件信息
-
/run ##当前运行的硬件和系统模块
-
/srv ##系统数据(常量)
-
/var ##系统数据(变化)
-
/tmp ##系统临时文件存放目录
-
/mnt ##临时设备挂载点,便于用户临时挂载其他的文件系统
-
/media ##cdrom临时挂载点
-
/etc ##系统大多数程序的管理和配置目录
-
/opt ##第三方软件安装位置
-
/boot ##系统启动分区,系统启动时读取的文件都在此目录中
-
/sys ##关于内核设定目录
-
/usr ##unix system resource 仅次于/ 重要,多数系统资源都在此目录中
-
相对路径:
绝对路径名称的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用,系统中不以/开有的文件名称都为相对路径,在程序操作时,会自动识别当前路径的信息并关联操作目标。
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用。例如:/etc/passwd
test:
1.在westos_node1主机中用超级用户登陆系统
2.在桌面上打开shell并执行以下操作
建立文件westos1 westos2 westos3 确保这些文件在/mnt目录中
在桌面上建立文件westos4
复制上述所有文件到/tmp目录中的westos子目录里
操作如下:
2.关于文件寻址的命令
pwd ##显示当前工作目录
cd(change directory) ##切换当前目录
cd - ##回到当前所在目录的前一个目录 其中-表示进入当前目录之前 所在目录的名称
cd ~- ##同上 区别于上的是 ~-应用更加广泛 适用于所有命令 eg:cp westos ~-
cd … ##表示进入当其那目录的上一个目录
ls ##显示文件信息
ls dir ##显示目录中的内容名称
ls fire ##显示文件本身
ls -l ##显示文件属性/显示目录里文件的属性
ls -ld ##显示目录属性
touch .westos 建立隐藏文件
ls -a 显示所有文件 包含隐藏文件
ls -R 显示当前目录+子目录里的内容,即递归显示目录中的内容
文件批量处理
<?> ##匹配单个字符<*> ##匹配任意字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
[1-10] 模糊匹配 存在就操作 不存在就忽略,删除文件时可用,建立文件时不可用
{1…10} 精确匹配 建立删除文件均可用
[![:punct:]] 除了单个符号
~ ##代表家目录
~username ##指该用户的家目录
~+ = . ##表当前 但.只能用在shell
~- ##当前目录之前的所在目录
… ##当前目录的上级目录
CLASS{1,2}=CLASS{1…2}
通过test检验以上学习成果
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中
0
总结
本章主要了解掌握linux中对文件进行基本的增删查改操作,以及系统二级目录的基本作用和寻址命令,对文件进行批量处理。