【Linux】系统中的文件管理
一.Linux下常用的文件管理命令
1.文件和目录的建立
touch命令
touch通常用来新建空文件或修改文件时间戳
touch file1 file2... #建立空文件
touch file1 #把文件时间同步到当前时间
touch -t YYYYMMDDHHmm file1 #把文件时间更改到指定时间
mkdir命令
mkdir通常用来建立目录
mkdir dir1 dir2 ... #建立空目录
mkdir test/redhat/linux -p #建立多层目录
2.文件和目录的删除
rm命令
rm 可以删除文件也可以删除目录
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 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命令
用于显示文件的所有内容到屏幕
cat file
cat -b file #显示文件内容并显示行号,不显示空行的行号
cat -n file #显示文件内容并显示行号
tac命令
用于反向显示文件的内容到屏幕
#与cat命令用方法通向
less命令
用来分页浏览文件内容
less file #进入到less模式查看westos#less模式中 <上><下> 逐行查看文件内容#<pgup><pgdn> 逐页查看文件内容#/关键字 搜索关键字 n 向下匹配 N 向上匹配#<v> 在less模式进入到vim 编辑完成:wq退出返回less#在less中<q> 退出
head 命令
head通常用来查看文件的前几行
head file #默认显示文件前10行
head -n file #n 代表数字 显示文件的前n行
tail命令
tail用来查看文件的后几行
tail file #默认显示文件后10行
tail -n file #n 代表数字 显示文件的后n行
tail -f file #持久刷新显示指定文件后10行内容
tail -f file1 file2 #同时监控两个文件
示例
#比如实时监控日志中包含 “error” 的行
tail -f app.log | grep "error"
5.文件的复制和移动
cp命令
cp用来做文件或目录的复制
cp 文件 目的地文件 # cp 文件1 文件2 目的地目录# cp -r 目录1 目录2#复制原理:#按照源文件建立新文件(抄作业)
mv命令
用来做文件或目录的移动和重命名
mv file file1 dir
mv dir dir1 dir
mv file 不存在file #重命名#移动原理:#相同设备分区中的文件移动是重命名过程#不同分区的文件移动是建立删除过程#ls -i file 查看文件节点号(相当与文件身份证号)
6.文件统计命令
file命令
查看文件类型
file file1 #查看文件的真实类型
wc命令
统计文件大小
# wc -l 行数
# wc -m 字符数
# wc -w 单词数
# wc -c 字节数
ls命令
ls通常用于列出文件指定信息
# 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 [选项] 命令
示例
# 每 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
示例
#命令行脚本,for语句遍历servera与serverb
[devops@workstation ~]$ for name in server{a..b};do ssh $name hostname;done
servera.lab.example.com
serverb.lab.example.com