一、 Linux系统概述
林纳斯·本纳第克特·托瓦兹
Linux是 unix 的类系统;
多用户、多线程的操作系统;
开源操作系统;
开源项目: 操作系统,应用软件
二、 Linux系统常见版本
CentOS: 红帽公司的社区版本(停止服务)
Redhat: 红帽公司的企业版本
Debian: deb包结构
Ubuntu: deb包结构
Kail: deb包结构,集成了大量的安全渗透工具
国产操作系统:
i. 凝思科技: 凝思磐石
ii. 中科方德: 桌面版
iii. 中标麒麟: 服务器版
iv. 深度: depin 桌面版
v. 统信OS: UOS, 桌面版和企业版
三、 Linux系统的目录结构
见思维导图
四、 Linux系统的基本操作命令
命令书写语法: 命令字段 [ 选项1] [选项2] [参数1] [参数2] [参数3]
1. 目录位置查看:
pwd
2. 目录内容查看:
ls [ 选项 ] [ 参数 ]
常用选项: 查看选项: man -ls
-a : 显示目录下所有的文件和目录, 包括隐藏文件和 . 及 ..
-l : 以长格式显示目录内容
-h : 人性化显示目录内容
-r : 逆序排序
-t : 时间排序
3. 关机与重启操作命令
立即关机: shutdown -h now; poweroff ; init 0 ; halt
定时关机(分钟): shutdown -h 分钟数
立即重启: shutdown -r ; poweroff -p --reboot; init 6 ; halt ; reboot
定时重启: shutdown -r 分钟数
取消定时: shutdown -c
补充: 运行级别·
查看: runlevel
切换:init [0,1,2,3,4,5,6]
类别:
0: 关机
1: 单用户
2: 多用户
3: 多用户
4: 未启用
5: 图形
6: 重启
4. 修改主机名
临时修改: hostname 主机名
永久修改: echo “ 主机名 ” > /etc/hostname/; hostnamectl
查看: hostname
5. 查看 cpu 与内存信息
cpu 信息: cat /proc/cpuinfo
内存信息: cat /proc/meminfo
6. Linux 伪终端操作
1. 打开伪终端:
右键打开
Alt + F2 : gnome-terminal
2. 打开子终端
Ctrl + shift + t
3. 子终端切换
Alt + 横排数字
4. 关闭终端
exit
Alt + F4
5. 终端个性化设置
放大 Ctrl + shift + =
缩小 Ctrl + -
五、 Linux 用户和组管理
用户管理
1. 用户类型:
超级管理员: root 所有权限 UID永远为 “0”
程序用户: 不能登录系统,没有用户家目录 UID: 系统生成 1 - 999
普通用户: 能够登陆系统,有本身家目录 UID: 1000开始
2. 用户查看:
1) 查看所有用户 cat /etc/passwd | awk -F :'{print $1}'
2) 查看当前登录用户
whoami 只显示用户名
who 显示用户名及登陆位置和时间
w 显示用户名、登陆位置、登陆源 【finger: 需安装 】
3) 查看用户基本信息 (uid,gid,ownergroup)
id username
3. 用户创建
1) 语法: useradd [选项] username
用户创建完成后影响文件:
ect/passwd:用户信息存储文件
/etc/shadow: 用户密码存储文件
/etc/group: 用户同名组存储文件
2) 常用选项
-d: 指定家目录
-u: 指定uid
-s: 指定用户的登录 shell
shell:
查看当前用户的shell环境 echo $SHELL
查了系统支持的shell环境 cat /etc/shells
-M: 不创建家目录
-e: 指定账户失效时间, yyyy-MM-dd 2021-08-04 (1970年1月1号 计算机元年)
-g: 指定用户所属的基本组名或gid 每一个用户的基本组是唯一的
-G: 指定用户所属的附加组名或gid
程序用户创建:
useradd -M -s /sbin/nologin 程序用户的名称
4. 用户密码
注意:
root用户可以修改任何用户的密码
普通用户只能修改自身密码
1) 交互式修改: passwd username
2)非交互式:
a. echo “密码字符串” | passwd --stdin 用户名
b. 批量修改多用户密码 cat userpwd.txt | chpasswd
5. 删除用户
userdel [-r] username 一般情况下建议用 -r
-r: 删除对应家目录和邮件文件
6. 修改用户信息
usermod [选项] username
-d: 修改家目录
-u: 修改uid
-s: 修改用户的登录 shell
-e: 修改账户失效时间, yyyy-MM-dd 2021-08-04 (1970年1月1号 计算机元年)
-g: 修改用户所属的基本组名或gid 每一个用户的基本组是唯一的
-G: 修改用户所属的附加组名或gid
用户家目录迁移:
usermod -d 新家目录 用户名
mv /home/旧家目录 新家目录
组管理
1. 组类型
1) 基本组
2) 附加组
2. 组创建
groupadd [选项] groupname
-g: 指定组 gid
3. 组修改
groupmod [选项] groupname
-g: 修改组 gid
4. 组删除
groupdel groupname
5. 组成员设置
gpasswd [选项] username groupname
-a: 添加单个用户
-d: 删除单个用户
-M: 批量添加用户
六、 文件目录管理
1. 文件管理
1) 查看文件
cat: 查看全部文件,直接打印
more: 支持模式空间查看, enter 翻行 空格翻页 不支持向上查看
less: 支持模式空间查看,兼容more,方向键翻行, 支持 pgup和pgdn 翻页; 关键字查找 【n: 向下查找关键字所在行 N:向上查找关键字所在行 】
head: 默认显示前10行 head - number 文件路径
tail:默认显示后10行 tail - number 文件路径
-f: 动态监视文件内容
2) 文件创建
touch: 创建空文件
echo “string” > filename
输出重定向符号:
>: 覆盖重定向
>>: 追加重定向
1>: 正确返回的覆盖重定向
2>: 错误返回的覆盖重定向
&>: 混合(正确错误都有)返回的覆盖重定向
输入重定向符号:
<: 输入重定向
管道符:
|: 将前一个命令的结果交给下一个命令处理;
3) 文件删除
rm [选项] 文件路径
-f: 强制删除文件
-i: 交互式删除
4) 文件内容修改
vim 编辑命令:
vim 模式:
命令模式:
单行复制: yy
多行复制: nyy (n表示数字)
粘贴: p
单行删除: dd
多行删除: ndd (n表示数字)
行间跳转: G 最后一个; gg 首行
行列跳转: shift + 4($) 行尾跳转 (^)shift + 6 行首
保存且退出文件: ZZ
关键字查找:/keyword; 查找文字以后会高亮显示;
进入插入模式: a、o、i、A、O、I
进入替换模式: r: 单字符替换 R: 进入替换模式,多字符替换
进入末行模式: 冒号 “:”
插入模式: 返回命令模式, 按键: esc
a: 当前光标的下一个字符插入内容
o: 当前光标所在行的下一行
i: 当前光标所在处
A: 当前光标所在行行尾
O: 当前光标所在行上一行
I: 当前光标所在行行首
替换模式:
多字符替换
末行模式:
w: 保存文件内容
wq: 保存并退出
x: 保存并退出
q: 退出但不保存
X: 为文件内容设置查看密码。 保存退出时必须使用:wq。
清空密码: X: 不输入密码或者 :set key=“”
注意: 假如不让退出,加上“!” 例如 “!q”
行号设置: set nu 取消: set nonu
行跳转: :n (n表示数字)
取消高亮: :nohl
关键字替换:
全文关键字替换: %s[ub]/keyword/newword/g g表示: 全部替换
全文首次匹配关键字替换: %s[ub]/keyword/newword
指定行关键字替换: ns/keyword/newword/(n表示数字)
指定行范围关键字替换: n,ms/keyword/newword/[g] (n,mb表示数字)
视图模式:
Ctrl + V --> 用方向键选中内容 --> (大写i) --> 输入要插入的内容 --> 按压两次 “ESC”;