linux****关机重启
shutdown
shutdown -h now 表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now :立即重启
halt 就是直接使用,效果等同于关机
sync 把内存的数据同步到磁盘
reboot 就是重启系统
注意细节:
- 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写入到磁盘中。
- 目前的shutdown、reboot、halt命令在关机前都进行了sync。
Linux用户的登录和注销
-
切换用户命令 :使用
su root命令可以切换到 root 用户 -
退出命令 :提到了
exit命令用于退出/注销 -
权限说明:
-
从普通用户(wen)切换到高级用户(root)时需要输入密码
-
从root用户切换到普通用户(wen)时不需要输入密码
-
用户创建与设置
-
创建用户
bash
useradd 用户名 示例: bash useradd kobe # 创建一个用户名为 kobe 的用户 -
创建用户并指定家目录
bash
useradd -d 目录路径 用户名 示例: bash useradd -d /home/test king # 创建用户 king,并指定家目录为 /home/test -
设置用户密码
bash
-
passwd 用户名
示例:
bash
-
passwd kobe # 为 kobe 用户设置密码
用户删除
-
删除用户(保留家目录)
bash
-
userdel 用户名
示例:
bash
-
userdel kobe # 删除用户 kobe,但保留其家目录
-
删除用户并同时删除家目录
bash
-
userdel -r 用户名
示例:
bash
-
userdel -r kobe # 删除用户 kobe 及其家目录
用户信息查询
-
查看用户信息
bash
-
id 用户名
示例:
bash
-
id kobe # 查看 kobe 用户的 UID、GID 及所属组信息
-
查看当前登录用户名
bash
-
whoami
用户组管理命令
创建与删除组
-
创建组
bash
groupadd 组名称 -
删除组
bash
groupdel 组名称
用户与组关联
-
创建用户时指定所属组
bash
useradd -g 组名称 用户名示例:
bash
useradd -g wudang zhangsanfeng # 创建用户 zhangsanfeng 并直接加入 wudang 组 -
修改用户所属组
bash
usermod -g 组名 用户名示例:
bash
usermod -g wudang zhangsanfeng # 将用户 zhangsanfeng 的主要组修改为 wudang -
(1)/etc/passwd
文件用户的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
使用cat命令浏览这个文件: cat /etc/passwd
- (2)/etc/shadow文件
口令的配置文件,用户登录的时候需要口令(密码)。口令的验证都是通过这个shadow文件去验证的。
每行的含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不
活动时间:失效时间:标志
(3)/etc/group文件
组的配置信息,记录linux包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表
Linux运行级别
linux操作系统运行的7种级别
关于linux的运行级别,一共有7种,我们给大家分别介绍一下:
0:关机
1:单用户(找回用户丢失的密码,可以使用单用户模式)
2:多用户状态但没有网络服务(一般很少用)
3:多用户状态但有网络服务(没有图形化界面,但是有网络,这种用的最多)
4:系统未使用,保留给用户(很少用)
5:图形界面
6:系统重启
常用的运行级别是3和5,我们也可以指定系统默认的运行级别。
切换运行级别的口令: init[0 1 2 3 4 5 6]
我们在linux操作系统(带有图形化界面的操作系统)输入init 3。此时linux操作系统就会以纯命令行模式 启动

如何修改linux操作系统默认的运行级别
在centos7中,有一个文件/etc/inittab文件中,描述了运行级别的相关信息

现在我们就来演示linux操作系统的运行级别:

如何找回root密码
进入到linux开机界面,然后按e键

按下e键然后进入另一个界面,找到以linux16开头的行数。在行的最后面输入:init=/bin/sh
接着输入完成之后,直接按快捷键Ctrl + X 进入单用户模式
接着在光标闪烁的位置输入: mount -o remount,rw / 然后按回车键。

在新的一行最后面输入:passwd,然后按回车键。输入密码,然后再次输入确认密码(密码长度
最好是8位以上,但不是必须的)。密码修改成功之后,会显示passwd .....的字样,说明密码修改
成功。

接着在光标闪烁的位置输入: touch /.autorelabel(注意touch 与后面的/之间有空格)。完成后按
回车。

接着在光标闪烁的位置继续输入:exec /sbin/init(注意exec 与后面的/之间有空格)。然后按回车
键,等待系统自动修改密码(这个时间可能会有点长,请耐心等待)。完成后系统会自动重启,新
的密码生效了。
linux****帮助指令
man 获得帮助信息
基本语法: man 命令名称(功能描述:获得指定命令的帮助信息)。
help 获得shell内置命令的帮助信息
help和man的区别
| 特性 | help 指令 |
man 指令 |
|---|---|---|
| 目标命令类型 | Shell 内建命令 (如 cd, echo, export) |
外部程序/命令 (如 ls, grep, find),以及一些系统调用和库函数。 |
| 提供内容 | 简洁的用法摘要。通常是语法格式和选项的快速列表。 | 完整、详细的官方手册。包含名称、概要、描述、选项、示例、文件、作者等信息。 |
| 内容深度 | 浅,适合快速查阅。 | 深,适合深入学习。 |
| 使用语法 | 1. help [内建命令名] 2. [内建命令名] --help 或 -h (这是一种常见惯例,并非 help 命令本身) |
man [命令名] |
| 输出长度 | 通常较短,一屏或几屏就能显示完。 | 通常很长,需要翻页查看。 |
**linux文件(目录)**相关的指令
在linux操作系统里面,获取文件的方式有两种,一种是通过绝对路径的方式获取文件,一种是相对路径
获取文件。
假设我们在当前指定的目录下面,想要获取指定的文件,我们可以通过相对路径和绝对路径的方式来
pwd指令 显示当前目录的绝对路径

