【Linux】系统中的文件管理

一.Linux下常用的文件管理命令

1.文件和目录的建立

touch命令

touch通常用来新建空文件或修改文件时间戳

bash 复制代码
touch file1 file2...		#建立空文件
touch file1 				#把文件时间同步到当前时间
touch -t YYYYMMDDHHmm file1 #把文件时间更改到指定时间

mkdir命令

mkdir通常用来建立目录

bash 复制代码
mkdir dir1 dir2 ... 			#建立空目录
mkdir test/redhat/linux -p 		#建立多层目录

2.文件和目录的删除

rm命令

rm 可以删除文件也可以删除目录

bash 复制代码
rm file file1 ... 			#删除文件有提示
rm -f file 					#强制删除文件不提示
rm -r dir dir1... 			#删除目录
rm -rf dir 					#删除文件或目录不提示

3.文件编辑命令

gedit命令

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

复制代码
gedit file 	#编辑文件

vim命令

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

vim的模式

vim通常有三种模式:

  • 浏览模式(命令模式):可以对文件内容进行浏览,也可以对vim的工作方式进行设定
  • 插入模式:vim的编辑模式,只有在插入模式下才能对文件内容进行修改
  • 退出模式:当文件内容修修改完毕可以通过退出模式来保存或不保存修改的内容

vim的基本使用方法 <>

复制代码
vim file	#进入到vim的浏览模式
			#浏览模式不能编辑文件
			#在浏览模式中按<i>进入插入模式
			#在vim中鼠标不能控制光标用上下左右移动光标
			#按<ESC>退出插入模式
			#退出模式:
			#按:wq保存更改
			#:q 当vim打开文件后未作任何操作可以直接退出
			#:q! 当vim打开文件后修改文件内容但不想保存可以强制退出

处理vim的异常退出

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

处理方法如下:

复制代码
#(O) 只读打开文件
#(E) 继续编辑
#(R) 恢复未保存内容编辑
#(D) 删除.swp文件进入编辑
#(Q) 退出当前文件编辑
#(A) 退出vim程序

vim -o file1 file2 			#上下模式打开两个文件
							#<ctrl>+<w> <上|下>来转换控制窗口

想要更详细的了解vim可以跳转到另一篇博文

4.查看文件

cat命令

用于显示文件的所有内容到屏幕

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

tac命令

用于反向显示文件的内容到屏幕

复制代码
#与cat命令用方法通向

less命令

用来分页浏览文件内容

bash 复制代码
less file			#进入到less模式查看westos
					#less模式中 <上><下> 逐行查看文件内容
                    #<pgup><pgdn> 逐页查看文件内容
                    #/关键字 搜索关键字 n 向下匹配 N 向上匹配
                    #<v> 在less模式进入到vim 编辑完成:wq退出返回less
                    #在less中<q> 退出

head 命令

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

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

tail命令

tail用来查看文件的后几行

bash 复制代码
tail file 			#默认显示文件后10行
tail -n file 		#n 代表数字 显示文件的后n行
tail -f file		#持久刷新显示指定文件后10行内容
tail -f file1 file2		#同时监控两个文件

示例

bash 复制代码
#比如实时监控日志中包含 "error" 的行
tail -f app.log | grep "error"

5.文件的复制和移动

cp命令

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

bash 复制代码
cp 文件 目的地文件	   # cp 文件1 文件2 目的地目录
					# cp -r 目录1 目录2
					#复制原理:
					#按照源文件建立新文件(抄作业)

mv命令

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

bash 复制代码
mv file file1 dir
mv dir dir1 dir
mv file 不存在file 		#重命名
						  #移动原理:
						  #相同设备分区中的文件移动是重命名过程
						  #不同分区的文件移动是建立删除过程
						  #ls -i file 查看文件节点号(相当与文件身份证号)

6.文件统计命令

file命令

查看文件类型

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

wc命令

统计文件大小

bash 复制代码
# wc -l 行数
# wc -m 字符数
# wc -w 单词数
# wc -c 字节数

