Linux学习笔记之超详细基础linux命令

by:授客
QQ1033553122

---------------------------------接Part
4------------------------------

保存文件和退出

方法:

:w
文件
保存为指定文件,执行完毕后不关闭打开的文档

:q
退出vi,如果指定文件内容有改动,将出现提示信息。使用下面的命令才能退出vi

:q!
不保存文件,直接退出

:wq 
存盘并保存

:e! otherfile

停止编辑当前文件,并且不保存对其所做的修改,继续编辑其它文件,

:e otherfile

在没有对当前编辑文件进行修改的情况下,可以直接停止编辑,继续编辑其它文件,否则要先保存当前编辑的文件才可以

:r otherfile

把其它文件的内容插入到当前编辑文件中光标所在行的下一行

--图形化用户界面与字符串界面

运行级别

方法:修改/etc/inittab文件中"id:数字:initdefault"行中的数字来改变运行级别。

功能:修改运行级别,来修改图形化用户界面的启动方式

备注:/etc/inittab文件内容如下

[laiyu@rhel ~]$ cat
/etc/inittab

# inittab is only used by
upstart for the default runlevel.

#

# ADDING OTHER
CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# System initialization is
started by /etc/init/rcS.conf

#

# Individual runlevels are
started by /etc/init/rc.conf

#

# Ctrl-Alt-Delete is
handled by /etc/init/control-alt-delete.conf

#

# Terminal gettys are
handled by /etc/init/tty.conf and /etc/init/serial.conf,

# with configuration in
/etc/sysconfig/init.

#

# For information on how to
write upstart event handlers, or how

# upstart works, see
init(5), init(8), and initctl(8).

#

# Default runlevel. The
runlevels used are:

#   0 -
halt (Do NOT set initdefault to this)

#   1 -
Single user mode

#   2 -
Multiuser, without NFS (The same as 3, if you do not have
networking)

#   3 -
Full multiuser mode

#   4 -
unused

#   5 -
X11

#   6 -
reboot (Do NOT set initdefault to this)

#

id:5:initdefault:

注:#注释信息,"id:数字:initdefault"的行中的数字指定例启动时到运行级别,修改级别就修改图形化用户界面的启动方式。

--手工启动或关闭图形化界面

方法:startx

功能:启动X
Window桌面环境

[laiyu@localhost ~]$
startx

方法:【Ctrl+Alt+Backspace】

功能:关闭图形化界面,返回到手工启动时的字符界面

中文平台

方法:zhcon

功能:在安装了中文包后输入该命令启动中文平台

--用户与组群管理

与用户相关的文件:/etc/passwd文件

功能:保存用户帐号信息的文件

说明:/etc/passwd文件保存除口令之外的用户帐号信息

例子:查看用户帐号信息

[laiyu@localhost ~]$ cat
/etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

...

说明:

每一行代表一个用户帐号,每个帐号信息又由“:”划分为多个字段表示帐号属性

从左到右依次为用户名,口令,用户id,用户所属主群的id,全名(用户账户的附加信息),用户主目录,登录Shell

其中口令字段的内容总是用“x”来填充[如果这个字符用*,则表示帐号信息被禁用],加密后的口令保存在/etc/shadow文件中

超级用户ID
为0,系统用户ID:1-499,普通用户ID:500(安装完后新建的第一个用户的默认UID,其它以此类推)

超级用户所属组群ID:0,系统用户所属组群ID:
1-499,普通用户所属组群ID:500(安装完后新建的第一个组群的默认ID,其它以此类推)

/etc/shadow文件

功能:保存用户口令信息的文件

备注:/etc/shadow根据/etc/passwd文件产生。只有超级用户才能查看其内容,shadow文件保存时采用md5加密算法加密的口令

例子:查看用户口令信息文件/etc/shadow

[laiyu@localhost ~]$ cat
/etc/shadow

cat: /etc/shadow:
Permission denied

[laiyu@localhost ~]$
su

Password:

[root@localhost laiyu]# cat
/etc/shadow

