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 。
- 在操作 Linux 中,如果当前用户的权限不够,可以通过
-
基本语法
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<目录>:指定解压后文件的存放目录。
- zip 常用选项
tar 指令
-
tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
-
基本语法
tar [选项] XXX.tar.gz 打包的内容(功能描述:)
-
选项说明
选项 功能 -c 产生 .tar 打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包 .tar 文件
面试题
- **问题:**如何找回 root 密码。
- **思路:**进入到
单用户模式
,然后修改 root 密码。(因为进入单用户模式,root 不需要密码就可以登录)。