Linux理论

本文详细介绍了Linux操作系统的基础知识,包括用户类型、命令行操作、文件系统、文件权限、常用命令如`ls`、`cd`、`touch`、`mkdir`、`cp`、`mv`、`rm`、`clear`、`more`、`less`、`vi/vim`编辑器等。此外,还讲解了网络配置、用户管理、文件权限的数字表示以及shell脚本编程。文章深入浅出,是Linux初学者的入门指南。
摘要由CSDN通过智能技术生成

Linux用户

root用户,即管理员用户,拥有所有权限

普通用户:管理员用户创建的用户

[root@localhost ~ ]#   提示符构成:
#表示的是管理员用户登录,$表示的是普通用户登录
root表示的是当前登录系统所用的用户名
@表示分隔符
loaclhost表示主机名
~ 表示当前工作目录,登录后默认为用户家目录
# 身份标识符
linux中的基础命令
清屏命令
clear
ctrl+l
查看当前所在目录
pwd
切换工作目录
cd
cd - :返回上次工作目录
cd ~ :直接进入当前用户的家目录
cd ..:进入当前目录的父目录
touch:创建一个一般文件
格式:touch 选项 目标位置/文件名称
mkdir :创建一个目录文件
格式:mkdir 选项 目标位置/目录名称
选项: -p  当父目录不存在的情况下,自动创建父目录
在linux中有一个重要的核心思想,即万物皆文件。
cp:复制文件或目录
格式:cp 选项 原文件 目标位置/新名字 
选项: -r  用与复制目录,复制目录文件必须使用-r
            -a  在复制过程中保持文件属性不变
mv:移动文件或目录
格式:mv 选项 原文件 目标文职/新名字
rm:删除文件或目录
格式:rm 选项 目标位置/文件名
选项: -f  强制执行删除操作
            -r  删除目录文件
通配符:
*:表示一个或多个任意字符
?:表示一个任意字符
匹配指定范围:
[:space:]  匹配所有空白符
[:lower:]   匹配所有小写字母
[:upper:]   匹配所有大写字母
[:alpha:]    匹配所有字母,包含大小写
[:punct:]    匹配标点符号
[:digit:]       匹配数字
[:alnum:]    匹配所有的数字和大小写字母
[0-9][a-z][abc][A-Z][a-zA-Z]也可以使用
ls:查看当前或指定目录下的所有文件
格式:ls 选项 目标位置/目录名称
选项:
长格式选项---一个单词
短格式选项---一个字母
 -a 显示所有文件,linux中的隐藏文件全部是小数点开头的文件
 -h 做单位转换,即以人类易读的方式显示文件所占的空间
 -d 显示目录自身属性
 -i 
 -r 逆序显示
 -R 递归显示
linux中的文件类型:
- :普通文件
d : 目录文件
b :块设备文件
c :字符设备文件
l :符号链接文件
p :命令管道文件
s :套接字文件
cat:查看文件内容
格式:cat 选项 目标位置/文件名称
head:查看文件的前若干行,默认为前10行
格式:head 选项 目标位置/文件名称

 选项: -n 数字 指定查看的行数

tail:查看文件最后若干行,默认为最后10行

格式:tail 选项 目标位置/文件名称 

选项: -n 数字 指定查看的行数

more:实现分屏查看文件(适用于大文件)

格式:more 选项 目标位置/文件名称

操作:

回车:显示下一行
空格:显示下一屏
b :显示上一屏
/ 目标字符:在文件中搜索内容
n :继续向后搜索下一个关键词
q :退出查看
less 命令:
作用:实现分屏查看文件
格式: less 目标位置 / 文件名称
操作:
回车:显示下一行
空格:显示下一屏
/ 目标字符:在文件中搜索内容
n :继续向后搜索下一个关键词【关键词是高亮显示的】
q :退出查看

 

wc:统计文件中有多少行,多少单词,多少字符

格式:wc 选项 目标位置/文件名称

