linux介绍
1.1.不同操作系统的内核:
windows - NT
ubuntu - linux
Android - linux
macOs ios - unix
1.2.查看系统版本
查看操作系统版本
lsb_release -a 或者 -r
cat /etc/issue ---> 文件中查看
查看内核版本
uname -a 或者 -r
cat /proc/version ---> 文件中查看
1.3.内核系统架构
应用层:app、shell命令
| |shell解析器
C库 |
|
-------------系统调用----------------------------
内核层:五大功能
内存管理
文件管理
设备管理
网络管理
进程管理
----------------------------------------------------
硬件层:鼠标、键盘、lcd等
1.4.系统关机或重启命令
关机:
sudo shutdown -h now : 立即关机
sudo shutdown -h +时间 "提示语句" :定时关机 min为单位
sudo shutdown -h 时间
重启:
sudo shutdown -r now :立即重启
sudo shutdown -r +时间 :定时重启
sudo shutdown -r 时间
例:这种是错误的
sudo reboot now : 立即重启
1.5.网络配置
- 虚拟机提供的网络类型
- 桥接模式:主机和虚拟机分别拥有不同的ip地址,可以实现和外界设备通信
- NAT模式:也可以联网,但是和主机共用同一个ip地址,外界无法识别虚拟机和主机发送的信息
- 仅主机模式:不能联网,只能和主机通信
- 如何查看虚拟机是否联网
ping www.baidu.com
说明虚拟机可以联网
- 配置桥接网络
- 保证虚拟机提供了桥接模式
菜单栏中----->虚拟机----->设置---->网络适配器---->桥接模式
- 保证虚拟机可以设置桥接网络
菜单栏----->编辑------>虚拟网络编辑器
更改设置(如没有桥接模式)----->添加网络(添加桥接网络)
问题:无法添加桥接网络
- 尝试还原默认设置后,再重新添加桥接网络
- 如果1没有用,找到VMware的软件安装包,双击安装包修改该软件
- 如果1和2都没有用,安装更高版本的VMware
桥接到主机的网卡
如果自动失败,手动找到主机的网卡
1) 找到网络---->属性
- 描述的位置即是主机的网卡
3. 找到主机网卡后,不选自动直接桥接到主机具体的网卡
1.6.Linux下的软件安装
两种软件包管理机制:
debian linux:deb软件包 - Ubuntu用的是这个
redhat linux: rpm软件包
deb软件包分为两种:
二进制软件包(deb):.deb - 安装软件的软件包
源码包(deb-src) :dsc
软件包命名
1.6.1.软件包的管理工具(指令):dpkg apt
- dpkg
特点:安装时需要软件包存在,不需要从镜像站点获取软件包。
不需要网络,不能检查软件之间的依赖关系。
使用格式:
sudo dpkg -i 完整软件名: 离线安装 install —— 安装
注意:可以输入sl然后按下Tab按键。会自动打出其余字母
sudo dpkg -r 完整软件名 :离线卸载(不完全卸载) remove --去除
sudo dpgk -p 完整软件名 : 离线卸载( 完全卸载)purge——清除
sudo dpkg -l (里面写的是L) :查看磁盘中有那些软件安装包,以及安装状态。
sudo dpkg -s 完整软件名 :查看软件的安装状态 state(状态)
2)apt
特点:安装时不需要软件包存在,需要从镜像站点获取软件包。
需要网络,需要检查软件之间的依赖关系
sudo apt-get install 软件名(可以不完整) :下载并安装软件
sudo apt-get remove 软件名(可以不完整):卸载软件 remove --去除
sudo apt-get remove --purge 软件名(可以不完整):完全卸载 purge——清除
sudo apt-get clear :清除下载的软件包。
sudo apt-get download 软件名:只下载软件包
执行download命令会出现的问题:
原因:只让虚拟机下载了软件包,并没有安装软件包的权限
sudo apt-get upgrade 软件名:更新软件(若不写软件名,会全部更新能更新的全部软件)
sudo apt-get update :更新源 update ——更新
更新软件源
更新ubuntu下载软件的来源
因为Ubuntu默认的是国外的软件源,更新成国内的软件源
国内的软件源有哪些?
清华源:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
阿里源:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站
163源、中科大源
需要修改/ect/apt/sources.list文件(该文件是Ubuntu下载软件时默认查找的网址
更新软件源:
1、将原来的软件源保存一份,sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、sudo vi /etc/apt/source.list文件,把从网页中拷贝的清华源的内容,复制到sources.list中
wq!强制保存退出
将国内源中的软件列表更新到本地
sudo apt-get update
软件包默认存放位置:
/var/cache/apt/archives -》安装的软件的安装包默认存放的路径
shell的基本命令
2.1shell 的介绍:
shell是命令解析器
用户、shell、内核、硬件之间的关系:
用户在命令行提示符下键入命令文本,开始与Shell进行交互。
接着,Shell将用户的命令或按键转化成内核所能够理解的指令
控制操作系统做出响应,直到控制相关硬件设备。
然后,Shell将输出结果通过Shell提交给用户。
解析器的分类:
Bourne Shell(简称sh):Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。
C Shell(简称csh):C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。
Korn Shell(简称ksh):Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。
Bourne Again Shell(简称bash):Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。
2.2shell命令格式:
通常一条命令包含三个要素:命令名称、选项、参数。其中命令名称是必须的,选项和参数根据实际情况进行填写
Command [-Options] Argument1 Argument1 ……
Command | shell命令名称,严格区分大小写 |
Options | shell命令选项,每一个参数都需要添加"-"进行引导 |
Argument1 | shell命令参数,一条命令的参数大于等于0个,且多个参数的情况需要利用空格进行隔开 |
注意:
- 一条命令的三要素之间要用空格隔开
- 若一行书写多个命令,需要使用分号(;),进行隔开。例:
- 如果一条命令不能再一行内写完,需要在行尾使用反斜杠\表示命令没有结束:例:
history-历史记录查询:
直接执行history显示HISSIZE条历史记录
history 10 ——>只显示10条历史记录
echo $HISTSIZE——>在终端显示环境变量HISTSIZE的值
家目录下隐藏文件 .bash_history 保存历史记录,保存HISTFILESIZE条
终端关闭,终端上执行的命令刷新到文件中
环境变量(历史指令记录)的值可以被更改:
export HISTSIZE=10 注:只限当前终端有效。临时修改显示多少条修改记录。
家目录下文件.bashrc中修改就是永久修改,修改完成,在新打开的终端生效。例:
2.3.shell中的特殊字符
2.3.1.通配符
当用户需要用命令处理一组文件,例如 file1.txt、file2.txt、file3.txt、file4.txt ……,用户不必输入所有文件名。可以使用shell通配符。
2.3.1.1 通配符 *
通配符 * 作用:匹配任意长度的字符
两种方式:
1、与文件名一起使用,表示文件名相同的都会匹配上
2、单独使用*,表示全部文件
例:
2.3.1.2 通配符 ?
通配符 ? 作用: 匹配一个长度的字符
例:用 file_?.txt,匹配 file_1.txt file_2.txt 能匹配到的,file_11.txt则匹配不到
注:一个?只能匹配一个字符
2.3.1.3 通配符 []
格式:通配符 [字符串] 作用:匹配其中指定长度的字符串
例:
2.3.1.4 通配符 [ - ]
格式:通配符[起始字符 - 结束字符] 作用:指定一个字符范围
例:
2.3.1.5 通配符 { .. }
格式:通配符 {起始字符 .. 结束字符} 作用:用于创建使用{}。
例:
2.3.1.6 通配符 [ [ : lower : ] ]
[ [ : lower : ] ] 作用:指定所有小写字符为范围
2.3.1.7 通配符 [ [ : upper : ] ]
[ [ : upper : ] ] 作用 :指定所有大写字符为范围
2.3.2. 管道 |
将前一个命令的输出作为后一个命令的输入
cat xxx.c | wc -l ---> 将cat输出到终端的内容作为 wc -l 的输入,计算行数
补充:wc -l 文件名:文件行数
wc -c 文件夹名:文件字符个数
wc -m 文件名:计算文件字节大小
wc -w 文件名:文件单词个数
2.3.3. 输入输出重定向
2.3.3.1输出重定向
格式: 命令 > file(文件名) :将文件作为输出目标,即将命令执行后的结果输出到文件上,
注:file文件不存在也关系(会被创建出来)会把之前的内容覆盖掉
若不想覆盖则:
命令 >> file(文件名):文件存在内容的话会追加。(可应用所有输出定向)
以上只能输出正确结果,若想命令产生的错误信息输入到文件当中,则:
命令 &> file(文件名) 或 命令 2>file(文件名)
2.3.3.1输入重定向(用于测试,或不想多次输入)
格式 : 命令 < file (文件名) :将文件内容作为命令的输入。
2.3.4.命令置换符
` `或者$()
将一个命令的输出作为另一个命令的参数
例:
2.3.5.系统维护命令
标签:Shell,软件包,sudo,高级,更新,命令,apt,linux,软件 From: https://blog.csdn.net/2403_88313638/article/details/143846569