每日分享:
你要有足够的决心,你的原则才能发挥作用。但更重要的是,你要有足够的实力,你的原则才能守下去。
目录:
- 重定向命令
- 查看文件内容命令
- 链接命令
- 文本搜索命令
- 查找文件命令
- 压缩和解压缩命令
- 文件权限命令
- 获取管理员权限命令
- 用户相关操作
- 用户组相关操作
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件
命令说明>如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式>>如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’模式重定向命令示例:
只要在终端能显示信息的命令都可以使用重定向:ls、tree、pwd等等
二、查看文件内容命令 命令说明cat查看小型文件more分屏查看大型文件cat命令示例:
gedit命令示例:
- cat命令结合重定向可以完成多个文件的合并
- gedit文件编辑命令,可以查看并编辑文件
more命令示例:
当查看的内容信息过长无法在一屏上显示时,可以使用more命令在终端分屏显示文件内容
操作说明:
操作键说明空格显示下一屏信息回车显示下一行信息b显示上一屏信息f显示下一屏信息q退出管道(|)命令的使用:
管道(|):一个命令的输出可以通过管道作为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容
管道命令示例:
管道一般结合more命令使用,主要是分屏查看终端显示内容
三、链接命令链接命令是创建链接文件,链接文件:
- 软链接
- 硬链接
类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便的使用它,可以给源文件创建一个软链接
在同一路径下创建软链接:
当然也可以创建在当前目录下的文件夹里:
但在当前目录下的文件夹中的文件夹内就创建失败了:
上级目录也会失败:
当软链接和源文件路径不同时,源文件要使用绝对路径:
还可以对目录创建软链接:
删除源文件后,软链接也会失效:
源文件和软链接数据同步:
注意:
- 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径
- 删除源文件则软链接失效
- 可以给目录创建软链接
类似于源文件的一个别名,也就是说这两个名字指向同一个文件数据
硬链接示例:
同一目录下创建硬链接:
不同目录下创建硬链接:(使用相对路径也可以创建成功)
源文件和硬链接数据同步:
删除源文件,仍可以访问硬链接:
给目录创建硬链接会失败:
注意:
- 创建硬链接使用相对路径和绝对路径都可以
- 删除源文件,硬链接还可以访问到数据
- 创建硬链接,硬链接数会加1,删除源文件或硬链接,硬链接数会减1
- 创建软链接,硬链接数不变
- 不能给目录创建硬链接
硬链接数:
硬链接数就是文件数据被文件名使用的次数,就类似于引用计数
硬链接和软链接以及备份文件都可以防止误删,但硬链接和软链接还可以实现数据同步,而这是备份文件所没有的
四、文本搜索命令 1. grep命令的使用 命令说明grep文本搜索grep命令示例:
-i和-n选项示例:
-v选项示例:
grep与正则表达式“^”、“$”、“.”示例:
grep命令还可以文本搜索管道中的内容:
使用grep命令的时候,还可以省略搜索内容的引号:
find命令选项:
选项说明-name根据文件名(包括目录名)字查找find命令及选项示例:
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
通配符说明*代表0个或多个任意字符?代表任意一个字符find与通配符结合示例:
通配符不仅能结合find命令使用,还可以结合其他命令使用,比如:ls、mv、cp等,需要注意的是只有find命令使用通配符需要加上引号,其他命令不能加引号
示例:
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到指定目录示例:
unzip命令选项:
选项说明-d解压缩到指定目录压缩成zip示例:
解压缩zip示例:
解压缩到指定目录示例:
一般来说比较官方正规(python)的使用.gz
.zip适用性高(win系统也有zip)、代码简洁,但压缩效果不好
chmod修改文件权限有两种方式:
- 字母法
- 数字法
权限设置:
操作符说明+增加权限-撤销权限=设置权限权限:
权限说明r可读w可写x可执行-无权限角色user、group、other与权限rwx应用示例:
角色all应用示例:
权限设置除了=还有+-: (对多个角色进行操作中间用逗号隔开)
数字法就是‘rwx’这些权限可以用数字来代替
权限:
权限说明r可读,值为4w可写,值为2x可执行,值为1-无权限,值为0数字法设置多个权限需要把各权限对应的值加起来
chmod数字法示例:
设置all没有读写执行的权限:
sudo -s 应用示例:
exit可以退出管理员权限:
- 如果是切换后的登录用户,则退出返回上一个登录账号
- 如果是终端界面,退出当前终端
sudo命令示例:(同一终端,再次使用管理员权限不用再次输入密码)
- 如果只是某次操作需要使用管理员权限,建议使用sudo
- 如果大量操作都需要使用管理员权限,就使用sudo -s,但一定要小心操作(尤其是删除文件的时候)
whoami命令应用示例:
who命令应用示例:
passwd命令应用示例:
which命令应用示例:
useradd命令选项:
选项说明-m自动创建用户主目录,主目录的名字就是用户名-g指定用户所属的用户组,默认不指定会自动创建一个同名的用户组创建用户示例:
查看所有用户信息的文件示例:
红框部分为刚刚创建的用户:
- useradd命令的使用需要有管理员权限,前面要加上sudo
- 创建用户如果不指定用户组(-g指定用户组),默认会创建一个同名的用户组
- 查看用户是否创建成功可以看/home或者/etc/passwd
- 查看用户组是否创建成功可以看/etc/group
passwd文件中每项信息说明:(以下图红框部分为例)
每项信息用:隔开
- 第一项:用户名
- 第二项:密码占位符
- 第三项:uid,用户id
- 第四项:gid,用户所在组的id
- 第五项:用户描述,可不写
- 第六项:用户的主目录所在位置
- 第七项:用户所用shell类型,一般是bash或sh,不设置默认为sh
group文件中的每项信息:
- 第一项:用户名
- 第二项:用户组密码占位符,一般Linux系统用户组没有密码
- 第三项:组id
id命令查看用户信息:
命令说明id查看用户信息id命令示例:
每项信息说明:
- uid:用户id
- gid:用户组id
- 组表示用户所在的用户组
给其他用户设置密码:sudo passwd 用户名
为什么不是直接passwd设置密码?
passwd是给当前用户设置密码
切换用户:su - 用户名
在hello用户使用sudo -s示例:
可以看到hello用户没有管理员权限,我们需要给hello用户设置一个sudo附加组,之后其才可以有管理员权限。(需要使用usermod修改用户信息)
4. 修改用户信息 命令说明usermod修改用户信息usermod选项:
命令说明-G设置一个附加组-g修改用户组usermod命令示例:
设置附加组sudo后,就可以使用sudo -s了:
gpasswd命令选项:
选项说明-a 用户名给用户添加附加组-d 用户名给用户删除附加组删除附加组示例:
删除后需重新打开终端:
userdel命令的选项:
选项说明-r 用户名删除用户主目录,必须要设置,否则用户主目录不会删删除用户示例:
id查看用户信息示例:
查看group文件信息示例:
创建用户示例:
创建用户并指定用户组示例: (没有重启终端,所以没有让输入密码)
删除用户组示例:
删除有用户的用户组:(需要先删除用户)