您当前的位置: 首页 >  linux

黑马蓝汐

暂无认证

  • 1浏览

    0关注

    89博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux高级命令(一)

黑马蓝汐 发布时间:2022-01-04 18:36:39 ,浏览量:1

每日分享:

你要有足够的决心,你的原则才能发挥作用。但更重要的是,你要有足够的实力,你的原则才能守下去。

目录:

  1. 重定向命令
  2. 查看文件内容命令
  3. 链接命令
  4. 文本搜索命令
  5. 查找文件命令
  6. 压缩和解压缩命令
  7. 文件权限命令
  8. 获取管理员权限命令
  9. 用户相关操作
  10. 用户组相关操作
一、重定向命令

重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件

命令说明>如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式>>如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’模式

重定向命令示例:

只要在终端能显示信息的命令都可以使用重定向:ls、tree、pwd等等

二、查看文件内容命令 命令说明cat查看小型文件more分屏查看大型文件

cat命令示例:

gedit命令示例:

  •  cat命令结合重定向可以完成多个文件的合并
  • gedit文件编辑命令,可以查看并编辑文件

more命令示例:

当查看的内容信息过长无法在一屏上显示时,可以使用more命令在终端分屏显示文件内容

操作说明:

操作键说明空格显示下一屏信息回车显示下一行信息b显示上一屏信息f显示下一屏信息q退出

管道(|)命令的使用:

管道(|):一个命令的输出可以通过管道作为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容

管道命令示例:

 管道一般结合more命令使用,主要是分屏查看终端显示内容

三、链接命令

链接命令是创建链接文件,链接文件:

  • 软链接
  • 硬链接
命令说明ln -s创建软链接ln创建硬链接

1. 软链接

类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便的使用它,可以给源文件创建一个软链接

在同一路径下创建软链接:

当然也可以创建在当前目录下的文件夹里:

但在当前目录下的文件夹中的文件夹内就创建失败了:

上级目录也会失败:

 当软链接和源文件路径不同时,源文件要使用绝对路径:

还可以对目录创建软链接:

删除源文件后,软链接也会失效:

源文件和软链接数据同步:

 注意:

  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径
  • 删除源文件则软链接失效
  • 可以给目录创建软链接
2. 硬链接

类似于源文件的一个别名,也就是说这两个名字指向同一个文件数据

硬链接示例:

同一目录下创建硬链接:

不同目录下创建硬链接:(使用相对路径也可以创建成功) 

源文件和硬链接数据同步:

 删除源文件,仍可以访问硬链接:

 给目录创建硬链接会失败:

注意:

  •  创建硬链接使用相对路径和绝对路径都可以
  • 删除源文件,硬链接还可以访问到数据
  • 创建硬链接,硬链接数会加1,删除源文件或硬链接,硬链接数会减1
  • 创建软链接,硬链接数不变
  • 不能给目录创建硬链接

硬链接数:

硬链接数就是文件数据被文件名使用的次数,就类似于引用计数

硬链接和软链接以及备份文件都可以防止误删,但硬链接和软链接还可以实现数据同步,而这是备份文件所没有的

四、文本搜索命令 1. grep命令的使用 命令说明grep文本搜索

grep命令示例:

2. grep命令选项的使用 命令选项说明-i忽略大小写-n显示匹配行号-v显示不包含匹配文本的所有行

-i和-n选项示例:

-v选项示例:

 3. grep命令结合正则表达式的使用(简介) 正则表达式说明^以指定字符串开头$以指定字符串结尾.匹配一个非换行的字符

grep与正则表达式“^”、“$”、“.”示例:

grep命令还可以文本搜索管道中的内容:

使用grep命令的时候,还可以省略搜索内容的引号:

五、查找文件命令 1. find命令及选项的使用 命令说明find在指定目录下查找文件(包括目录)

find命令选项:

选项说明-name根据文件名(包括目录名)字查找

find命令及选项示例:

2. find命令结合通配符的使用

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件

通配符说明*代表0个或多个任意字符?代表任意一个字符

find与通配符结合示例:

通配符不仅能结合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示例:

解压缩zip示例:

解压缩到指定目录示例:

