文件
在linux系统下面文件类型(常用三种)
- 文件:-
- 目录:
- 类似于文件夹
- d
- 连接:
- 类似于快捷方式
- l
- 创建链接:
- 软连接的创建
- $ ln -s 文件或者目录 连接的名称
- eg:
- $ ln -s readme.txt rm.txt
- 硬链接的创建:
- $ ln
- 相当于拷贝文件
- 区别软硬连接:删除连接时是否删除源文件
- 使用场景:软连接实际上是一个文件,如果发生修改,保证了一致性
- 例-rw-rw-r--. 1 beifeng beifeng 65 sep 28 12:15 hive-select-log.sql
- -rw-rw-r---表示文件类型
- 后面的九个字符分为三组,表示文件针对不同用户的权限关系
- 为什么分三组
- 因为一个文件对于用户来说有三个部分
- 拥有者rw-
- 所属组rw-
- 其他人r-
- rw-权限
- 数字表示:664
- beifeng beifeng
- 第一个beifeng表示文件的拥有者
- 第二个beifeng表示文件所属的组
- 文件大小/目录里的文件数
- 创建时间
- 文件名称
-
文件权限
- 可读r
- 可写w
- 可执行
- 针对脚本文件shell
- x
- 特殊字符-:表示没有任何权限
- 权限数字表示方法:二进制数字之和的方式
- r:2^2=4
- w:2^1=2
- x:2^0=1
- 例如rw-6
- 设置文件对不同用户的权限
- 需要使用root用户#
- #chmod
- eg:-rw-rw-r--. 1 beifeng beifeng 65 sep 28 12:15 hive-select-log.sql
- 对于同组用户来说,仅仅可读;对于其他用户来说,既不可读也不可写
- #chmod g-w hive-select-log.sql 达成组内不可写(g=group)
- #chmod o-r hive-select-log.sql达成组外用户不可读( o=other)
- 数字形式:# chmod 664 hive-select-log.sql
- 针对目录设置权限
- 目录中有很多文件,也需要上述的权限设置
- -R递归
- #chmod -R 600 目录
- man chmod功能类似于help
- 命令行自动补全:tab键
文件归属
- 拥有者owner:u
- 改变文件拥有者
- chowner
- #chown beifeng beifeng hive-select-log.sql
- 改变目录的拥有者
- #chown beifeng beifeng hive-select-log.sql
- 属于组group:g
- 改变文件所属组
- chgrp
- #chgrp beifeng beifeng hive-select-log.sql
- 其他人other:o
- eg
- 将/home/hive-select-log.sql拥有者和所属组设置为senior用户和senior组可以使用一条命令完成
- #chown senior:senior /home/hive-select-log.sql
文件拷贝、移动、重命名
- 文件拷贝
- $ cp 源文件 目标地
- $ cp test.data cp-test.txt
- $ cp -r test-dir test-dir2
- 移动
- 重命名
文件创建
- 使用touch命令
- 使用vi/vim方式
- $ vi/vim test.data
- 编辑文件,当文件不存在时,创建文件
- 创建目录
- 创建多级目录
- $ mkdir -p ~/dir/demo
- dir和demo都没有
- -p如果上级目录不存在,创建上级目录
文件内容追加
- $ echo “sjhdafbefbebf追加内容” >> test.data
编辑文件
- vi/vim
- 快捷键(vi的查看模式下)
- 双击d删除最后一行
- 双击Z保存文件内容
- x删除光标所在处的字符
- o光标的下一行插入数据
查看文件内容
- cat
- more
- tail
- 从文件末尾的内容开始查看,通常与-f连用,适用于查看实时动态的服务日志信息
- eg
- tail -f xxx.log
- tali-200f xxx.log
- head
文件删除
- $ rmdir test-dir2
- $ rm -rf test-dir2
文件搜索