Linux操作系统学习:day05

2024-06-20 01:04

本文主要是介绍Linux操作系统学习:day05,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容来自:Linux介绍

视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g++ -动态库/静态库 -makefile-gdb调试](

目录

    • day05
      • 30、删除用户
      • 31、添加和删除用户组
        • 创建用户组
        • 删除用户组
      • 32、修改密码
      • 33、使用tar工具进行压缩和解压缩
        • 压缩
        • 解压缩
      • 34、使用zip unzip工具进行压缩和解压缩
        • 压缩(zip)
        • 解压缩(unzip)

day05

30、删除用户

删除用户并不是将/home下的用户家目录删除就完事儿了, 我们需要使用userdle命令才能删除用户在系统中的用户ID和所属组ID等相关信息,但是需要注意的是在某些Linux版本中用户虽然被删除了, 但是它的家目录却没有被删除,需要我们手动将其删除。

# 删除用户, 添加参数 -r 就可以一并删除用户的家目录了
$ sudo userdel 用户名 -r# 删除用户 lisi
$ sudo userdel lisi -r# 使用deluser不能添加参数-r, 家目录不能被删除, 需要使用 rm 命令删除用户的家目录, 比如:
$ sudo rm /home/用户名 -r

通用删除用户命令sudo userdel 用户名 -r

由于Linux的版本很多,,删除用户对应的操作指令不是唯一的,经测试在 CentOS 版本只支持 userdel命令,在Ubuntu中既支持 userdel 也支持 deluser命令

31、添加和删除用户组

默认情况下, 只要创建新用户就会得到一个同名的用户组, 并且这个用户属于这个组。一般情况下不需要创建新的用户组,如果有需求可以使用 groupadd添加用户组, 使用 groupdel删除用户组。

由于普通用户没有添加删除用户组权限,因此需要在管理员(root)用户下操作,或者在普通用户下借助管理员权限完成该操作。

创建用户组
# 基于普通用户创建新的用户组
$ sudo groupadd 组名

验证用户组是否创建成功:

法1:

# 验证新的用户组是否创建成功
$ sudo chgrp 组名 要修改组别的文件名
# 查看其组名是否被修改
$ ll 要修改组别的文件名

法2:

可以查看 /etc/group文件,里边有用户组相关的信息:
在这里插入图片描述

删除用户组
# 基于普通用户删除已经存在的用户组
$ sudo groupdel 组名

在Ubuntu中添加删除用户组可以使用 addgroup/groupadddelgroup/groupdel

在CentOS中添加和删除用户只能使用 groupaddgroupdel

我们只需要通过 which 命令名 查看,就能知道该Linux版本是不是支持使用该命令了。

32、修改密码

Linux中设置用户密码和修改用户密码的方式是一样的, 修改用户密码又分几种情况: 修改当前用户密码, 普通用户A修改其他普通用户密码, 普通用户A修改root用户密码, root用户修改普通用户密码。修改密码需要使用passwd命令。当创建了一个普通用户却没有提示指定密码, 或者忘记了用户密码都可以通过该命令来实现自己重置密码的需求。

  • 当前用户修改自己的密码, 默认是有权限操作的
  • 当前普通用户修改其他用户密码, 默认没有权限, 需要借助管理员权限才能完成操作
  • 当前普通用户修改root用户密码, 默认没有权限, 需要借助管理员权限才能完成操作
  • root用户修改其他普通用户密码, 默认有权限, 可以直接修改
# passwd
# 修改当前用户
$ passwd# 修改非当前用户密码
$ sudo passwd 用户名# 修改root
$ sudo passwd root

通过以上介绍的相关命令我们可以知道,如果让一个普通用户可以使用管理员权限执行一些指令其实是非常危险的的, 因此普通用户默认是没有使用 sudo的权限的, 必须授权才能使用,工作场景中授权操作一定要慎重,要三思。

33、使用tar工具进行压缩和解压缩

在Linux操作系统中默认自带两个原始的压缩工具分别是 gzipbzip2, 但是它们都有先天的缺陷, 不能打包压缩文件, 每个文件都会生成一个单独的压缩包, 并且压缩之后不会保留原文件, 这是一件叔能忍婶也不能忍的事情。

Linux中自带一个打包工具,叫做tar, 默认情况下该工具是不能进行压缩操作的,在这种情况下targzip, bzip2就联姻了, 各自发挥各自的优势, Linux下最强大的打包压缩工具至此诞生。

我们在使用tar进行压缩和解压缩的时候, 只需要指定相对用的参数, 在其内部就会调用对应的压缩工具gzip或者bzip2完成指定的操作。

压缩

如果使用tar完成文件压缩, 涉及的参数如下, 在使用过程中参数没有先后顺序:

  • c: 创建压缩文件
  • z: 使用gzip的方式进行文件压缩
  • j: 使用bzip2的方式进行文件压缩
  • v: 压缩过程中显示压缩信息, 可以省略不写
  • f: 指定压缩包的名字

一般认为 .tgz 文件就等同于 .tar.gz 文件, 因此它们的压缩方式是相同的。

# 语法: 
$ tar 参数 生成的压缩包的名字 要压缩的文件(文件或者目录)# 备注: 关于生成的压缩包的名字, 建议使用标准后缀, 方便识别:- 压缩使用 gzip 方式,  标准后缀格式为: .tar.gz- 压缩使用 bzip2 方式, 标准后缀格式为: .tar.bz2	

举例: 使用gzip的方式进行文件压缩

# 查看目录内容
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt# 压缩目录中所有文件, 如果要压缩某几个文件, 直接指定文件名即可
[root@VM-8-14-centos ~/luffy]# tar zcvf all.tar.gz *
get/                     # ....... 压缩信息
get/link.lnk             # ....... 压缩信息
get/onepiece/            # ....... 压缩信息
get/onepiece/haha.txt
get/link.txt
onepiece.txt
robin.txt# 查看目录文件, 多了一个压缩文件 all.tar.gz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  robin.txt

举例: 使用bzip2的方式进行文件压缩

# 查看目录内容
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  robin.txt# 压缩目录中除 all.tar.gz 的文件和目录
[root@VM-8-14-centos ~/luffy]# tar jcvf part.tar.bz2 get onepiece.txt robin.txt 
get/                   # ....... 压缩信息
get/link.lnk           # ....... 压缩信息
get/onepiece/          # ....... 压缩信息
get/onepiece/haha.txt
get/link.txt
onepiece.txt
robin.txt# 查看目录信息, 多了一个压缩文件 part.tar.bz2
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt
解压缩

如果使用tar进行文件的解压缩, 涉及的参数如下, 在使用过程中参数没有先后顺序:

  • x: 释放压缩文件内容
  • z: 使用gzip的方式进行文件压缩, 压缩包后缀为.tar.gz
  • j: 使用bzip2的方式进行文件压缩, 压缩包后缀为.tar.bz2
  • v: 解压缩过程中显示解压缩信息
  • f: 指定压缩包的名字

举例: 使用gzip的方式进行文件解压缩

# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt  temp# 将 all.tar.gz 压缩包解压缩到 temp 目录中
[root@VM-8-14-centos ~/luffy]# tar zxvf all.tar.gz -C temp
get/                      # 解压缩文件信息
get/link.lnk              # 解压缩文件信息
get/onepiece/             # 解压缩文件信息
get/onepiece/haha.txt     # 解压缩文件信息
get/link.txt
onepiece.txt
robin.txt# 查看temp目录内容, 都是从压缩包中释放出来的
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

举例: 使用bzip2的方式进行文件解压缩

# 删除 temp 目录中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf# 查看 luffy 目录中的文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.tar.gz  get  onepiece.txt  part.tar.bz2  robin.txt  temp# 将 part.tar.bz2 中的文件加压缩到 temp 目录中
[root@VM-8-14-centos ~/luffy]# tar jxvf part.tar.bz2 -C temp
get/                         # 解压缩文件信息
get/link.lnk                 # 解压缩文件信息
get/onepiece/                # 解压缩文件信息
get/onepiece/haha.txt        # 解压缩文件信息
get/link.txt
onepiece.txt
robin.txt# 查看 temp 目录中的文件信息
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

34、使用zip unzip工具进行压缩和解压缩

zip格式的压缩包在Linux中也是很常见的, 在某些版本中需要安装才能使用

给普通用于添加sudo权限

  • Ubuntu
$ sudo apt install zip    	# 压缩
$ sudo apt install unzip	# 解压缩
  • CentOS
# 因为 centos 可以使用 root 用户登录, 基于 root 用户安装软件, 不需要加 sudo
$ sudo yum install zip    	# 压缩
$ sudo yum install unzip	# 解压缩
压缩(zip)

使用zip压缩目录需要注意一点, 必须要添加参数 -r, 这样才能将子目录中的文件一并压缩, 如果要压缩的文件中没有目录, 该参数就可以不写了。

另外使用zip压缩文件, 会自动生成文件后缀.zip, 因此就不需要额外指定了。

# 语法: 后自动添加压缩包后缀 .zip, 如果要压缩目录, 需要添加参数 r
# 不加参数 r 不会压缩子目录
$ zip [-r]  压缩包名 要压缩的文件

举例:

# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp# 压缩目录 get 和文件 onepiece.txt robin.txt 得到压缩包 all.zip(不需要指定后缀, 自动添加)
[root@VM-8-14-centos ~/luffy]# zip all onepiece.txt robin.txt get/ -radding: onepiece.txt (stored 0%)adding: robin.txt (stored 0%)adding: get/ (stored 0%)adding: get/link.lnk (stored 0%)             # 子目录中的文件也被压缩进去了adding: get/onepiece/ (stored 0%)            # 子目录中的文件也被压缩进去了adding: get/onepiece/haha.txt (stored 0%)    # 子目录中的文件也被压缩进去了adding: get/link.txt (stored 0%)             # 子目录中的文件也被压缩进去了# 查看目录文件信息, 多了一个压缩包文件 all.zip
[root@VM-8-14-centos ~/luffy]# ls
all.zip  get  onepiece.txt  robin.txt  temp
解压缩(unzip)

对应zip格式的文件解压缩, 必须要使用unzip命令, 和压缩的时候使用的命令是不一样的。如果压缩包中的文件要解压到指定目录需要指定参数-d, 默认是解压缩到当前目录中。

# 语法1: 解压到当前目录中 
$ unzip 压缩包名# 语法: 解压到指定目录, 需要添加参数 -d
$ unzip 压缩包名 -d 解压目录

举例

# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.zip  get  onepiece.txt  robin.txt  temp# 删除 temp 目录中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf# 将 all.zip 解压缩到 temp 目录中
[root@VM-8-14-centos ~/luffy]# unzip all.zip -d temp/
Archive:  all.zipextracting: temp/onepiece.txt           # 释放压缩的子目录中的文件            extracting: temp/robin.txt              # 释放压缩的子目录中的文件            creating: temp/get/extracting: temp/get/link.lnk       creating: temp/get/onepiece/extracting: temp/get/onepiece/haha.txt  # 释放压缩的子目录中的文件extracting: temp/get/link.txt      # 查看 temp 目录中的文件信息 
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt

这篇关于Linux操作系统学习:day05的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076664

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更