ls指令 显示当前目录下面的所有文件(目录)
常用选项:
-a: 显示当前目录下面的所有文件和目录 包括隐藏的
-l: 以列表的方式显示文件(目录)信息。
cd命令 切换到指定目录
常用选项:
~: cd ~ 回到当前用户的home目录(如果是root用户,那么回到的就是root目录下面,如果是非root 用户,那么就回到home/用户目录 下面)
/: cd / 回到系统根目录
.. : cd .. 回到当前目录的上一级目录
-: cd -回到上一条命令所在的目录
mkdir :用于创建目录

-p 创建多级目录。我们可以这样创建多级目录

rmdir:指令删除空目录

rm删除目录
-r:递归删除整个文件夹
-f:强制删除不提示
如果我们要删除非空目录或者文件,我们使用rm -rf命令实现(r 递归删除 f不询问删除)。

touch: 创建空文件

cp:拷贝文件到指定目录

mv:移动文件(剪切)或重命名
在同一个目录下面操作: mv oldName newName (重命名)
需求:将kobe目录下面的Hello.txt重命名为Hello.java

在不同目录下面操作:
将home/kobe目录下面的Demo1.txt文件剪切到/home/guojing目录下面,并将文件命名为
Demo1.java

查看操作
cat查看文件内容 cat [选项] 要查看的文件
需求:查看/etc/profile文件,并显示行号
-n 显示行号 cat -n /etc/profile

cat只能浏览文件,并不能修改文件,为了浏览方便,一般会用上管道命令 |more。

more
more指令是一个基于vi编辑器的文本过滤器,他以全屏的方式显示文本文件的内容,more 指令内置了若干快捷键。


less
less指令用于来分屏查看文件内容,他的功能与more类似,但是比more更加强大,支持各种显示终
端。less指令在显示文件内容时,并不是一次将整个文件加载后才显示的,而是根据要加载的内容,对
显示大型文件具有高效率。

echo:将输入内容到控制台

head
head用于显示文件开头部分内容,默认情况下head希纳是文件前10行的内容
基本语法: head 文件
head -n 5 文件 显示前五行的内容 5可以是任意数
tail****指令
用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
tail 文件 (查看文件最后10行的内容)
tail -n 5 文件 (查看文件最后5行的内容,5可以是任意数)
tail -f 文件 (实时监控文件发生的变化)
> 指令和 >> 指令: >输出重定向 ,>>追加
echo 'hello' > /home/guojing/test.txt (将hello输入到guojing文件夹下的test.txt中 之前内容覆
盖)。
echo 'hello' >> /home/guojing/test.txt (将hello追加到guojing文件夹下的test.txt文件的末尾处 之前 内容不会覆盖)。
cat /etc/profile > /home/guojing/myprofile (将etc/profile 重定向到home目录下的myprofile 没有会自动创建)
cal > /home/guojing/test.txt (将日历信息重定向输出到opt下的test文件)覆盖
cal >> /home/guojing/test.txt(将日历信息追加到opt目录下的test文件)追加
软连接
软连接也称为符号链接,类似中windows里面的快捷方式,主要是存放了链接文件的路径。
ln -s [源文件或目录] [软连接名称]


删除软连接 rm -f /linkToRoot
history****指令
查看用户已经执行过的历史指令

linux****时间指令
基本语法:
date(功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d(功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)

date指令也可以设置日期
基本语法:date -s 字符串时间

cal 日历指令

搜索查找
find 将从指定目录下递归地遍历各个目录,将所有满足条件的目录显示在控制台。
语法格式:
find [搜索范围] [选项]


locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立好的系统中所有文件名
称及路径的locate数据库实现快速定位给定的文件。locate****指令无需遍历整个文件系统,查询速度
较快。
特别说明:
由于locate指令基于数据库进行查询。所以第一次查询运行前,必须使用updatedb指令创建locate数
据库。
需求:用locate指令快速定位 Hello.java 文件所在目录 locate Hello.java

which指令 可以查看某个指令在哪个目录下,

grep指令
grep过滤查找,管道符,"|",表示前一个指令的处理结果输出传递给后面的指令处理。一般我们将 | 和 grep一起结合起来使用。
基本语法:grep [选项] 查找内容 源文件

Linux压缩和解压指令
gzip/gunzip****指令
gzip用于压缩文件 gunzip用于解压缩文件
gzip 压缩文件(将文件压缩为*.gz的文件,原文件被压缩后不存在。)

zip/unzip****指令
zip用于压缩文件,unzip用于解压的,这个功能打包发布中很有用。
zip [选项] XXX.zip 将要压缩的内容 (压缩文件和目录的命令)
-r: 递归压缩,即压缩目录
-d: 指定解压后文件存放方目录

tar****指令
tar指令是打包指令,最后打包后的文件是.tar.gz的文件。
语法格式:tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar,gz)

