Linux学习笔记之超详细基础linux命令
by:授客 QQ:1033553122
---------------------------------接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/grouproot: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命令修改口令时必不能使用参数,只能修改自己的口令并必须输入原来的口令。