## chown命令: 修改一个文件所属用户和用户组
- 格式: chown 用户[:用户组] 文件名
- 例子: chown tom a.txt , 意思是把 a.txt 的所属用户改写成 tom用户
- 例子: chown tom:tom a.txt , 意思是把 a.txt 的所属用户改写成 tom, 把所属组改写成 tom
- 注意: 如果要修改一个目录下面所有的文件和文件的用户和用户组,需要加 `-R`
- 例子: chown -R root:root aaa, 意思是 递归的 把 aaa目录下面所有文件 修改为 root 用户 和 root 组
## chgrp命令:修改一个文件的所属用户组
- 格式: chgrp 用户组 文件名
- 例子: chgrp root a.txt, 意思是把 a.txt 的 用户组 改写成 root
## 在输入文件名或者命令的时候,不需要输入完整的名称,只需要输入前面几个唯一的字符,点击 tab, 会自动补全
## chmod命令: 修改文件的权限
- 格式一: chmod `[角色] [操作符号][权限]` 文件名
- 角色
- u : 当前用户
- g: 所属组
- o : 其他用户
- a : 所有角色
- 操作符号
- `+` : 表示 加 权限
- `-` : 表示 减 权限
- `=` : 表示 赋值权限
- 权限
- `r` : 读权限
- `w` : 写权限
- `x` : 执行权限
- 例子
- `chmod u+x` a.txt : 表示 给 a.txt 文件 所属用户 加上 可执行权限
- `chmod o+wx` a.txt : 表示 给 a.txt 文件 的 其他用户 加上 可写和可执行权限
- `chmod g-r` a.txt : 表示 给 a.txt 文件 的 所属组 减去 可读权限
- `chmod a=rw a.txt` : 表示 给a.txt 文件的 用户,用户组,其他人 同时 赋值 读和写 权限
- 格式二: chmod 数字 文件名
- 数字的格式
- r : 对应的数字是 4
- w: 对应的数字是 2
- x: 对应的数字是 1
- `-`: 对应数字是0
- 例子
- `chmod 0644 a.txt`: 表示 a.txt 的权限 是, 当前用户有 `读写权限`, 所属组有`读权限` , 其他用户有 `读权限`
- `chmod 0755 a.txt` : 表示 a.txt 的权限使, 当前用户有 `读写执行权限`, 所属组有 `读和执行权限`, 其他用户有 `读和执行权限`
- 文件的默认权限是 0644
- 文件夹的默认权限是 0755
- `chmod -R 0777 aaa` : 表示 递归的把 aaa目录下面所有的文件和文件夹的 权限 改成 777,就是` 可读可写可执行`
## umask命令: 修改创建文件夹 和 文件 的默认权限
- 格式
- umask : 查看系统默认的权限数字, 这个值默认是 0022
- 把 十进制 转换成 二进制
```python
0 2 2 -->转成二进制
000 010 010 -->取二进制的相反数
111 101 101 -->每一个组就代表一个角色, 组中每一个值代表一个权限, 1代表有权限,0代表没有权限
rwx r-x r-x -->所以文件夹 默认的权限就是 755. 文件的权限 减1,就是644
```
- umask 0002: 设置系统默认的权限
```python
0 0 2
000 000 010
111 111 101
rwx rwx r-x --> 文件夹的默认权限是 0775, 文件的权限是 0664
```
**注意:一般不用去改 系统的 默认权限**
---
# 压缩解压命令
#### zip解压缩命令
- 压缩
- 格式: zip 压缩后的文件名 压缩的文件 [文件2 文件3.....]
- 例子: zip a.txt.zip *.txt : 意思是 把 所有的文本文件 压缩成 名字是 a.txt.zip的 压缩文件
- 压缩文件夹: 需要加 -r
- 例子: zip -r bbb.zip bbb
- 解压
- 格式: unzip 压缩的文件名
- 例子: unzip a.txt.zip : 意识是把 a.txt.zip 解压成 之前 的源文件
## gzip解压缩命令
- 压缩
- 格式: gzip 文件名
- 例子: gzip a.txt : 意思是把 a.txt 压缩成 a.txt.gz 的 压缩包
- 压缩文件夹:需要加 -r, 需要注意的是, 这个命令不会压缩文件夹,只会把文件夹中的文件进行压缩
- 例子: gzip -r test , 意思是 不会压缩test 文件夹, 只会压缩 test 文件夹中的文件
- 解压
- 格式: gunzip 压缩的文件名
- 例子: gunzip a.txt.gz : 意思是 把 a.txt.gz 解压成 a.txt
- 例子: gunzip -r test : 意思是把 test文件夹中 所有压缩的文件 解压成之前的文件
## bzip2解压缩命令
- 压缩
- 格式: bzip2 文件名
- 例子: bzip2 a.txt: 意思是把 a.txt 压缩成 a.txt.bz2 压缩包
- 注意: 不能压缩文件夹
- 解压
- 格式: bunzip2 压缩的文件名
- 例子: bunzip2 a.txt.bz2 : 意思是把 a.txt.bz2 解压成 a.txt
- 例子: bunzip2 -dk a.txt.bz2 : 意思是 保留 a.txt.bz2 压缩包, 并解压成 a.txt 文件
## tar命令: 对文件进行打包和解包(重要)
- 选项
- -c : 打包
- -v : 显示打包和解包信息
- -f : 指定打包和解包的文件
- -z : 用 gzip 的方式 进行 压缩
- -j : 用 bzip2 的方式进行 压缩
- 常用的例子
- tar -zcvf a.tar.gz aaa : 意思 是把 aaa 目录 打包并用gzip压缩成 a.tar.gz
- tar -jcvf a.tar.bz2 aaa: 意思是 把aaa 目录 打包 并用 bzip2 压缩成 a.tar.bz2
- tar -zxvf a.tar.gz : 用 gzip的方式进行解压
- tar -jxvf a.tar.bz2: 用 bzip2的方式进行解压
---
## 下载资源的命令: wget 网上资源的链接地址
---
#### 查找一个文件所在的路径
- 命令: find
- 格式: find 从哪个目录开始找 -name 文件名
- 例子: find / -name a.txt. 意思是 从 根目录下面 找 a.txt 文件所在的路径
#### 安装软件的三种方式
- rpm: 下载 后缀是 .rpm 的软件包到本地, 在本地进行安装. 这种方式就和 window下,通过 exe 或者 msi 软件 直接安装
- 安装: rpm -ivh 包名:
- 缺点: 必须安装这个包所有的依赖包,才能安装成功,所有一般不用这个命令安装软件
- 卸载: rpm -e 包名:
- 缺点: 必须卸载 所有依赖包, 才能卸载当前包, 所以一般也不用这个命令卸载软件
- 查看当前系统所有安装的包(软件)
- 命令: rpm -qa, 如果要快速查看某一个软件有没有安装,那么需要用 管道命令,例如 查看python包有没有安装,那么命令是`rpm -qa|grep python*`
- ps -ef:查看所有运行的软件
- ps -ef|grep 软件名: 查看自己的软件是否运行
- yum: 不需要把软件下载到本地, 直接在线安装 (60%的人都会使用这个命令)
- 查找软件包: yum search 包名
- 列出所有的软件包: yum list installed , 这个命令 和 rpm -qa 的结果是一样的
- 安装软件包: yum install 包名 -y
- 卸载软件包: yum remove 包名 -y
- 查看需要更新的软件包: yum check-update
- 更新软件包: yum update 包名 -y
- 缺点:
- 软件源中的包不是最新的
- 软件源中不包含要使用的包
- 使用软件的版本和 源中软件的版本不一样
- 通过源码的形式进行安装: 一般都是在网上下载 后缀是 tar.gz 或者 tar.bz2 的源码压缩包, 然后解压进行源码 (40%的人都会使用这个命令)