Linux基础-文件管理
文件管理
Linux文件管理
一、文件和目录管理
1、系统目录结构
目录 | 用途 |
---|---|
/bin | 常见的用户指令 |
/boot | 内核和启动文件 |
/dev | 设备文件 |
/etc | 系统和服务的配置文件 |
/home | 普通用户的家目录 |
/lib | 系统函数库目录 |
/lost+found | ext3文件系统需要的目录,用于磁盘检查 |
/mnt | 系统加载文件系统时常用的挂载点 |
/opt | 第三方软件安装目录 |
/proc | 虚拟文件系统 |
/root | 超级用户的家目录 |
/sbin | 存放系统管理命令 |
/tmp | 临时文件的存放目录 |
/usr | 存放与用户相关的文件和目录 |
/media | 光驱的临时文件系统的挂载点 |
2、绝对路径与相对路径
- 绝对路径 从根目录开始,以/开头
- 相对路径 以当前所在目录开始,不加/
- pwd命令 显示当前所在目录
- ..和. ‘..’表示上一级目录,‘.’表示当前目录
3、文件相关操作
- touch:创建空白文件,若文件已经存在,不会更改文件内容,但会更新文件的创建时间属性。
- rm:删除文件 选项:-f强制删除 -r删除目录和目录中的所有文件
- mv: 移动和重命名文件 mv 文件 目标文件夹(/新文件名)
- cat:查看文件
- head -n 查看文件的头部前10行,通过-n 可以指定显示的行数
- tail -n 查看文件的尾部的倒数10行,通过-n 可以指定显示的行数 ,-f 指令可以动态侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测,在查看日志时非常有用。
- file 查看文件类型
4、目录相关操作
- cd 进入目录
- mkdir 创建目录 添加-p选项可以层级创建多层次目录。
- rm / rmdir rmdir只能删除空目录,rm -r 可层级删除目录及文件
- cp 源文件 目标文件 ,复制 加-r可复制目录
二、文件和目录的权限
Linux之所以如此安全,是因为对文件权限有着非常严格的控制。
1.查看文件或目录的权限ls -la 或 ll
如图每个文件都有7列输出。
- 文件类别和权限,第一个字符(d表示目录,-表示普通文件,l表示链接文件),接下来每三个字符为一组,分别表示文件所有者(user)所拥有的权限,文件所有者所属组(group)的权限,其他用户(others)拥有的权限。rwx(分别表示读、写、执行),小横线‘-’表示没有该项权限。
- “连接数”,除了目录文件外,其他文件的连接数都是1,目录文件的连接数表示该目录下的所有目录文件的数量(包括'.'和'..').
- 文件拥有者
- 文件所属组 5.文件大小
- 创建日期
- 文件名
2.改变文件权限:chmod
使用u、g、o表示拥有者、所属组、其他用户,对于的权限使用rwx表示,增加权限使用+,删除权限使用-,重置权限使用=。 还可以使用 chmod (三个数字) 文件名改变文件权限。
如果我们要修改的不是一个文件而是一个目录以及目录下的所有文件和目录,则需要使用-R参数。
3.改变文件的拥有者:chown
例如有用户sniper 以及用户组sniper。
-
改变文件的所有者使用:chown sniper 文件名
-
改变文件的用户组使用:chown :sniper 文件名
-
改变文件的用户和用户组使用:chown sniper:sniper 文件名
递归(层级)改变需要加参数 -R。
三、查找文件
1.一般查找:find (可以使用通配符*)
find path -name FILENAME
从path中查找名为FILENAME的文件。
2.数据库查找:locate
locate依赖一个数据库文件,Linux默认每天检索一下系统中的所有文件,然后记录到数据库中。 所以,使用locate命令比find命令速度要快。在执行这个命令前一般需要执行一下updatedb命令,更新一下数据库。 locate filename
3.查找执行文件:which/whereis
which用于从系统的PATH变量所定义的目录中查找可执行文件的绝对路径。 whereis不但能找到二进制文件,还能找出相关的man文件。
四、文件压缩与打包
1.gzip/gunzip
用来压缩和解压单个文件。
2.tar(常用)
不仅可以压缩(使用gzip)还可以对目录打包。一般以.tar.gz作为后缀。
- -zcvf 生成文件名 压缩文件目录 -z是指使用gzip压缩,c指创建压缩文件,v显示被压缩的文件,f指定文件名。
- -zxvf 压缩文件 -C 解压目录
参考资料:Linux系统命令及Shell脚本实践指南