# 高级命令
## 1. 重定向
将在终端执行命令的结果保存到目标文件。
```bash
> //如果文件存在则覆盖原有文件,相当于w模式
>> //如果文件存在则追加写入文件末尾,相当于a模式
```
## 2. 查看文件内容
```bash
cat 文件 //查看小型文件,cat命令结合重定向符可完成多个文件合并
more 文件 //分屏查看大文件
| //管道将一个命令输出通过管道作为另一个命令输入,临时存储终端结果
```
## 3. 链接命令
```bash
ln -s 文件 软链接 //文件创建软链接
ln -s 目录 软链接 //目录创建软链接
ln 文件 硬链接 //文件创建硬链接
```
软链接和源文件是两个对象,推荐使用软链接
硬链接和源文件是一个对象,更改一个就会影响另一个,目录无法创建硬链接
## 4. 文本搜索命令
```bash
grep 内容 文件 //在文件中搜索指定内容,输出含有指定内容的行
```
## 5. 查找文件命令
```bash
find 目录 -name 文件名
```
## 6. 压缩和解压缩
压缩 -c 解压 -x
```bash
tar -zcvf 压缩包.tar.gz 目录
tar -jcvf 压缩包.bz2 目录
tar -zxvf 压缩包.tar.gz
tar -zxvf 压缩包.tar.gz -C 目录
tar -jxvf 压缩包.bz2
tar -jxvf 压缩包.bz2 -C 目录
```
zip unzip
```bash
zip 压缩包.zip 目录
unzip 压缩包.zip
unzip 压缩包.zip -d 目录
```
## 7. 文件权限命令
chmod修改文件权限的两种方式:
- 字母法
```bash
chmod 角色 操作 权限 文件
chmod u+x 1.txt //对文件增加执行权限
chmod g=rw 1.txt //对用户组设置权限
```
- 数字法
| 权限 | 说明 |
| :--: | :------------: |
| r | 可读, 4 |
| w | 可写, 2 |
| x | 可执行, 1 |
| - | 无任何权限, 0 |
## 8. 获取管理员权限
```bash
sudo -s //切换到root用户,获取管理员权限
sudo 命令
```
```bash
whoami //查看当前用户
exit //退出当前用户
who //查看所有登录用户
passwd //修改用户密码
which 命令 //查看命令存储位置
shutdown -h now //立即关机
reboot //重启
```
## 9. 用户组相关操作
```bash
groupadd 用户组 //创建用户组
cat /etc/group //查看用户组信息,一般Linux系统用户组没有密码
sudo usermod -g 用户组 用户名 //修改用户组
```
## 10. 用户相关操作
```bash
useradd -m 用户名 //创建用户,默认同时创建一个同名的用户组
useradd -mg 用户组 用户名 //创建用户, 指定用户组
id 用户名 //查看指定用户信息
su -用户名 //切换指定用户
userdel -r 用户名 //删除用户,删除用户主目录,默认同名用户组同样被删除
```
## 11. vim编辑器
- 命令模式(Esc)
- 编辑模式(i)
- 末行模式(:)
## 12. 文件属性
```bash
#文件属性
-rwxrw-rwx 1 zyadmin zyadmin 40 Mar 25 11:48 start.sh*
#####第一列为文件类型######
- 表示普通文件;
d 表示目录;
l 表示链接文件;
p 表示管理文件;
b 表示块设备文件;
c 表示字符设备文件;
s 表示套接字文件;
######第二段表示文件[用户u][所在组g][拥有者o]权限[所有者a]###########
r 读取权限
w 写入权限
x 执行权限
######第三段表示目录/链接个数#######
对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数。
######第四段表示所有者(owner)及所在的用户组(group)########
######第五段表示文件大小(bytes)#######
######第六段表示修改日期#########
######第七段表示文件名称#########
######字体颜色########
灰白色表示普通文件;
亮绿色表示可执行文件;
亮红色表示压缩文件;
灰蓝色表示目录;
亮蓝色表示链接文件;
亮黄色表示设备文件;
```