一般来说比较官方正规(python)的使用.gz 

.zip适用性高(win系统也有zip)、代码简洁,但压缩效果不好

 七、文件权限命令 1. chmod命令的介绍 命令说明chmod修改文件权限

chmod修改文件权限有两种方式:

  • 字母法
  • 数字法
2. chmod字母法的应用 角色说明uuser,表示该文件的所有者ggroup,表示用户组oother,表示其他用户aall,表示所有用户

权限设置:

操作符说明+增加权限-撤销权限=设置权限

权限:

权限说明r可读w可写x可执行-无权限

角色user、group、other与权限rwx应用示例:

角色all应用示例:

权限设置除了=还有+-: (对多个角色进行操作中间用逗号隔开)

3. chmod数字法的使用

数字法就是‘rwx’这些权限可以用数字来代替

权限:

权限说明r可读,值为4w可写,值为2x可执行,值为1-无权限,值为0

数字法设置多个权限需要把各权限对应的值加起来

chmod数字法示例:

设置all没有读写执行的权限: 

 八、获取管理员权限命令 1. sudo命令的使用 命令说明sudo -s切换到root用户,获取管理员权限sudo某个命令的执行需要获取管理员权限可以在执行命令前加上sudo

命令说明exit退出登录用户

sudo -s 应用示例:

exit可以退出管理员权限:

  • 如果是切换后的登录用户,则退出返回上一个登录账号
  • 如果是终端界面,退出当前终端

sudo命令示例:(同一终端,再次使用管理员权限不用再次输入密码)

  • 如果只是某次操作需要使用管理员权限,建议使用sudo
  • 如果大量操作都需要使用管理员权限,就使用sudo -s,但一定要小心操作(尤其是删除文件的时候)
2. whoami命令使用 命令说明whoami查找当前用户限

whoami命令应用示例:

3. who命令的使用 命令说明who查看所有的登录用户

who命令应用示例:

4. passwd命令使用 命令说明passwd修改用户密码,不指定用户,默认修改当前登录用户密码

passwd命令应用示例:

5. which命令的使用 命令说明which查看命令位置

which命令应用示例:

6. 关机和重启命令使用 命令说明shutdown -h now立刻关机reboot重启

九、用户相关操作 1. 创建用户 命令说明useradd创建(添加)用户

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
  • 组表示用户所在的用户组
2. 设置密码

给其他用户设置密码:sudo passwd 用户名

为什么不是直接passwd设置密码?

passwd是给当前用户设置密码

 3. 切换用户 命令说明su切换用户

切换用户:su - 用户名

 在hello用户使用sudo -s示例:

 可以看到hello用户没有管理员权限,我们需要给hello用户设置一个sudo附加组,之后其才可以有管理员权限。(需要使用usermod修改用户信息)

4. 修改用户信息 命令说明usermod修改用户信息

usermod选项:

命令说明-G设置一个附加组-g修改用户组

usermod命令示例:

 设置附加组sudo后,就可以使用sudo -s了:

 5. 删除附加组 命令说明gpasswd添加和删除附加组信息

gpasswd命令选项:

选项说明-a 用户名给用户添加附加组-d 用户名给用户删除附加组

删除附加组示例:

删除后需重新打开终端: 

6. 删除用户 命令说明userdel删除用户

userdel命令的选项:

选项说明-r 用户名删除用户主目录,必须要设置,否则用户主目录不会删

删除用户示例:

id查看用户信息示例:

查看group文件信息示例:

 十、用户组相关操作 1. 创建用户组(sudo groupadd 用户组名) 命令说明groupadd创建(添加组)

创建用户示例:

2. 创建用户并指定用户组(sudo useradd -m -g 用户组名 用户名)

创建用户并指定用户组示例: (没有重启终端,所以没有让输入密码)

 3. 修改用户组(sudo usermod -g 用户组名 用户名)

 4. 删除用户组(sudo groupdel 用户组名) 命令说明groupdel删除用户组

删除用户组示例:

删除有用户的用户组:(需要先删除用户)

关注
打赏
1643043582
查看更多评论
立即登录/注册

微信扫码登录

0.0455s