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

时间:2022-06-28 14:57:01

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命令修改口令时必不能使用参数,只能修改自己的口令并必须输入原来的口令。