linux命令格式及who、whoami、su和passwd命令

1. Linux命令的格式

Linux命令的语法格式:

命令 【选项】 【参数】

命令格式中命令、选项、参数的具体含义:

命令:告诉Linux(UNIX)操作系统做(执行)什么。
选项:说明命令运行的方式(可以改变命令的功能)。选项部分是以“-”字符开始的。
参数:说明命令影响(操作)的是什么(如一个文件、一个目录或是一段正文文字)

2. whoami命令

whoami命令常用工具命令 whoami命令用于打印当前有效的用户名称,相当于执行id -un命令。

语法:

whoami(选项)

选项:

--help:在线帮助;

--version:显示版本信息。

实例:

[root@localhost ~]# whoami

root

[root@localhost ~]# id -un

root

3. who命令

who命令是显示目前登录系统的用户信息。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。

语法:

who(选项)(参数)

选项:

-H或--heading:显示各栏位的标题信息列;

-i或-u或--idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;

-m:此参数的效果和指定"am i"字符串相同;

-q或--count:只显示登入系统的帐号名称和总人数;

-s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;

-w或-T或--mesg或--message或--writable:显示用户的信息状态栏;

--help:在线帮助;

--version:显示版本信息。

参数:

文件:指定查询文件。

实例:

[root@localhost ~]# who

root pts/0 2013-08-19 15:04 (192.168.0.134)

root pts/1 2013-12-20 10:37 (180.111.155.40)

[root@localhost ~]# who -q

root root

# users=2

[root@localhost ~]# who -H

NAME      LINE           time                    COMMENT

root         pts/0    2013-08-19 15:04  (192.168.0.134)

root         pts/1    2013-12-20 10:37  (180.111.155.40)

[root@localhost ~]# who -w

root   + pts/0   2013-08-19 15:04  (192.168.0.134)

root   + pts/1   2013-12-20 10:37  (180.111.155.40)

4.su命令

su命令用户和工作组管理 su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

语法:

su(选项)(参数)

选项:

-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;

-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;

-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;

-m,-p或--preserve-environment:变更身份时,不要变更环境变量;

-s或--shell=:指定要执行的shell;

--help:显示帮助;

--version;显示版本信息。

参数:

用户:指定要切换身份的目标用户。

实例:

变更帐号为root并在执行ls指令后退出变回原使用者:

su -c ls root

变更帐号为root并传入-f选项给新执行的shell:

su root -f

变更帐号为test并改变工作目录至test的家目录:

su -test

5.passwd命令

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

语法:

passwd(选项)(参数)

选项:

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

-f:强制执行;

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

-l:锁住密码;

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

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

参数:

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

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

存放用户信息

/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天时提醒

*  //禁用天数

*  //过期天数

实例:

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

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

Changing password for user linuxde.

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

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

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

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

[linuxde@localhost ~]$ passwd

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

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

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

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

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

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

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

Locking password for user linuxde. passwd: Success //锁定成功;

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

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

Changing password for user linuxde.

Changing password for linuxde (current) UNIX password: //输入linuxde的当前密码;

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

再来一例:

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

Removing password for user linuxde. passwd: Success //清除成功;

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

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

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

 

linux命令格式及who、whoami、su和passwd命令的更多相关文章

  1. linux系统(centos)下su和sudo命令的区别

    linux系统(centos)下su和sudo命令的区别 区别 我们在日常使用过程中,这2个命令很多时候能达到相同的效果,对细节区别十分模糊,这里进行简单的解释和区分.希望大家能够正确使用这2个命令, ...

  2. [Linux]学习笔记(4)-su及passwd的用法介绍

    (1)su su命令用于将当前的用户切换到一个指定的用户.语法为: su - user_name 如果用户利用telnet方式远程登录,是不能直接以root账户登录的,也就是说在使用telnet登录服 ...

  3. Linux命令格式及帮助命令详解

    昨天看了一个教程,关于Linux命令的,本来以为当是复习随便看看的,结果看了不禁汗颜,这个真挺有学问的,很多东西都是我还不知道的,故此做总结,此文适合于对Linux命令有一定了解但又不是很深入的孩子, ...

  4. 解读Linux命令格式(转)

    解读Linux命令格式   环境 Linux HA5-139JK 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x8 ...

  5. linux命令学习笔记(39):grep 命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来. grep全称是Global Regular Expression Print,表示全局正则表 ...

  6. linux命令学习笔记(47):iostat命令

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视. 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  7. linux命令学习笔记(18):locate 命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及 路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 d ...

  8. linux命令学习笔记(38):cal 命令

    cal命令可以用来显示公历(阳历)日历.公历是现在国际通用的历法,又称格列历,通称阳历. “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”. .命令格式: cal ...

  9. Linux 用户篇——用户管理命令之id、whoami、su、chage

    一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格 ...

随机推荐

  1. Intelij Idea 2016破解

    在注册时选择License server,输入http://www.iteblog.com/idea/key.php,点击OK

  2. 《数据结构与算法分析——C语言描述》ADT实现(NO.00) : 链表(Linked-List)

    开始学习数据结构,使用的教材是机械工业出版社的<数据结构与算法分析——C语言描述>,计划将书中的ADT用C语言实现一遍,记录于此.下面是第一个最简单的结构——链表. 链表(Linked-L ...

  3. mybatis学习:mybatis注解开发一对多

    实体类User: public class User implements Serializable { private Integer id; private String username; pr ...

  4. kuangbin带我飞QAQ DLX之一脸懵逼

    1. hust 1017 DLX精确覆盖 模板题 勉强写了注释,但还是一脸懵逼,感觉插入方式明显有问题但又不知道哪里不对而且好像能得出正确结果真是奇了怪了 #include <iostream& ...

  5. Promise的源码实现(符合Promise/A+规范)

    我们手写一个Promise/A+规范,然后安装测试脚本,以求通过这个规范. //Promise/A+源代码 // new Promise时,需要传递一个executor执行器,执行器立即执行 // e ...

  6. 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile

      通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...

  7. c#多线程通信之委托(事件)

    在研究c# 线程之间通信时,发现传统的方法大概有三种 ①全局变量,由于同一进程下的多个进程之间共享数据空间,所以使用全局变量是最简单的方法,但要记住使用volatile进行限制. ②线程之间发送消息( ...

  8. C++怎么读入非文本文件中的内容

    C++怎么读入非文本文件中的内容 3条回答 #include <io.h> #include <windows.h> void main() { char* pFileName ...

  9. “本地视频使用flashFXP上传虚拟服务器“的方法

    一.视频转换格式 首先,想要在网页中直接嵌入视频,就得用video标签,而<video>支持的仅有的几种格式中,MP4是兼容性,通用性各方面相对友好的,所以,建议上传之前先转换格式并压缩. ...

  10. NKOJ1472 警卫安排

    P1472警卫安排   时间限制 : 10000 MS   空间限制 : 65536 KB 问题描述 一个重要的基地被分为n个连通的区域.出于某种神秘的原因,这些区域以一个区域为核心,呈一颗树形分布. ...