root:$6$4VAWJHJnkZL9Ra2F$XzwmPd7LO8BP9hp9n5YNei/Z69zOfYM8HudOTOLTX48Ub2SU6Wxyh7iQULQk0deQMMOF9gTuwpmvTeUPqfSR90:15655:0:99999:7:::

bin:*:15655:0:99999:7:::

daemon:*:15655:0:99999:7:::

...

注:每一行代表一个用户帐号,每个帐号信息又由”:“划分为多个字段来表示帐号属性。

左往右依次为:

1,用户名,

2,34位加密口令。如果是“!!”,则表示帐号无口令,不能登录。

3,从1970年1月1号起到上次修改口令日期的间隔天数,对于无口令的帐号而言,是指从1970年1月1号起到创建该帐号的间隔天数。

4,口令自上次修改后,要隔多少天才能再次修改。若为0则表示没有时间限制。

5,口令自上次修改后,多少天之内必须再次修改。若为99999则表示用户口令未设置为必须修改。

6,若口令设置了时间限制,则在过期多少天前向用户发送警告信息,默认为7天。

7,若口令设置为必须修改,而达到期限后仍未修改,系统将推迟关闭帐号的天数。

8,从1970年1月1号起用户帐号到期的间隔天数。

9,保留字段未使用。

与组群相关的文件

/etc/group

文件

功能:保存组群账号信息的文件

例子:查看组群账号信息文件/etc/group文件

例:查看组群帐号信息文件/etc/group

[laiyu@localhost
~]$ cat /etc/group

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

...

说明:每一行代表一个组群的信息,各字段名由“:”分隔。

从左往右依次:组群名,口令,组群ID,用户列表。其中口令字段总是以“x”来填充

/etc/gshadow文件

功能:保存组群口令信息的文件

备注:/etc/gshadow根据/etc/group文件产生。只有超级用户才能查看其内容。

[laiyu@localhost ~]$ cat
/etc/gshadow

cat: /etc/gshadow:
Permission denied

[laiyu@localhost ~]$
su

Password:

[root@localhost laiyu]# cat
/etc/gshadow

root:::

bin:::bin,daemon

daemon:::bin,daemon

sys:::bin,adm

adm:::adm,daemon

tty:::

disk:::

lp:::daemon

mem:::

kmem:::

wheel:::

mail:::mail,postfix

uucp:::

man:::

games:::

gopher:::

video:::

dip:::

ftp:::

lock:::

audio:::

nobody:::

users:::

dbus:!::

...

说明:每一行代表一个组群的信息,各字段由”:“分隔。!表示此组群没有口令

--管理用户和组群的Shell命令

--管理用户的Shell命令

useradd命令

方法:useradd
[选项]

用户名

功能:新建用户账号,只有超级用户才能使用该命令

主要选项:

-c(comment)

全名

指定用户全程

-d(directory)

主目录

指定用户的主目录

-e(expire)

有效期限

指定用户帐号的有效期限

-f

缓冲天数

指定口令过期多少天后将关闭此帐号

-g

组群ID|组群名

指定用户所属的主要组群

-G

组群ID|组群名

知道用户所属的附加组群

-s(Shell)

登录Shell    指定用户登录后启动的Shell类型

-u(user)

用户ID

指定用户的UID

例:按照默认值新建用户tom

[root@localhost laiyu]#
useradd tom

[root@localhost laiyu]#
pwd

/home/laiyu

[root@localhost laiyu]# cd
..

[root@localhost home]#
ls

laiyu  so80101  tom

说明:当不使用任何选项时,Linux将按默认值新建用户,在/home目录下新建与用户同名的子目录作为用户的主目录。并且还将新建一个与用户同名的私有组群作为该用户的主要组群,该用户登录的Shell为Bash,UID由系统决定

例子:新建一名为jerry的用户其主要组群为helen

[root@localhost ~]# useradd
-g helen jerry

useradd: group 'helen' does
not exist

[root@localhost ~]#
groupadd helen

[root@localhost ~]# useradd
-g helen jerry

[root@localhost ~]# cat
/etc/passwd

...

jerry:x:502:503::/home/jerry:/bin/bash

[root@localhost ~]# cat
/etc/shadow

...