选项:

-l :统计一个文件的行数
-w :统计文件的单词数
-c :统计文件的字符数
man 查看命令的帮助信息
格式:man 命令名
vi/vim编辑器
vi是linux中一个重要的文件编辑软件
vi的工作模式:
模式 1 :编辑模式
它是打开文件后默认的模式
编辑模式不能在文件中写入或者编辑内容
模式 2 :输入模式
它是可以在文件中插入、删除、修改内容
模式 3 :末行模式
它是可以执行各种命令,例如保存退出、不保存退出、显示行号、高亮显示
3种模式转换:
编辑模式 ---> 输入模式 【i】
输入模式 --> 编辑模式【 esc
编辑模式 --> 末行模式【:】
末行模式 --> 编辑模式【 esc
vi格式:vi 目标位置/文件名称
如果文件本来就存在,则直接打开这个文件
如果文件不存在,则直接创建一个新的空白文件
编辑模式下的操作:
yy :复制
p :粘贴
dd :删除 / 剪切光标所在的行 ( 如果不进行粘贴操作则是删除 )
/str :搜索关键词
末行模式下的操作:
w :保存
q :退出
q!: 不保存强制退出
wq !:强制保存退出
set nu :显示文档的行号
set nonu :不显示行号
wq: 保存退出 同等 x shift+zz
vi进阶操作:
yy 复制一行
3yy 复制 3
dd 删除一行
3dd 删除 3 ndd 删除 n
d0 :删除光标所在位置到行首
d$ :删除 …… 行尾
y 表示复制内容
y0 :复制光标所在位置到行首的所有内容
y$: 复制光标所在位置到行尾的所有内容
yy
编辑模式下光标的操作
上下左右
h 左移光标
l 右移光标
j 下移光标
k 上移光标
H 当前屏幕的第一行
M 当前屏幕的中间行
L 当前屏幕的最后一行
ctrl+f 下翻一页
ctrl+b 上翻一页
ctrl+u 上翻半页
ctrl+d 下翻半页
num G :快速定位到【 sum 】行
G :快速定位到文档的最后一行
gg :快速定位到文档的第一行
w :向后跳一个单词 下一个单词的词首
b :向前跳一个单词 前一个单词的词首
x :删除当前光标所在的一个字符
u: 撤销上一步操作:最多可以撤销致最近的 50
/str :搜索操作
n :向下去查找一个关键词
N :向上去查找一个关键词
编辑模式 ---> 输入模式
i :在当前光标所在字符的前面转为输入模式
I :在当前光标所在的行的行首位置转为输入模式
a :在当前光标所在的字符的后面转为输入模式
A :在当前光标所在的行的行尾转为输入模式
o :在当前光标所在的行的下一行转为输入模式
O :在当前光标所在的行的上一行转为输入模式
打开文件操作
vim -o[n] 文件名 文件名 ... 水平方向打开 n 个文件
vim -O[n] 文件名 文件名 ... 垂直方向打开 n 个文件
linux特点:
单根操作系统
倒树状结构
重要的哲学思想:一切皆文件
多用户操作系统
linux中的重要目录:
/home
普通用户存储文件的家目录,也就是普通用户的家目录,普通用户只能在自己的家目录下创建/ 编辑文件
/etc
/etc 下存储的是 linux 中的各种配置文件 例如网卡配置文件 系统内核配置文件 用户名
密码配置文件
/bin 目录
存放的是 linux 中可执行程序
/sbin 目录
存放的也是 linux 中可执行程序
/var 目录
存放的是经常发生变化的文件
例如日志文件 /var/log/message
/tmp 目录
存放的是临时文件
这个目录所有的文件,如果 30 天内没有被访问过,那么文件自动被删除
/root 目录
这个目录是超级管理员用户的家目录
/dev 目录
设备文件
块设备:随机访问,数据块
字符设备:线性访问,以字符为单位
/lib 库文件
静态链接库, .a
动态库 .dll .so
特殊文件 /lib/modules 内核模块文件
/mnt 挂载点目录,将系统盘挂载到某个目录当中
/media 目录,可以作为挂载点的目录
/proc 伪文件系统,内核映射文件。展示系统的硬件信息
/sys 伪文件系统,随硬件设备相关的属性映射的文件 伪文件系统,开机才有 关机后目录中内容消失
linux总的路劲表示方式:
/ 目录名 / 目录名称(文件名) / 文件名
第一个 / 表示根目录 ,第二个 / 表示路径分隔符 ,第三个 / 表示路径分隔符
linux的命名规则:
文件名长度不能超过 255 个 字符
严格区分大小写
不能使用 / 作为文件名
cli 终端快捷键
ctrl+a 将光标移动到行首
ctrl+e 将光标移动到行尾
ctrl+u 删除当前所在位置到行首的所有字符
ctr+k 删除当前所在位置到行尾的所有字符
命令补全使用的快捷键是 tab
命令历史:
查看命令历史: history 默认情况下 记录最近 1000 个命令
选项:
-c :清空历史命令
-d 【n】 删除指定位置的命令
-w 保存历史命令到一个文件中
linux网络配置
网络配置文件位置:/etc/ifconfig/network-scripts/ifcfg-ens33
查看网卡配置信息:
ip addr 
ip地址:
IP 地址格式:
用点进行分割
4 部分组成
每个部分的数值 0-255 之间的数字, IP 地址在计算机中的固定存储空间是 4 个字节也就是 32
bit
子网掩码:
作用:判断两个 IP 是否属于同一个网段
两个 IP 在同一个网段所以才能通信。
人类为了让 IP 地址获得更高的复用率才有子网掩码产生
网卡配置信息:
TYPE=Ethernet ===> 网卡的类型 以太网
BOOTPROTO=dhcp ====> IP 地址获取方式 dhcp (自动获取) static 表示手动指定地址
NAME=ens33 ===> 网卡名称
ONBOOT=no ===> 开机自动加载网卡,no为不加载,yse为自动加载
重启网卡服务:
systemctl restart network
linux用户管理
查看用户
命令: id
格式: id 用户名
作用:检查用户的 id
创建用户
命令: useradd
格式: useradd 用户名
删除用户
命令: userdel
格式: userdel 用户名
修改用户的密码
命令: passwd
格式: passwd 用户名
注意:普通用户只能修改自己的密码, root 用户可以修改所有用户的密码
切换账户
命令: su
选项: - 表示直接切换到用户的家目录
作用:切换用户
用户权限管理:
用户权限都有哪些:
r 【读权限】 可以执行类似于 cat tac head tail 8 进制数值表示 4
w 【写权限】 可以向文件中写入内容 用 8 进制数值表示 2
x 【执行权限】 可以执行文件中的指令 用 8 进制数值表示 1
( - ) 表示没有这个权限
用户对象
属主用户:这个文件的主人是谁、文件的属主
属组用户:这个文件的属组
其他用户:不是这个文件的属主,也不是这个文件的属组
字母表示方式
u :表示属主用户
g :表示属组用户
o :表示其他用户
a :表示所有用户
操作的权限方法
( + ) 表示添加权限,例如给属组用户添加执行权限
( - ) 表示去除权限
( = ) 表示将权限修改为指定的内容
修改权限
命令: chmod
作用:修改文件的权限
格式: chmod 用户对象 操作符号 权限 文件名(操作对象)
数字权限表示方式
r   4
w  2
x   1
-    0
用数字表示一类用户的权限
0 :---
1 :-- x
2: -w-
3: -wx
4: r--
5: r-x
6: rw-
7: rwx
用数字表示三类用户的权限,三个数字从前向后,依次是 属主、属组、其他用户
621 rw---w--x
345 -wxr--r-x
000:   ---------
777: rwxrwxrwx
修改目录及其子文件的权限
chmod 权限 -R 目录名称 # 设置目录及其目录里面所有的文件
修改文件的属主属组
命令 chown
作用是修改文件的属主和属组
格式: chown 属主名 . 属组名 文件名称
管道符
管道符号是一个    |    作用是将 | 前面命令的执行结果交由 | 右面的命令进行二次处理,管道符左边
的命令必须执行成功,才能执行管道符右面的命令
重定向符号
> 重定向符号,作用是将左边的执行结果追加到右边的文件中(将文件中的内容清空后再追加)
>̹>  重定向符号,作用是将左边的执行结果追加到右变的文件中(在文件最后一行进行追加)
管理服务的命令
启动服务
格式: systemctl start 服务名称
重启服务
格式: systectl restart 服务名称
关闭服务:
格式: systectl stop 服务名称
设置服务开机自动启动
格式: systemctl enable 服务名
设置服务开机自动关闭
格式: systemctl disable 服务名
查看服务的状态
格式: systemctl status 服务名
安装卸载软件
安装类别
yum 安装 ( 常用类型 )
编译安装(在生产环境 ---IDC 或者是内网服务器 --
通用二进制格式安装
linux 中的安装包
软件包后缀名称 .rpm
系统光盘中就有软件包
在阿里、华为、清华大学、化工科镜像站当中
rpm安装方式
需要使用 rpm 命令进行安装软件
rpm 命令
作用是用来管理 linux 当中的软件以及软件的依赖库
格式: rpm 【选项】 软件名称 用来安装或者卸载软件的
格式 2 rpm 【选项】 【软件名称】 用来查看软件的安装情况以及依赖关系
选项:
-qa: 查看系统当中安装的软件
-qi :查看系统安装的软件的信息
-ql :查看指定软件的依赖关系
-e: 卸载软件
优点:直接本地化安装,不需要依赖网络
缺点:需要手动解决软件的依赖关系
yum 安装
yum 安装软件步骤
第一:准备一个软件源。软件源其实就是一个目录,在这个目录当中存放很多的 rpm
软件包
第二:创建 yum 的配置文件,文件需要指向软件源
第三:用 yum 进行软件的安装 / 卸载操作
yum 命令
作用:用来管理 linux 当中的软件源
格式: yum 选项 | 参数 软件名
选项 | 参数
install :安装软件
info :不安装软件,只查看软件是否存在以及软件的信息
remove: 卸载软件
makeinstall :创建 yum 缓存
cleall all :清空 yum 缓存
-y :直接安装不进行二次确认
tar 命令:
作用:压缩或者解压文件包
压缩包的格式: .tar.gz
格式: tar 选项 | 参数 文件名称
选项:
xfv :解压软件
cf :压缩软件
tfv :不解压,只查看压缩包中的内容
计划任务
通过周期性计划任务,可以定时、自动完成特定的工作
使用任务计划,需要开启一个服务: crond
检查 crond 服务是否正在运行当中
systemctl status crond 
创建任务计划
crontab -e 可以创建任务计划
crontab -l 查看任务计划
SHELL 脚本编程
特点:
也是一种编程,最大的特点是简单
shell 中,其实就是包含了各种 linux 命令
这个保存了命令的文件就是一个 shell 脚本
通过 shell 脚本实现批量执行 linux 的命令
shell 脚本的流程
第一步、用 vim 来创建一个后缀是 .sh 的文件
shell 脚本的第一行必须是 #!/bin/bash
sh 文件中写入指令
给脚本赋予执行权限
chmod +x a.sh
执行脚本
./a.sh
shell 流控制
循环
周而复始的执行一个命令
格式
for 变量 in 列表
do
done
for 的执行流程
1 )将列表中的元素,逐个拿出一个来赋予变量,然后执行 do done 之间的代码
2)do done 之间的代码执行完成后,会再一次从列表中再拿下一个元素,然后再次执行 do done 之间 的代码
3 do done 之间的代码执行完成后,会再一次从列表中再拿下一个元素,然后再次执行 do done 之间 的代码
4 )当列表中的元素用尽了,就会结束循环,结束循环后,才会执行 done 后面的代码后续代码
判断
只有当符合条件的时候,才会执行命令
格式1:
if [ 判断条件 ] then
代码块 1 (判断对的情况)
else
代码块 2 (判断错误的情况)
fi
这种结构叫做双分支结构
中间代码块 1 只有在条件成立的情况下才会执行
代码块 2 只有在条件不成立的情况下才会执行
格式2:
if [ 判断条件 ];then
代码块
fi
这种格式称为单分支
脚本中的数值运算符:
-gt :测试一个数值是否大于另外一个数值
-eq: 测试两个数值是否相等
-ne :测试两个数值是不是不等于
-lt :测试一个数值是否小于另外一个数值
-ge :大于或者等于
-le :小于等于
逻辑运算符
逻辑与: 条件 1 && 条件 2
当一个条件为假时,第二个条件就不用判断了,最终结果是为假
当第一个条件为真(条件成立),第二个条件继续判断,如果是成立 结果为真 如果不成立结
果为假
逻辑或: ||    任意一个条件成立即可
ping 命令:
作用:测试哪些 IP 地址是在线的
格式: ping 选项 IP 地址 | 域名
选项:
-c :向目标主机发送多少个 ICMP 数据包
-i :表示等待时间,快速发送 icmp 数据包,去探测目标主机是否在线
Linux 中三剑客
grep: 内容过滤
awk :内容截取
sed :内容替换
1 grep
文本搜索工具,根据用户指定的文本模式对目标文本进行逐行搜索,并显示匹配到的行
格式: grep [ 选项 ] " 正则表达式 " 文件
选项:
-v :反向匹配,显示不能被匹配到的行
-i :不区分大小写
-E :支持扩展正则表达式
-o :仅匹配被模式匹配到的子串,而非整行
-A # :还显示模式下面的一行(#表示一个数字)
-B # :显示模式匹配到的行的上面 N
-C # :显示模式匹配到的行的上下
扩展正则表达式 
\ # 表示转义字符,或者用于字符锚定使用
\? 前面的字符出现 1 次或者 0
\{m \} 匹配 m
\{m,n \} 匹配最少出现 m 次,最初出现 n
\{0,n\} 匹配最多 n
\<"root"\> 匹配包含指定单词的行
/dev/null 黑洞文件
用于将哪些不需要的输出结果通过使用黑洞文件进行屏蔽
awk
awk -F “ 分隔符 ” ‘{print $#}’
作用,截取数据中的任意一列
sed
作用:修改文件中的内容
特点:
sed 去修改文件的时候,默认修改的文件副本的内容,不会修改原始文件
如果想修改原始文件,需要使用选项 -i
选项:
-p: 输出
-d :删除
-s:替换, S/ 原始内容 / 替换的内容 /g 表示做全局替换,不加 g 仅仅是替换这行的第一个
-a :追加
-i :原地修改【修改原始文件】
shell 中的两个命令
echo 输出
read 输入
格式 read 【选项】 " 提示内容 变量名
选项:
-s: 不回显输入的内容,例如输入密码
-p :后面给出提示信息
-t :后面接时间,设置超时时间
-n :设置输入的字符数,输入做限定个数
判断条件
判断数字
-gt
-ge
-lt
-le
-ne
-eq
判断文件
-a 判断文件是否存在
-d 判断文件是否存在,而且是目录文件
-f 判断文件是否存在,而且是一般文件
$?命令
查看上一步操作是否操作成功,如果成功则结果为0,如果不成功结果为非0正数
用户一共有三类
管理员: root uid 0
系统用户: uid 1-499 只能用来运行程序,不能用于登陆系统
普通用户: uid 500+ 可以用来登陆系统,但是权限很小
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值