linux 中的高级命令
一:重定向
1. 重定向命令的介绍
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。
2. 重定向命令的使用
命令 | 说明 |
---|---|
> | 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 |
>> | 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 |
二:查看文件内容
命令 | 说明 |
---|---|
cat | 查看小型文件 |
more | 分屏查看大型文件 |
more 命令的操作键
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
2. 管道(|)命令的使用
管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
三:链接命令
1. 链接命令的介绍
链接命令是创建链接文件,链接文件分为:
- 软链接
- 硬链接
命令 | 说明 |
---|---|
ln -s | 创建软链接 |
ln | 创建硬链接 |
2. 软链接
类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。
注意点:
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
- 删除源文件则软链接失效
- 可以给目录创建软链接
4. 硬链接
类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据
注意点:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据。
- 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
- 创建软链接,硬链接数不会加1
- 不能给目录创建硬链接
硬链接数:
硬链接数就是文件数据被文件名使用的次数, 好比引用计数
四:文本搜索命令
1. grep命令的使用
命令 | 说明 |
---|---|
grep | 文本搜索 |
grep命令效果图:
2. grep命令选项的使用
命令选项 | 说明 |
---|---|
-i | 忽略大小写 |
-n | 显示匹配行号 |
-v | 显示不包含匹配文本的所有行 |
-i命令选项效果图:
-n命令选项效果图:
-v命令选项效果图:
3. grep命令结合正则表达式的使用
正则表达式 | 说明 |
---|---|
^ | 以指定字符串开头 |
$ | 以指定字符串结尾 |
. | 匹配一个非换行符的字符 |
正则表达式‘^’的效果图:
正则表达式‘$’的效果图:
正则表达式‘.’的效果图:
4. 扩展
- grep 命令还可以文本搜索管道中的内容,比如: ls / | grep ‘lib’
- 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls / | grep lib, grep hello 1.txt
五:查找文本命令
1. find命令及选项的使用
命令 | 说明 |
---|---|
find | 在指定目录下查找文件(包括目录) |
find命令选项:
选项 | 说明 |
---|---|
-name | 根据文件名(包括目录名)字查找 |
find命令及选项的效果图:
2. find命令结合通配符的使用
通配符:
是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
通配符 | 说明 |
---|---|
* | 代表0个或多个任意字符 |
? | 代表任意一个字符 |
*通配符的效果图:
?通配符的效果图:
扩展:
通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find 命令使用通配符需要加上引号。
六:压缩和解压命令
1. 压缩格式的介绍
Linux默认支持的压缩格式:
- .gz
- .bz2
- .zip
说明:
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩
压缩目的:
- 节省磁盘空间
2. tar命令及选项的使用
命令 | 说明 |
---|---|
tar | 压缩和解压缩命令 |
tar命令选项:
选项 | 说明 |
---|---|
-c | 创建打包文件 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称, 必须放到所有选项后面 |
-z | 压缩或解压缩(.gz) |
-j | 压缩或解压缩(.bz2) |
-x | 解包 |
-C | 解压缩到指定目录 |
压缩成.gz的效果图:
压缩成.bz2的效果图:
解压缩.gz的效果图:
解压缩.gz到指定目录效果图:
解压缩.bz2的效果图:
解压缩.bz2到指定目录效果图:
3. zip和unzip命令及选项的使用
命令 | 说明 |
---|---|
zip | 压缩成.zip格式文件 |
unzip | 解压缩.zip格式文件 |
unzip命令选项:
选项 | 说明 |
---|---|
-d | 解压缩到指定目录 |
压缩成.zip的效果图:
解压缩.gz的效果图:
解压缩.zip到指定目录效果图:
说明:
- 压缩文件尽量使用.gz格式,因为占用空间较少
- 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。
七:文件权限的用法
1. chmod命令的介绍
命令 | 说明 |
---|---|
chmod | 修改文件权限 |
chmod修改文件权限有两种方式:
- 字母法
- 数字法
2. chmod 字母法的使用
角色说明:
角色 | 说明 |
---|---|
u | user, 表示该文件的所有者 |
g | group, 表示用户组 |
o | other, 表示其他用户 |
a | all, 表示所有用户 |
权限设置说明:
操作符 | 说明 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设置权限 |
权限说明:
权限 | 说明 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
- | 无任何权限 |
chmod命令字母法效果图:
chmod命令同时设置多个角色的效果图:
3. chmod 数字法的使用
数字法就是“rwx” 这些权限也可以用数字来代替
权限说明:
权限 | 说明 |
---|---|
r | 可读,权限值是4 |
w | 可写,权限值是2 |
x | 可执行,权限值是1 |
- | 无任何权限,权限值是0 |
chmod命令数字法效果图:
八:获取用户相关的命令
2. whoami命令的使用
命令 | 说明 |
---|---|
whoami | 查看当前用户限 |
whoami 命令效果图:
3. exit命令的使用
命令 | 说明 |
---|---|
exit | 退出登录用户 |
exit 命令的效果图:
说明:
- 如果是切换后的登陆用户,退出则返回上一个登陆账号。
- 如果是终端界面,退出当前终端。
4. who命令的使用
命令 | 说明 |
---|---|
who | 查看所有的登录用户 |
who 命令的效果图:
5. passwd命令的使用
命令 | 说明 |
---|---|
passwd | 修改用户密码,不指定用户默认修改当前登录用户密码 |
passwd 命令的效果图:
6. which命令的使用
命令 | 说明 |
---|---|
which | 查看命令位置 |
which 命令的效果图:
7. 关机和重启命令的使用
命令 | 说明 |
---|---|
shutdown –h now | 立刻关机 |
reboot | 重启 |
九:用户相关操作
1. 创建用户
命令 | 说明 |
---|---|
useradd | 创建(添加)用户 |
useradd命令选项:
选项 | 说明 |
---|---|
-m | 自动创建用户主目录,主目录的名字就是用户名 |
-g | 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 |
创建用户效果图:
查看所有用户信息的文件效果图:
说明:
- useradd 命令的使用需要使用管理员权限,前面需要加上 sudo
- 创建用户如果不指定用户组,默认会自动创建一个同名的用户组
- 查看用户是否创建成功,可以查看/etc/passwd这个文件
- 查看用户组是否创建成功,可以查看/etc/group这个文件
passwd文件中的每项信息说明,以root:x:0:0:root:/root:/bin/bash为例:
- 第一个:用户名
- 第二个:密码占位符
- 第三个:uid, 用户id
- 第四个:gid, 用户所在组id
- 第五个:用户描述, 可选,
- 第六个:用户的主目录所在位置
- 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
group文件中的每项信息说明, 以laowang:x:1001:为例:
- 第一个:用户组名
- 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
- 第三个:组id
id命令查看用户信息:
命令 | 说明 |
---|---|
id | 查看用户信息 |
id命令效果图:
每项信息说明:
uid=1001(laowang) gid=1001(laowang) 组=1001(laowang)
- 第一个: uid 表示用户id
- 第二个: gid 表示用户组id
- 第三个: 组 表示用户所在的用户组
2. 设置密码
给其它用户设置密码,需要使用: sudo passwd 用户名
设置密码效果图:
3. 切换用户
命令 | 说明 |
---|---|
su | 切换用户 |
语法格式: su - 用户名
切换用户效果图:
在laowang用户使用sudo -s效果图:
解决办法:
- 给laowang用户设置一个sudo附加组, 需要使用usermod修改用户信息
4. 修改用户信息
命令 | 说明 |
---|---|
usermod | 修改用户信息 |
usermod选项:
命令 | 说明 |
---|---|
-G | 设置一个附加组 |
-g | 修改用户组 |
usermod命令效果图:
设置附加组sudo以后,在sudo -s切换到管理员用户效果图:
5. 扩展: 删除附加组
命令 | 说明 |
---|---|
gpasswd | 添加和删除附加组信息 |
gpasswd命令选项:
选项 | 说明 |
---|---|
-a 用户名 | 给用户添加附加组 |
-d 用户名 | 给用户删除附加组 |
删除附加组效果图:
删除附加组再次使用 sudo -s 效果图:
5. 删除用户
命令 | 说明 |
---|---|
userdel | 删除用户 |
userdel命令选项:
选项 | 说明 |
---|---|
-r 用户名 | 删除用户主目录,必须要设置,否则用户主目录不会删除 |
删除用户效果图:
id查看用户信息效果图:
查看group文件信息效果图:
说明:
- 删除用户,默认同名的用户组也会被删除
九:用户组的相关操作
1. 创建用户组
命令 | 说明 |
---|---|
groupadd | 创建(添加)用户组 |
创建用户组效果图:
2. 创建用户并指定用户组
创建用户并指定用户组效果图:
3. 修改用户组
修改用户组效果图:
4. 删除用户组
命令 | 说明 |
---|---|
groupdel | 删除用户组 |
删除用户组效果图:
说明:
- 如果用户组下面有用户先删除用户在删除用户组