ls命令

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

bash 复制代码
# ls 			#显示当前目录中文件的名称
# ls file 		#显示指定文件名称
# ls dir 		#显示指定目录中内容的名称
# ls -d dir 	#显示目录本身的名称
# ls -l file 	#显示文件属性 = ll file
# ls -l dir 	#显示目录中内容的属性
# ls -ld dir 	#显示目录本身属性
# ls -a dir 	#显示目录中所有文件名称包括隐藏文件案
# ls -s 		#显示文件大小
# ls -R dir 	#第归显示目录中的内容
#ls -i file		#显示文件节点号

7.watch命令

watch 是 Linux 中一个实用的命令行工具,用于周期性地重复执行某个命令,并实时显示执行结果,非常适合监控命令输出的动态变化(比如系统资源、文件变化、进程状态等)。

复制代码
#基本用法
语法:watch [选项] 命令

示例

bash 复制代码
# 每 5 秒检查一次磁盘空间
watch -n 5 df -h

# 每 1 秒监控日志文件的末尾,并高亮新增加的内容
watch -n 1 -d 'tail /var/log/syslog'

#-p 会保留最后一次的命令结果。
watch -p uptime  # 监控系统运行时间,退出后保留最后一屏

# -d:高亮显示变化内容
# 每 2 秒查看一次当前目录文件,并高亮新增/删除/修改的文件
watch -d 'ls -l'

二.Linux下的文件寻址

1.Linux的层级结构

Linux中一切皆文件(everything is file)

Linux是倒树形结构,顶级目录为"/"(根目录),系统遵循FHS(Filesystem Hierarchy Standard) Linux层 级结构标准3)

2.系统二级目录功能

3.系统中的寻址方式

相对路径:

  • 绝对路径名称的简写,省略了用户当前所在的系统位置
  • 此名称只有在管理当前所在系统目录中子文件时才能使用
  • 系统中不以/开有的文件名称都为相对路径在程序操作时
  • 会自动识别当前路径的信息并关联操作目标

绝对路径 :

  • 文件在系统中的真实位置,在任何场景下都可以使用
  • 通常以/开头,不会考虑当前系统位置

4.寻址相关命令

pwd

显示当前工作目录

cd

切换当前工作目录

复制代码
#cd 切换到当前用户家目录
#cd ~username 切换到指定用户家目录
#"cd ~-" = "cd -" CDIR <--> ODIR 切换回上一次的目录
# ".." 当前目录的上级目录

5.文件批处理

通配符

通配符使用符号匹配一类字符

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

字符集合表示方式

\[\]

条件或是关系或是模糊匹配

复制代码
[1-10]*.txt 		#匹配以1-10开头的.txt文件 	
[ -f file.txt ]		#判断file.txt是否存在
[ $a -gt $b ]		#两个数值的不叫

{}

点名机制,经精确指定集合中的每一个元素

复制代码
{1..10} 	#1-10
{a..c} 		#a-c

示例

bash 复制代码
#命令行脚本,for语句遍历servera与serverb
[devops@workstation ~]$ for name in server{a..b};do ssh $name hostname;done
servera.lab.example.com
serverb.lab.example.com
相关推荐
ajassi200017 分钟前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎21 分钟前
linux 进程信号(下)
linux·运维·服务器
skywalk816339 分钟前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
Mikko740 分钟前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
蓝胖的四次元口袋1 小时前
Jenkins知识梳理(2)
运维·jenkins
yumgpkpm1 小时前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Madison-No71 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
Liuqy-051 小时前
特殊进程——孤儿、僵尸、守护进程
linux·运维·服务器
流浪0011 小时前
Linux系统篇47——线程(十二) POSIX 信号量与环形队列,把判空判满提前到访问之前
linux·操作系统·线程·信号量·环形队列
咖丨喱2 小时前
【MMC Core + hc16 Host(WiFi SDIO 如何落到控制器)】
linux