RHCSA 5 基础命令3

本文详细介绍Linux系统中文件的压缩、归档方法,以及用户和组管理的配置流程。涵盖了压缩命令如gzip、bzip2的使用,tar命令的打包与解包操作,用户与组的添加、修改和删除,以及权限的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一·文件的压缩与解压缩:
  • 常见的压缩文件扩展名:

    .gzgzip程序压缩的文件
    bz2bzip2程序压缩的文件
    tartar程序打包的数据,并没有经过压缩
    tar.gztar程序打包的文件,其中经过gzip的压缩
    tar.bz2tar程序打包的文件,其中经过bzip2的压缩
  • linux上常见的压缩命令就是gzip与bzip2

  1. gzip
分类压缩文件gzip解压文件
1gzip 文件名(原文件不存在)gunzip 文件名.gz
2gzip -c 文件名1 >文件名1.gz (保留原文件)gzip -cd 文件名2.gz >文件名2(保留原文件)
3gzip -d 文件名.gz(不保留)
  • 查看压缩过的文本文件内容:zcat 文件名.gz
  1. bzip2
分类压缩文件bzip2(用法同gzip)解压文件
1bzip2 文件名bzip2 -d 文件名.bz2(不保留原文件)
2bzip2 -c 文件名1 >文件名1.bz2(保留原文件)bunzip2 文件名.bz2
3bzip -cd 文件名2.bz2 > 文件名2(保留原文件)
  • 查看压缩过的文件内容:bzcat 文件名.bz2
二·文件的归档即打包文件
  • tar [主选项+辅选项] 文件或目录
主选项只能出现一个主选项
c—create 创建一个新归档文件
x—从归档文件中提取文件出来
t—列出归档文件的内容,查看已经打包了哪些文件,重点在查看文件名
辅选项解释
z—通过gzip的支持进行压缩/解压缩,一般格式为*.tar.gz
j—通过bzip2的支持进行压缩/解压缩,一般格式为*.tar.bz2
v—归档或解包过程中显示被打包的文件
C—这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数
f—输出结果到文件,必须写该选项
–exclude FILE:在打包的过程中,不要将 FILE 打包! --排除某个文件打包
  • 两种压缩方式:jcvf zcvf
  1. 打包、压缩文件1和2并重命名:tar zcvf 新文件名 文件名1 文件名2 文件名3 文件名4
  2. 解压:tar xvf 文件名 该命令会自动判断归档文件的压缩格式,自动调用相关程序进行解压缩
  3. 解压到指定路径:tar xvf 文件名 -C 目标路径
    tar -xjv -f filename.tar.bz2 -C 欲解压缩的目录
  4. 查看已压缩文件:tar tf 文件名
三·用户管理的配置文件:
  • -rw-r–r--. 1 root root 2416 Aug 25 10:11 /etc/passwd
    用户名:密码:用户uid号:gid:备注:用户的家目录:和根交互使用的shell用户:

  • 超级用户:root,uid为0

  • 系统用户:用来管理和运行服务,系统用户的shell为/sbin/nologin,不让该用户登录,uid为201-999,添加系统用户,不创建主目录和邮箱:useradd -r 用户名

  • 一般用户:1000-60000,添加一般用户时,系统默认为该用户创建主目录和邮箱(/home/用户名)(/var/mail/用户名)

  1. useradd 用户名=adduser 用户名
  2. 添加用户并添加选项:useradd 用户名 -u uid号 -g gid号/组名 -G 附加组/组名 -c 备注 -s 指定shell -d 指定家目录
  3. id 查看用户的uid、gid以及组 例如 id redhat
  4. 删除用户:userdel -r 用户名
  5. ----------. 1 root root 1434 Aug 25 10:10 /etc/shadow
用户的密码文件rabbit:2oxz:17956:0:99999:7:::
第一位用户名
第二位密码( i d id idsalt$encrypted,1为md5,2a为Blowfish,5为SHA-256,6为SHA-512。salt是一个最多16字符的随机生成的字符串,用来增加破解难度。encrypted是经过加密算法和salt算出来的密文。!!表示锁定状态)。
第三位最后一次修改密码的时间,从1970年1月1日到最后一次修改密码所经过的天数。
第四位密码最短使用期限,为0表示不限制。
第五位密码最长使用期限,密码使用多长时间之后必须要改密码,99999表示可不更改。
第六位密码过期警告时间,密码过期前多少天进行警告,提示用户改密码,但是不锁定用户。
第七位密码过期宽限期限,密码过期后必须改密码的时间,如果还没改,锁定用户,就只能找网管了。
第八位账号过期精确时间,如果为99999,意味着永不过期。
第九位保留字段
  1. /etc/login.defs定义了与/etc/passwd和/etc/shadow配套的用户限制设定
    /etc/defualt/useradd 用户添加时会创建的相关信息设置
    /etc/skel 用户家目录下相关隐藏文件
四·组管理的配置文件
  1. -rw-r–r--. 1 root root 998 Aug 25 10:30 /etc/group
  2. 组名:组密码:组id:用户列表
  3. 组:
    私有组:当组里只有它一个成员时,它的基本组也叫做私有组
    基本组:用户的默认组(班级)
    附加组:默认组以外的组(学生会)
    添加组groupadd -g gid 组名
修改组密码gpasswd
-a添加用户到组
-d将指定用户移出本组(从附加组移除)
-M设置组成员列表
-A指定组管理员为哪个用户
-r删除组密码
newgrp登陆一个新组
使用exit退出新组
  1. 为一个组更改名字:groupmod -n 新组名 -g gid 原组名
  2. 删除组(只能删除groupadd添加的组,无法删除用户的私有组):groupdel 组名
  3. 组密码的相关信息:
    /etc/gshadow
    student:!!::student

    组名:组密码(!开头,表示无合法密码,无群组管理员):群组管理员账号:用户列表
