今天给伙伴们分享一下Linux 文件系统目录结构介绍和文件管理,希望看了有所收获。
我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!
如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。
一、Linux 标准目录结构
1、FHS 详解
- Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。
- 文件系统路径介绍
注意!! 在终端使用的时候用相对路径,提高输入效率 写shell脚本或者文件形式的内容时用绝对路径,避免误导出现异常
-
所谓路径即目录组成结构
-
一个linux路径由"/"和**目录(文件)**名称两部分组成
-
比如:/etc/passwd
-
如果"/“出现在路径开头,则其表示根目录,在路径中间出现”/“,其含义是某一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的passwd文件”
-
如果路径最后出现"/",则表示这是一个目录
-
-
路径分为两类:绝对路径和相对路径
-
绝对路径:凡是从根开始的路径,使用绝对路径可以非常准确的表示一个目录的位置具有 唯一性,需要输入的路径较长
- 比如: /etc/sysconfig/ /etc/grub.conf
-
相对路径:凡是非根开始的路径
- 比如:etc var/ftp/pub …/test.txt ./test.sh
-
-
-
使用pwd命令查看当前所在的绝对路径:
- 比如:
[root@wing etc]# pwd
/etc
-
/root:超级用户 root 的家目录
-
/bin:是 Binary 的缩写,用于存放系统中常用的命令,任何用户都有权限执行
-
/boot:存放系统启动时所需要的文件,Linux 的内核就存放在这个目录中
-
/dev:是 Device 的缩写,存放硬盘、光驱、鼠标等设备文件,在 Linux中访问设备和访问文件的方式是相同的
-
/etc:存放系统和程序所需的配置文件,作用类似于 Windows 的注册表
-
/home:普通用户的家目录。普通用户的家目录一般和用户账号名相同,比如 user1 的家目录是 /home/user1
-
/var:存放一些经常变化的文件,比如 /var/log 存放日志,/var/spool/mail 存放邮件
-
/lib /lib64:存放连接共享库,作用类似于 Windows 的 dll 文件。它们自己不能被执行,需要被其他的程序调用,几乎所有的应用程序都需要用到共享库
-
/usr:软件默认的安装位置,存放用户应用程序和文件,类似于 Windows 下的 Program Files
-
/media:用于挂载 U 盘、光驱等系统自动识别的设备
-
/lost+found:存放系统崩溃或意外关机时产生的碎片文件,正常情况下是空的
-
/mnt:用于临时挂载别的文件系统,比如增加一块硬盘,需要手动挂载
-
/opt:用于安装额外软件所用的目录,默认是空的
-
/proc:虚拟文件系统,是系统内存的映射。访问这个目录可以获取很多有用的系统信息
-
/sbin:s 就是 super 的意思,存放只有系统管理员才有权限执行的命令
-
/srv:存放一些服务启动后所需要提取的数据
-
/sys:该目录下安装了文件系统 sysfs,该文件系统是内核设备树的一个直观反映
-
/tmp:存放临时文件,所有用户都可执行写操作
-
/run:存放进程产生的临时文件,系统重启以后,这个目录会被清空/var: 这个目录包含变量数据,如日志文件、打印队列、缓存文件、临时文件等。例如,系统日志文件通常存储在/var/log目录下。
2、cd 切换目录路劲
[[email protected] ~]# cd //回家
[[email protected] ~]# cd 路径
[[email protected] ~]# cd - //切换到上一次去过的目录
[[email protected] ~]# cd .. //切换到上级目录
3、ls 查看文件
[[email protected] ~]#ls
[[email protected] ~]#ls -l
[[email protected] ~]#ls -a
[[email protected] ~]#ls -lh
[[email protected] ~]#ls 路径
二、文件管理详解
1、创建文件
-
命令 参数 操作符 命令和参数之间有空格, 参数和操作符之间有空格, 空数量不限 ,至少得有一个
-
短格式 -一个字母
-
长格式 --多个字母
[[email protected] ~]# touch file1 //在当前目录下创建文件
[[email protected] ~]# touch /root/Desktop/a.txt //在其他目录下创建文件(文件前面写路径)
文件写入内容
[[email protected] ~]# echo nihuai > nihaohuai.txt
查看文件
[[email protected] ~]# cat nihaohuai.txt
同时创建多个文件
[[email protected] ~]# touch file1 file2 file3 file4
2、创建目录
[[email protected] ~]# mkdir dir1 dir2 /tmp/dir3 //在指定目录下创建目录
[[email protected] ~]# mkdir /root/Desktop/dir1 //在其他目录下创建目录(目录前面写路径)
[[email protected] ~]# mkdir -p -v a/b/c/d //创建连级目录
[[email protected] ~]# mkdir -pv a/b/c/d //所有单个字符的参数可以写到一起,前面加一个“-”,单词参数不能跟其他参数写到一起
-p 创建连级目录
-v verbose 冗长的 详细信息
错误示例:
[[email protected] ~]# mkdir a/b/c/d
mkdir: 无法创建目录"a/b/c/d": 没有那个文件或目录
3、拷贝(复制)文件目录
[[email protected] ~]# cp file1 dir1
被拷贝的源文件 目标目录
同时拷贝多个文件: 中间不管写多少个文件和目录,都会被拷贝到最后一个目录下
[[email protected] ~]# cp -r file1 file2 file3 dir1 dir2 dir3 dir4
[[email protected] ~]# cp -r dir1 /root/Desktop //拷贝目录
-r 拷贝目录使用
-v 显示详细过程
-a 在拷贝文件的时候不改变权限、属性
4、拷贝文件并重命名
[[email protected] ~]# cp file1 文件名
[[email protected] ~]# cp file1 dir1/file2
[[email protected] ~]# cp -r dir1 /root/Desktop/dir2
5、剪切文件目录
[[email protected] ~]# mv file1 dir1
[[email protected] ~]# mv dir1 /root/Desktop/
给文件改名:剪切到文件所在目录并且改名
6、查看目录大小
[[email protected] ~]# du -sh
[[email protected] ~]#ls a.txt b.txt c.txt
[[email protected] ~]#ls dir1 dir2 dir3
[[email protected] ~]#ls a*
* 是一个通配符 表示所有字符(隐藏文件除外)
7、查看文件内容
cat
[[email protected] ~]# cat 文件名,一次性看完,用来看比较短小的文件,
-n 查看文件的同时显示行号
-A 包括控制字符(换行符/制表符)
linux $
Windows ^M$
more //分页显示文件内容
[[email protected] ~]#more 文件名
空格键是翻页 回车键是翻行
往上翻页:shift+PgUp
退出 按q
less 分页显示
[[email protected] ~]#less 文件名
空格键是翻页 回车键是翻行
上下箭头可以来回翻
/关键字 //搜索 n按关键字往下翻 N按关键字往上翻
快捷键:q 退出
tail
[[email protected] ~]# tail 文件名 //默认查看文件后10行
[[email protected] ~]# tail -5 文件名 //查看后5行,这里的数字可以随意改
[[email protected] ~]# tail -f 文件名 //实时查看文件内容,用来查看日志排错
[[email protected] ~]# tailf 文件名 //功能同上
[[email protected] ~]# tail -F 文件名 //实时查看文件内容(文件不存在会retry)
[[email protected] ~]# tail -F b.txt //开始文件b.txt不存在
tail: cannot open ‘b.txt’ for reading: No such file or directory
tail: ‘b.txt’ has appeared; following end of new file //在其他终端创建文件后的提示
hello //追加的内容进文件b.txt
head
[[email protected] ~]# head 文件名 //默认查看文件前10行
[[email protected] ~]# head -5 文件名 //查看前5行,这里的数字可以随意改
8、删除文件
- 注意!!!! 删除文件时 (特别是删除目录),建议进入指定目录之后再删除文件,不要用绝对路径删除文件。
删除普通文件
[[email protected] ~]# rm 文件
强制删除文件
[[email protected] ~]# rm -f 文件
-f force
删除目录
[[email protected] ~]# rm -rf 目录
-r 递归删除
[[email protected] ~]# rmdir 用来删除一个空目录
删除文件,不要用绝对路径删除文件。
删除普通文件
[[email protected] ~]# rm 文件
强制删除文件
[[email protected] ~]# rm -f 文件
-f force
删除目录
[[email protected] ~]# rm -rf 目录
-r 递归删除
[[email protected] ~]# rmdir 用来删除一个空目录
标签:文件,edenluo,文件系统,com,Linux,txt,root,目录 From: https://blog.csdn.net/mohuanfenghuang/article/details/141260155如果有版帮助,帮忙免费的关注一下**公众号「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。