一文熟知 Linux 用户管理及相关命令(详解)
Linux 的目录结构
- Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “/” ,然后在此目录下再创建其他的目录。
在 Linux 世界里, 一切皆文件。
xftp 连接成功以后为乱码
- 如何解决中文乱码的问题:
vi 和 vim 编辑器
vi 和 vim 常用的三种模式
- 正常模式:以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。
- 插入模式(编辑模式):按下i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可。
- 命令行模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
用户的登录和注销
基本介绍
- 登录时尽量少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,然后再用
su-用户名
命令来切换成系统管理员身份。
- 在提示符下输入
loginout
即可注销用户。
- loginout 注销指令在图形运行级别无效,在运行级别 3 下有效。
用户管理
基本介绍
- Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
- Linux 的用户需要至少属于一个组。
添加用户
- 基本语法
useradd [选项] 用户名 增加用户时直接加上组 useradd -g 用户组 用户名
- 当创建用户成功后,会自动创建和用户同名的家目录。
- 也可以通过
useradd -d 指定目录 新的用户名
,给新创建的用户指定家目录。
指定/修改密码
- 基本语法
passwd 用户名
- 用户密码必须复杂一点。
- 用户密码使用密文显示,防止他人知道。
删除用户
- 基本语法
userdel 用户名 删除用户,但是保留家目录 userdel 用户名 删除用户以及用户主目录 userdel -r 用户名
- 在删除用户时,尽量保留家目录。
查询用户信息指令
- 基本语法
id 用户名
- 当用户不存在时,返回 no such user 。
切换用户
- 介绍
- 在操作 Linux 中,如果当前用户的权限不够,可以通过
su-
指令,切换到高权限用户,比如 root 。
- 基本语法
su - 切换用户名
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
- 当需要返回到原来用户时,使用
exit
指令。
查看当前用户/登录用户
- 基本语法
whoami/who am I
用户组
- 介绍
- 类似于角色,系统可以对有共性的多个用户进行统一的管理。
新增组
- 指令
groupadd 组名
删除组
- 指令
groupdel 组名
修改用户组
- 指令
usermod -g 用户组 用户名
用户和组的相关文件
/etc/passwd 文件
- 用户(user) 的配置文件,记录用户的各种信息。
- 每行的含义:用户名:口令:用户标识:组标识号:注释性描述:主目录:**登录 Shell **。
/etc/shadow 文件
- 口令的配置文件。
- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志。
/etc/group 文件
- 组(group) 的配置文件,记录 Linux 包含的组的信息。
- 每行的含义: 组名 : 口令 :组别标识 :组内用户列表 。
Linux 实用指令
指定运行级别
- 基本介绍
- 0:关机。
- 1:单用户【找回丢失密码】。
- 2:多用户状态没有网络服务。
3:多用户状态有网络服务。
- 4:系统未使用保留给用户。
- 5:图形界面。
- 6:系统重启。
- 常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件
/etc/inittab
的id:5:initdefault:
这一行中的数字。
- 命令
init [012356]
帮助指令
man 指令
- 基本语法
man [命令或配置文件](功能描述:获得帮助信息)
help 指令
- 基本语法
help 命令 (功能描述:获得 shell 内置命令的帮助信息)
文件目录类
pwd 指令
- 基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
ls 指令
- 基本语法
ls [选项] [目录或是文件]
- 常用选项
- -a:显示当前目录所有的文件和目录,包括隐藏的。
- -l:以列表的方式显示信息。
cd 指令
- 基本语法
cd [参数] (功能描述:切换到指定目录)
- 常用参数
- cd ~ 或者 cd :回到自己的家目录。
- cd ..:回到当前目录的上一级目录。
mkdir 指令
- 基本语法
mkdir [选项] 要创建的目录(功能描述:用于创建目录)
- 常用选项
- -p:创建多级目录。
rmdir 指令
- 基本语法
rmdir [选项] 要删除的空目录
- 使用细节
- rmdir 删除的是空目录,如果目录下有内容是无法删除的。
- 如果需要删除非空目录,需要使用 rm-rf 要删除的目录。
touch 指令
- 基本语法
touch 文件名称(功能描述:用于创建空文件)
- 可以一次性创建多个文件。
cp 指令(重要)
- 基本语法
cp [选项] source dest(功能描述:拷贝文件到指定目录)
- 常用选项
- -r:递归复制整个文件夹。
- 使用细节
- 强制覆盖不提示的方法:
\cp
。
rm 指令
- 基本语法
rm [选项] 要删除的文件或目录(功能描述:移除文件或目录)
- 常用选项
- -r:递归删除整个文件夹。
- -f:强制删除不提示。
- 使用细节
- 强制删除不提示的方法:带上 -f 参数即可。
mv 指令
- 基本语法
mv oldNameFile newNameFile(功能描述:重命名) mv /temp/movefile /targetFolder(功能描述:移动文件)
cat 指令
- 基本语法
cat [选项] 要查看的文件(功能描述:查看文件内容)
- 常用选项
- -n:显示行号。
- cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上
管道命令 | more
。
more 指令
- 基本语法
more 要查看的文件(功能描述:more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键)
操作说明
操作 | 功能说明 |
空白键(space) | 代表向下翻一页 |
Enter | 代表向下翻一行 |
q | 代表立即离开 more ,不再显示该文件内容 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less 指令
- 基本语法
less 要查看的文件(less 指令用来分屏查看文件内容,它的功能与 more 指令相似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率)
操作说明
操作 | 功能说明 |
空白键 | 向下翻动一页 |
【pagedown】 | 向下翻动一页 |
【pageup】 | 向上翻动一页 |
/字串 | 向下搜寻[字串]的功能:n:向下查找;N:向上查找 |
?字串 | 向上搜寻[字串]的功能:n:向上查找;N:向下查找 |
q | 离开 less 这个程序 |
> 指令和 >> 指令
- 基本语法
> 输出重定向和 >> 追加 ls -l >文件(功能描述:列表的内容写入文件 a.txt 中(覆盖写)) ls -al >>文件(功能描述:列表的内容追加到文件 aa.txt 的末尾) cat 文件1 > 文件2(功能描述:将文件 1 的内容覆盖到文件 2 ) echo "内容">>文件
echo 指令
- 基本语法
echo [选项] [输出内容](功能描述:输出内容到控制台)
head 指令
- 基本语法
head 文件(功能描述:查看文件头 10 行内容) head -n 5 文件(功能描述:查看文件头 5 行内容,5 可以是任意行数)
tail 指令
- 基本语法
tail 文件(功能描述:查看文件后 10 行内容) tail -n 5 文件(功能描述:查看文件后 5 行内容,5 可以是任意行数) tail -f 文件(功能描述:实时追踪该文档的所有更新)
ln 指令
- 软连接也叫符号链接,类似于 Windows 里的快捷方式,主要存放了链接其他文件的路径。
- 基本语法
ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)
- 使用细节
- 当使用 pwd 指令查看目录时,任然看到的是软链接所在目录。
- 删除软链接的方式:
rm -rf 软链接名
。
history 指令
- 基本语法
history(功能描述:查看已经执行过历史命令,也可以执行历史命令)
时间日期类
date 指令 - 显示日期
- 基本语法
显示当前日期 date(功能描述:显示当前时间) date +%y(功能描述:显示当前年份) date +%m(功能描述:显示当前月份) date +%d(功能描述:显示当前是哪一天) date "+%y-%m-%d %H:%M:%s"(功能描述:显示年月日时分秒)
date 指令 - 设置日期
- 基本语法
date -s 字符串时间
cal 指令
- 基本语法
cal [选项](功能描述:不加选项,显示本月日历)
搜索查找类
find 指令
- 基本语法
find [搜索范围] [选项](功能描述:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端)
选项说明
选项 | 功能 |
-name | 按照指定的文件名查找模式查找文件 |
-user | 查找属于指定用户名所有文件 |
-size | 按照指定的文件大小查找文件 |
locate 指令
- locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
- 基本语法
locate 搜索文件
- 特别说明
- 由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
grep 指令和管道符号 |
- grep 过滤查找,管道符 “|” ,表示将前一个命令的处理结果输出传递给后面的命令处理。
- 基本语法
grep [选项]查找内容 源文件
常用选项
选项 | 功能 |
-n | 显示匹配行及行号。 |
-i | 忽略字母大小写 |
压缩和解压类
gzip/gunzip 指令
- 基本语法
gzip 文件(功能描述:压缩文件,只能将文件压缩为 *.gz 文件) gunzip 文件.gz(功能描述:解压缩文件命令)
- 使用细节
- 使用 gzip 对文件进行压缩后,不会保留原文件。
zip/unzip 指令
- 基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令) unzip [选项] xxx.zip(功能描述:解压缩文件)
- 常用选项
- zip 常用选项
- -r:递归压缩,即压缩目录。
- unzip 常用选项
- -d<目录>:指定解压后文件的存放目录。
tar 指令
- tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
- 基本语法
tar [选项] XXX.tar.gz 打包的内容(功能描述:)
选项说明
选项 | 功能 |
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包 .tar 文件 |
面试题
- 问题: 如何找回 root 密码。
- 思路: 进入到
单用户模式
,然后修改 root 密码。(因为进入单用户模式,root 不需要密码就可以登录)。