一文熟知 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天前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
3天前
|
Linux
会玩这10个Linux命令,一定是个有趣的IT男!
会玩这10个Linux命令,一定是个有趣的IT男!
|
6天前
|
运维 Ubuntu Linux
Linux系统之ncdu命令的基本使用
【8月更文挑战第8天】Linux系统之ncdu命令的基本使用
14 2
Linux系统之ncdu命令的基本使用
|
12天前
|
数据可视化 Linux 测试技术
7zip压缩工具的Linux命令
本文介绍了如何在Linux系统中使用7zip压缩工具,包括通过brew安装、使用基本命令进行文件压缩、解压、列出存档内容、测试存档完整性以及进行性能基准测试等操作。
49 3
7zip压缩工具的Linux命令
|
2天前
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
18 9
|
3天前
|
Linux Shell
linux命令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
3天前
|
移动开发 运维 网络协议
运维必备 | Linux netstat命令详解
运维必备 | Linux netstat命令详解
|
3天前
|
Linux
真香~ Linux vi常用命令汇总!
真香~ Linux vi常用命令汇总!
|
4天前
|
Linux Shell
linux命令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
7天前
|
运维 安全 Linux
【超实用秘籍】Linux文件传输新高度:10个scp命令让你瞬间变身文件传输达人,从此告别繁琐操作!
【8月更文挑战第13天】文件传输是运维工作的核心部分,尤其对Linux用户来说,了解高效且安全的传输方法非常重要。本文介绍10种scp命令的应用技巧,涵盖基础文件传输、密钥认证、目录复制等场景,助你灵活运用这一基于SSH协议的安全工具。从简单的文件传输到复杂的多主机文件迁移,scp都能轻松应对。通过本文的学习,你将能更熟练地使用scp命令,提高工作效能。
27 6