更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux命令 > Linux passwd、partprobe、patch、paster命令的用法及解释

Linux passwd、partprobe、patch、paster命令的用法及解释

更新时间:2022-01-20 15:16:37浏览次数:428+次

以下为你详细解释passwd、partprobe、patch、paster命令的用法。

\

Linux passwd命令的用法及解释

Linux passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

1、语法

passwd(选项)(参数)

2、选项

-d:删除密码,仅有系统管理者才能使用;

-f:强制执行;

-k:设置只有在密码过期失效后,方能更新;

-l:锁住密码;

-s:列出密码的相关信息,仅有系统管理者才能使用;

-u:解开已上锁的帐号。

3、参数

用户名:需要设置密码的用户名。

4、知识扩展

与用户、组账户信息相关的文件:

存放用户信息:

/etc/passwd

/etc/shadow

存放组信息:

/etc/group

/etc/gshadow

用户信息文件分析(每项用:隔开):

例如:jack:X:503:504:::/home/jack/:/bin/bash

jack  //用户名

X  //口令、密码

503  //用户id(0代表root、普通新建用户从500开始)

504  //所在组

:  //描述

/home/jack/  //用户主目录

/bin/bash  //用户缺省Shell

组信息文件分析:

例如:jack:$!$:???:13801:0:99999:7:*:*:

jack  //组名

$!$  //被加密的口令

13801  //创建日期与今天相隔的天数

0  //口令最短位数

99999  //用户口令

7  //到7天时提醒

*  //禁用天数

*  //过期天数

5、实例

如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。

[root@localhost ~]# passwd hmxthome    //更改或创建hmxthome用户的密码;

Changing password for user hmxthome.

New UNIX password:          //请输入新密码;

Retype new UNIX password:   //再输入一次;

passwd: all authentication tokens updated successfully. //成功;

普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是hmxthome。

[hmxthome@localhost ~]$ passwd

Changing password for user hmxthome. //更改hmxthome用户的密码;

(current) UNIX password:   //请输入当前密码;

New UNIX password:         //请输入新密码;

Retype new UNIX password:  //确认新密码;

passwd: all authentication tokens updated successfully. //更改成功;

比如我们让某个用户不能修改密码,可以用-l选项来锁定:

[root@localhost ~]# passwd -l hmxthome    //锁定用户hmxthome不能更改密码;

Locking password for user hmxthome.

passwd: Success           //锁定成功;

[hmxthome@localhost ~]# su hmxthome   //通过su切换到hmxthome用户;

[hmxthome@localhost ~]$ passwd      //hmxthome来更改密码;

Changing password for user hmxthome.

Changing password for hmxthome

(current) UNIX password:          //输入hmxthome的当前密码;

passwd: Authentication token manipulation error     //失败,不能更改密码;

再来一例:

[root@localhost ~]# passwd -d hmxthome  //清除hmxthome用户密码;

Removing password for user hmxthome.

passwd: Success                         //清除成功;

[root@localhost ~]# passwd -S hmxthome    //查询hmxthome用户密码状态;

Empty password.                         //空密码,也就是没有密码;

注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。

Linux partprobe命令的用法及解释

Linux partprobe命令用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。

1、语法

partprobe(选项)(参数)

2、选项

-d:不更新内核;

-s:显示摘要和分区;

-h:显示帮助信息;

-v:显示版本信息。

3、参数

设备:指定需要确认分区表改变的硬盘对应的设备文件。

4、实例

使用partprobe不重启系统添加新的磁盘分区,主机自带硬盘超过300GB,目前只划分使用了3个主分区,不到70GB,如下:

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on 

/dev/sda1 29G 3.7G  24G 14% / 

/dev/sda2 29G  22G 5.2G 81% /oracle 

tmpfs    2.0G    0 2.0G  0% /dev/shm

[root@localhost ~]# cat /proc/partitions

major minor  #blocks  name

8     0  311427072 sda

8     1   30716248 sda1

8     2   30716280 sda2

8     3    8193150 sda3

8    16     976896 sdb

8    32     976896 sdc

…省略其它

现在需要给系统添加1个100GB的空间存放数据文件,而又不影响现有系统上业务的运行,使用fdisk结合partprobe命令不重启系统添加一块新的磁盘分区。操作步骤如下:

第1步 添加新的磁盘分区:

[root@localhost ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 38770.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of lilo)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

command (m for help): p

Disk /dev/sda: 318.9 GB, 318901321728 bytes

255 heads, 63 sectors/track, 38770 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   id  System

/dev/sda1   *           1        3824    30716248+  83  Linux

/dev/sda2            3825        7648    30716280   83  Linux

/dev/sda3            7649        8668     8193150   82  Linux swap / Solaris

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Selected partition 4

First cylinder (8669-38770, default 8669):

Using default value 8669

last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G   

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16:

