一、 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”;