一文熟知 Linux 用户管理及相关命令(详解)

简介: Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “/” ,然后在此目录下再创建其他的目录。

一文熟知 Linux 用户管理及相关命令(详解)


Linux 的目录结构


  • Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “/” ,然后在此目录下再创建其他的目录。


  • 在 Linux 世界里, 一切皆文件。


xftp 连接成功以后为乱码


  • 如何解决中文乱码的问题:

1.png

1.png


vi 和 vim 编辑器


vi 和 vim 常用的三种模式


  • 正常模式:以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。


  • 插入模式(编辑模式):按下i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按 i 即可。


  • 命令行模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

1.png


用户的登录和注销


基本介绍


  • 登录时尽量少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,然后再用 su-用户名 命令来切换成系统管理员身份。


  • 在提示符下输入 loginout 即可注销用户。


  • loginout 注销指令在图形运行级别无效,在运行级别 3 下有效。


用户管理


基本介绍


  • Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。


  • Linux 的用户需要至少属于一个组。

1.png


添加用户


  • 基本语法
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/inittabid: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 不需要密码就可以登录)。
相关文章
|
5天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
22 3
|
5天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
17 2
|
26天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
177 5
|
26天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
75 4
|
12天前
|
缓存 监控 Linux
|
16天前
|
Linux Shell 数据安全/隐私保护
|
17天前
|
域名解析 网络协议 安全
|
23天前
|
运维 监控 网络协议
|
24天前
|
监控 Linux Shell
|
5天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
23 3