jerry:!!:15659:0:99999:7:::

说明:helen组群必须已经存在,新建用户如指定其所属的主要组群,那么系统就不会新建和用户同名的私有组群

useradd命令新建用户帐号,将在/etc/passwd文件和/etc/shadow文件中添加新用户的记录,如果还创建了私有组群,那么还将在/etc/group文件和/etc/shadow文件中添加记录

passwd命令

方法:passwd
[选项]
[用户]

功能:设置或修改用户的口令以及口令的属性

主要选项:

-d(delete) 
删除用户的口令,则该用户帐号无需口令即可登录系统

-l(lock)

暂时锁定指定的用户帐号

-u(unlock) 
解除指定用户帐号的锁定

-S(status) 
显示指定用户帐号的状态

说明:超级用户使用useradd命令新建用户后,还必须用passwd命令为用户设置初始口令,否则用户帐号将被禁止登录。普通帐号以此口令登录后可修改口令

例子:为tom用户设置初始口令

[root@localhost ~]# passwd
tom

更改用户 tom
的密码

新的
密码:

无效的密码:
它基于字典单词

无效的密码:
过于简单

重新输入新的
密码:

passwd:

所有的身份验证令牌已经成功更新。

注:超级用户可修改所有普通用户的口令,并且不需要输入其原来的口令。

例:tom用户登录系统后修改其口令

[tom@localhost root]$
passwd

Changing password for user
tom.

Changing password for
tom.

(current) UNIX
password:

New password:

Retype new
passwrod:

passwd:all authentication
tokens updated successfully

注:普通用户使用passwd命令修改口令时必不能使用参数,只能修改自己的口令并必须输入原来的口令。

Linux 学习笔记之超详细基础linux命令 Part 5的更多相关文章

  1. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  2. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  3. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  4. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  5. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  6. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  7. Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 8

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 7

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...

  10. Linux 学习笔记之超详细基础linux命令 Part 6

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...

随机推荐

  1. java web 乱码终结

    配置 tomcat 打开 tomcat 安装路径下的 conf/server.xml 文件,将 port 为 8080 的 connector 做如下更改: <Connector port=&q ...

  2. 写一个shell 快速启动停止你的微服务吧

    在这个微服务盛行的时代,docker获得了巨大的成功,因为我们需要在一台服务器装上N个服务. 本文不是想讨论如何使用docker,而是,在一台服务器安装了多个服务后,怎样启动方便的启动服务呢? 一.在 ...

  3. python编译生成的.pyc作用

    如果 Python 进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以 .pyc 为扩展名的文件( ".pyc" 就是编译过的 ".py" 源代码). ...

  4. Testing - 软件测试知识梳理 - 理解测试

    理解 目的 测试就是要找到关键信息,有关项目和产品的关键决策都是根据这些信息做出. 对产品质量做出总体评估. 找出并报告团队所有可能会对产品价值产生消极影响的问题(但并不意味着能发现所有问题). 重心 ...

  5. centos7的ssh服务连接

    ---恢复内容开始--- SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是 ...

  6. 【原创】InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times

    一.背景 基于SpringBoot 构建了一个http文件下载服务,检查tomcat access 发现偶尔出现500 状态码的请求,检查抛出的异常堆栈 2019-03-20 10:03:14,273 ...

  7. python多线程获取子线程任务返回值

    今天想实现多线程更新资产信息,所以使用到了threading,但是我需要每个线程的返回值,这就需要我在threading.Thread的基础上进行封装 def auto_asset(node): re ...

  8. django配置celery

    官网详尽的django结合celery的配置步骤 在django项目settings.py所在的目录中新建一个celery.py,内容如下 from __future__ import absolut ...

  9. 3-5 Vue中的样式绑定

    Vue中的样式绑定: 本案例,简单设计一个<div>的点击绑定事件来改变div的样式效果 方法一:[class] ①(class和对象的绑定) //如上,运用class和一个对象的形式来解 ...

  10. kafka+elk

    安装elasticsearch 下载:http://www.elastic.co/downloads/elasticsearch 下载后解压 修改配置文件,xxx是自定义目录 vi elasticse ...