文件权限与目录配置
涉及到的命令
ls
查看当前目录下的所有文件详细信息
-a 全部文件
- d 仅目录本身
- l 详细信息
- h 容量大小,易读方式
- i 显示inode 节点
- S 容量大小排序
- r 逆序
- t 按时间排序
chgrp
修改文件所属组
- R 递归
chown
修改文件所有者
- R 递归修改
chmod
修改文件的权限属性
cp 源文件 目标路径
文件复制
- a 递归复制及其属性
- i 若文件已存在则询问
- p 连同文件属性复制
- r 递归复制
- l 硬链接
- s 软连接
uname
查看linux内核及系统架构版本
- r 查看内核
- m 查看系统架构
su
切换当前用户
cd
切换目录的命令
. 表示当前目录
… 表示上层目录
- 表示前一个目录
~ 表示用户的家目录
pwd
显示当前所在的目录
- P 查看当前真实路径,非链接目录
mkdir
建立一个新目录
- p 递归创建目录
rmdir
删除一个空目录
- p 递归删除空目录
rm
删除问价或目录
- f 忽略提示信息
- r 递归删除
mv
移动文件或重命名
- f 忽略询问信息,强制覆盖
- u 若文件已存在覆盖
basename 获取文件名
basename path 获取path中的文件名
dirname 获取路径名
dirname path # 获取path中的上一级目录
cat 一次查看文件的所有内容
查看文件内容
- n 打印行号
tac 倒过来看文件的内容
more 翻页查看
空格键(space) 翻页
enter --- 下一行
/ ---- 表示要查找的内容
:f --- 查看文件名称和行数
q ----- 推出查看
b -----向上翻
less
相对于more更有弹性
空格键:向下翻页
pagedown:向下翻页
pageup:向上翻页
/ : 向下查找字符功能
? : 向上查找字符功能 (more 不行)
n: 重复上一个查找
head
取出文件的前几行
head
- n 指定截取行数
tail
截取文件的后几行
tail
- n 指定截取行数
- f 持续监测,当有数据追加的时候会动态显示,看日志时可使用
tail -n +100 列出100行后面的数据
od
读取非文本文件
echo password | od -t oCc # 查看password对应的ASCII码
touch
文件属性的时间有三种 : atime(读文件时更新时间) ctime(文件状态被修改时更新,如权限属性) mtime(文件更新的时候更新文件时间)
-d 自定义日期(文件属性)
-m 修改mtime
umask
查看文件与目录的默认权限
-S 以字符的形式显示权限
文件默认权限最大 666,目录为777
chattr
给文件增加隐藏属性 ,使用 + - = 进行操作
-S 同步操作
-a 只能向文件写入数据,文件不能修改和删除
-i 文件不能删除,修改,rename,设置链接
lsattr
查看文件的隐藏属性
-a 显示所有文件的隐藏属性
-d 目录的隐藏属性
-R 递归
file
查看文件的类型
file example_file
which
查看命令存放的位置
-a 找出该命令所有的path,而不是只找第一个
whereis
查找特定目录中的文件
-l 列出查询过的目录
-m 只找在man中的文件,才显示出来
locate/updatedb
locate 文件查找,查询速度较快是因为从DB中查,updatedb 更新DB
-i 忽略大小写
-l 显示几行
-r 正则匹配显示
find
同 which、whereis、locate 一样都是查找文件的作用
1.时间相关参数
-mtime n n天内被修改的文件(一天内,与-n区别于时间范围)
-mtime +n n天之前被修改的文件
-mtime -n n天内被修改的文件
2.用户相关
-user name 指定用户名 如:find /home -user user1
-group name 指定用户组
-nouser 同上
-nogroup 同上
3.文件权限相关
-name filename
-size [±] SIZE
-type TYPE ( f 表示文件 d 表示目录 s 表示socket文件 l 表示链接文件)
4.额外参数
-exec command 例如:find /etc -name mysql* -exec ls -al {} \ , ---- 其中 {} 表示find要找的内容 ,-exec 一直到 “” 为止。其实就是 ls -al {}
用户和用户组
用户和用户组概念是针对于文件权限来说的,一个文件的权限有三种表示方式来体现的使用者的权限,分别是
- 文件的所有者
- 文件的所属组
- 其他人
Linux 文件权限概念
Linux中的文件属性,列如
-rwxrw-r–
drwxr–r--
一个文件有7个字段,3个为一组
开头以
- d开头表示目录
- - 则表示一个文件
- l 表示这是一个链接文件
- b 表示为设备文件(存储) ,c 为串行端口设备(键盘鼠标)
- [.] 以点开头的为隐藏文件
第一组:文件拥有者的权限
第二组:文件所属组的权限
第三组:既不是文件的所有者也不是所属组(其他人)
ls 中 第二栏问 inode节点,表示有多少文件连接到此文件
第五栏 为文件的容量大小,默认是bytes
第六栏为 文件的创建时间和修改时间
修改文件属性和权限
- chgrp 用户组 文件或目录
chgrp users test_file.txt - chown 用户 文件或目录
chown root:root test_file.txt 同时修改用户组与文件的所有者
修改文件权限分两种 1.使用数字 2.使用符号
将文件权限修改为【-rwxr-xr-x】
r:4 w:2 x:1 - chmod 755 file
u 所有者 g 所属组 o 其他人 a 所有人 + 增加权限 - 去掉权限 = 等于权限
给所有人加上 w权限 - chmod a+w file
所有人去掉执行权限 - chmod a-x file
指点权限
chmod u=rwx,g=rw,o=rx file
了解一下
export LC_ALL=en_US.utf8 修改语系
Linux 目录配置
/bin 放置一些可执行文件如:date mv mkdir
/boot 放置启动时的一些命令
/dev 设备文件
/etc 系统主要的配置文件
/lib 函数库 如/bin 和 /sbin 执行中会调用的命令
/media 媒体文件
/mnt 暂时挂载一些设备
/opt 第三方软件的放置目录
/run 系统启动后产生的信息
/sbin 包含修复还原、启动系统、所需要的命令
/srv service缩写 如www服务所需要的数据可以放在这里
/tmp 临时放置文件目录
/home 用户的家目录
/root root 的家目录
/lost+found 文件系统发生错误时产生的文件存放位置
/proc 内存中的数据
/sys 与proc类似
------------
/usr/bin 一般用户使用命令
/usr/lib 与/lib 类似
/usr/local 管理员自己下载的软件安装位置
/usr/sbin 非系统正常运行时所需要的的命令
/usr/share 放置只读数据文件和共享数据文件
/usr/include c/c++ 等语言程序的头文件
/usr/src 一般源码的放置目录
-----------------
/var/cache 程序运行的产生的缓冲
/var/lib 一些服务用到的数据文件
/var/log 日志目录
/var/spool 队列数据
绝对路径与相对路径的概念:
绝对路径:从更目录开始寻找 /
相对路径:基于当前所在的目录开始寻找,即非 / 开始的目录, …/ 表示上一层目录,
文件与目录管理
$PATH 环境变量,使用echo $PATH 查看当前变量,每一个路径使用冒号:分隔
磁盘文件系统管理
df
列出文件系统的磁盘使用量
-a 列出所有文件系统
-h 以kb ,mb ,gb 方式显示
du
-s 显示总用量
-a 所有,包括目录
-h 以kb ,mb ,gb 方式显示
查看当前文件系统磁盘使用量
ln
硬链接与 符号链接(软连接,快捷方式)
不加任何参数就是硬链接
-s 软连接 例如:ln -s 源文件 目标文件
文件系统的压缩
在linux中常见的压缩扩展名,.tar 、.tar.gz 、.tgz 、.gz、.Z 、.bz2 、 *.xz
gzip
-c 将压缩数据输出
-d 解压
-v 显示压缩信息
bzip2
-c 将压缩数据输出
-d 解压
-v 显示压缩信息
-k 保留源文件
-z 压缩
tar
打包命令
-c 建立打包文件
-t 查看打包文件内容有哪些文件
-x 解包解压缩
-z 压缩
-v 显示过程
-C 指定特定目录压缩
-p 保留原本权限属性
-f 指定文件名 ,该参数需放到最后
[-] 减号的作用用途
mkdir /tmp/homeback
tar -cvf - /home | tar -xvf - -C /tmp/homeback
第一个减号 不是将数据打包到home下面,而是作为stdout,
第二个减号引用第一个stdout 作为 stdin 解包到 /tmp/homeback 下面