Device or resource busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

第2步 使用工具partprobe让kernel读取分区信息:

[root@localhost ~]# partprobe

使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,而使用partprobe则可以使kernel重新读取分区信息,从而避免重启系统。

第3步 格式化文件系统:

[root@localhost ~]# mkfs.ext3 /dev/sda4

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

12222464 inodes, 24416791 blocks

1220839 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4294967296

746 block groups

32768 blocks per group, 32768 fragments per group

16384 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,

    2654208, 4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information:

done

This filesystem will be automatically checked every 26 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@localhost ~]#

第4步 mount新的分区/dev/sda4:

[root@localhost ~]# e2label  /dev/sda4 /data

[root@localhost ~]# mkdir /data

[root@localhost ~]# mount /dev/sda4 /data

[root@localhost ~]# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             29753556   3810844  24406900  14% /

/dev/sda2             29753588  11304616  16913160  41% /oracle

tmpfs                  2023936         0   2023936   0% /dev/shm

/dev/sda4             96132968    192312  91057300   1% /data

使用partprobe可以不用重启系统即可配合fdisk工具创建新的分区。

Linux patch命令的用法及解释

Linux patch命令被用于为开放源代码软件安装补丁程序。让用户利用设置修补文件的方式,修改,更新原始文件。如果一次仅修改一个文件,可直接在命令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。

1、语法

patch(选项)(参数)

2、选项

-b或--backup:备份每一个原始文件;

-B<备份字首字符串>或--prefix=<备份字首字符串>:设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称;

-c或--context:把修补数据解译成关联性的差异;

-d<工作目录>或--directory=<工作目录>:设置工作目录;

-D<标示符号>或--ifdef=<标示符号>:用指定的符号把改变的地方标示出来;

-e或--ed:把修补数据解译成ed指令可用的叙述文件;

-E或--remove-empty-files:若修补过后输出的文件其内容是一片空白,则移除该文件;

-f或--force:此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新版本;

-F<监别列数>或--fuzz<监别列数>:设置监别列数的最大值;

-g<控制数值>或--get=<控制数值>:设置以RSC或SCCS控制修补作业;

-i<修补文件>或--input=<修补文件>:读取指定的修补问家你;

-l或--ignore-whitespace:忽略修补数据与输入数据的跳格,空格字符;

-n或--normal:把修补数据解译成一般性的差异;

-N或--forward:忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过;

-o<输出文件>或--output=<输出文件>:设置输出文件的名称,修补过的文件会以该名称存放;

-p<剥离层级>或--strip=<剥离层级>:设置欲剥离几层路径名称;

-f<拒绝文件>或--reject-file=<拒绝文件>:设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej;

-R或--reverse:假设修补数据是由新旧文件交换位置而产生;

-s或--quiet或--silent:不显示指令执行过程,除非发生错误;

-t或--batch:自动略过错误,不询问任何问题;

-T或--set-time:此参数的效果和指定"-Z"参数类似,但以本地时间为主;

-u或--unified:把修补数据解译成一致化的差异;

-v或--version:显示版本信息;

-V<备份方式>或--version-control=<备份方式>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串;

-Y<备份字首字符串>或--basename-prefix=--<备份字首字符串>:设置文件备份时,附加在文件基本名称开头的字首字符串;

-z<备份字尾字符串>或--suffix=<备份字尾字符串>:此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里;

-Z或--set-utc:把修补过的文件更改,存取时间设为UTC;

--backup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件;

--binary:以二进制模式读写数据,而不通过标准输出设备;

--help:在线帮助;

--nobackup-if-mismatch:在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件;

--verbose:详细显示指令的执行过程。

3、参数

原文件:指定需要打补丁的原始文件;

补丁文件:指定补丁文件。

Linux paster命令的用法及解释

1、Linux paster命令用法

paste [选项]... [文件]...

将每个指定文件里的每一行整合到对应一行里写到标准输出,之间用制表符分隔。

如果没有指定文件,或指定文件为"-",程序将从标准输入读取数据。

长选项必须使用的参数对于短选项时也是必需使用的。

-d, --delimiters=列表:改用指定列表里的字符替代制表分隔符

-s, --serial:不使用平行的行目输出模式,而是每个文件占用一行

--help:显示此帮助信息并退出

--version:显示版本信息并退出

2、实例

[root@localhost ~]# head slow1.txt

150114    13:34:56

150114    13:38:03

150114    13:59:39

[root@localhost ~]# head slow2.txt

webadmin 101.251.192.49

webadmin 101.251.192.49

webadmin 101.251.192.49

[root@localhost ~]# paste slow1.txt slow2.txt > slow12.txt

[root@localhost ~]# head slow12.txt

150114    13:34:56    webadmin 101.251.192.49

150114    13:38:03    webadmin 101.251.192.49

150114    13:59:39    webadmin 101.251.192.49