命令usermod解释
usermod -c改变用户的全名或者说描述名称
usermod -d改变用户的家目录
usermod -e设置用户账号的过期时间
usermod -g改变用户的gid
usermod -G将用户添加入一个新组
usermod -s改变用户的默认shell
usermod -l改变用户用户名
usermod -u改变用户的uid
usermod -L锁住密码,使账号不能用
usermod -U为用户密码解锁
  1. 给用户追加附加组:usermod -a -G 组名 用户名
  2. 给用户修改密码:passwd 用户名
    • echo 密码 | passwd --stdin 用户名
      修改rabbit的密码为chihuo。
      echo chihuo | passwd --stdin rabbit
命令passwd解释
passwd -n指定密码的最短使用期限
passwd -x指定密码的最长使用期限
passwd -w设置过期警告时间
passwd -l锁定用户账号密码
passwd -u解锁用户账号
passwd -d删除用户密码,在redhat中,空密码用户禁止登陆
修改配置文件添加用户:
  1. 修改配置:

/etc/passwd
/etc/shadow
/etc/group

  1. 添加家目录

/home/用户名
su - 用户名
-bash-4.2$
ll -a /etc/skel
cp -a /etc/skel/.bash* /home/用户名
su - haha
[haha@localhost ~]$

修改文件的属主和属组:
chown 属主:属组 文件名
chgrp 属组 文件名
  1. 从服务器上下载普通文件
    scp 用户名@目标IP地址:文件名 目录名
  2. 向服务器上传文件:
    scp 要上传文件的全路径 用户名@目标IP地址:文件名
  3. 从windows向linux上传:
    rz或者xftp
附加练习题
  1. 给fedora加密码,并设定其密码最短使用期限为2天,最长为50天

useradd fedora
echo 1234 | passwd --stdin fedora
passwd -n 2 -x 50 fedora

  1. 创建一个用户xiaoming,其ID号为2002,基本组为one(组ID为3003),附加组为linux。

groupadd -g 3003 one
groupadd linux
useradd xiaoming -u 2002 -g 3003 -G linux

  1. 创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh。

useradd fedora -c ‘Fedora Community’ -s /bin/tcsh

  1. 修改xiaoming的ID号为4004,基本组为linux,附加组为one和fedora。

usermod -u 4004 -G one,fedora -g linux xiaoming

  1. 将mandriva的默认shell改为/bin/bash。

usermod -s /bin/bash mandriva

  1. 添加系统用户hbase,且不允许其登陆系统。

useradd -r -s /sbin/nologin hbase

第二组题

  1. 创建一个rabbit用户,他的uid为2222,animal是他的基本组,他有三个附加组为cabbage,grass(grass的组id为6666)和carrot。

[root@localhost ~]# groupadd animal
[root@localhost ~]# groupadd cabbage
[root@localhost ~]# groupadd -g 6666 grass
[root@localhost ~]# groupadd carrot
[root@localhost ~]# useradd rabbit -u 2222 -g animal -G cabbage,grass,carrot
[root@localhost ~]# id rabbit
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)

  1. 修改rabbit的密码为chihuo。

[root@localhost ~]# echo chihuo | passwd --stdin rabbit
Changing password for user rabbit.
passwd: all authentication tokens updated successfully.

  1. 将rabbit用户的信息和该用户的密码信息保存到该用户的家目录下的secret中。

root@localhost ~]# id rabbit > /home/rabbit/secret
[root@localhost ~]# grep rabbit /etc/shadow >> /home/rabbit/secret
[root@localhost ~]# cat /home/rabbit/secret
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)
rabbit:$ 6$YwYmRJCc $Ldehw/lH48Nr940fIQ7Zpg0Bp6PMIfh1U0nnYaDekK0ZR0k5hUFdVJZ62P2o9ODgSBYPJRAzxHa9b8zqvApxz/:17956:0:99999:7:::

  1. 保留secret文件并以gzip的方式压缩该文件将其放在root用户的家目录。

[root@localhost ~]# gzip -c /home/rabbit/secret >/root/secret.gz
[root@localhost ~]# ll /root/
total 12
-rw-------. 1 root root 1782 Feb 25 15:15 anaconda-ks.cfg
-rw-------. 1 root root 1875 Feb 25 15:24 initial-setup-ks.cfg
-rw-r–r--. 1 root root 211 Mar 1 19:47 secret.gz

  1. 修改rabbit的家目录为rabbits并禁止rabbit用户登录系统。

[root@localhost ~]# usermod -d /home/rabbits rabbit
[root@localhost ~]# usermod -s /sbin/nologin rabbit
[root@localhost ~]# grep rabbit /etc/passwd
rabbit❌2222:1001::/home/rabbits:/sbin/nologin

  1. 将修改过的rabbit用户的信息添加到secret中。

[root@localhost ~]# grep rabbit /etc/passwd >> /home/rabbit/secret
[root@localhost ~]# cat /home/rabbit/secret
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)
rabbit:$ 6$YwYmRJCc $ Ldehw/lH48Nr940fIQ7Zpg0Bp6PMIfh1U0nnYaDekK0ZR0k5hUFdVJZ62P2o9ODgSBYPJRAzxHa9b8zqvApxz/:17956:0:99999:7:::
rabbit❌2222:1001::/home/rabbits:/sbin/nologin

内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值