【0】复习
GUN 自由软件组织 --》开源很libc gcc make等
GPL 开源协议 --》底层驱动
linux unix
linux架构--》cat /dev/input/mouse0
linux中一切皆文件
内核五大功能: 文件、设备(块设备、字符设备、网络设备)、网络、内存、进程
c库:系统调用之前做的封装,标准库,不同操作系统上使用。
系统调用:基于内核,内核向上提供的函数接口。
操作系统:cat /etc/issue
lsb_release -a/-r
内核: cat /proc/verison
uname -r/-a
shutdown -r / -h now/+时间
-c :取消定时
reboot :重启
环境变量:PATH可执行命令的默认查找路径 printenv / env
export PATH=$PATH:绝对路径
主目录下:.bashrc -->当前登录用户的配置文件
修改后生效:重启 或 source .bashrc
软件包:
linux --》debian linux:deb redhat linux:rpm
ubuntu --》deb -->源码包.dsc
二进制软件包.deb
两种工具:dpkg apt
dpkg -i 完整软件包名:安装
-s / -r /-P /-L 软件名
4.输入一个字符串,内有数字和非数字字符,如 a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到整型数组a中。例如,123放在a[0]a,456放在a[1],统计共有多少个整数,并输出这些数。
【1】软件包管理工具:apt ==》apt-get apt-cache
1.特点:
安装软件不需要软件的安装包存在,能从镜像站点获取软件包,
能检测软件之间的依赖关系,安装需要网络。
apt-get:
sudo apt-get install 软件名:下载安装软件
sudo apt-get remove 软件名:卸载软件包
sudo apt-get --purge remove 软件名 :完全卸载
sudo apt-get update :更新软件源
sudo apt-get upgrade :将所有的软件跟新为最新版本
sudo apt-get download 软件名:下载软件安装包
sudo apt-get source 软件名:下载源码包
sudo apt-get clean:清除下载的软件包
位置:/var/cache/apt/archive
apt-cache命令:查看安装状态、依赖关系
sudo apt-cache show 软件名:获取二进制软件包的详细描述信息
sudo apt-cache policy 软件名:查看安装状态
sudo apt-cache depends 软件名:我依赖的软件
sudo apt-cache rdepends 软件名:那个软件依赖我
2.安装软件失败的原因:
1.虚拟机没有网络*****
1)检测虚拟机是否可以链接外网:ping 网址或ip地址
ping www.baidu.com
出现以下现象,能通网:
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12: icmp_seq=1 ttl=52 time=18.0 ms
64 bytes from 180.101.49.12: icmp_seq=2 ttl=52 time=17.5 ms
2)没有网络,配置网络:
1、选择虚拟机连网方式:桥接模式、Net模式、仅主机模式
编辑–>虚拟机网络适配器:查看到的是三个模式
桥接模式、nat模式 --》可以通外网
仅主机模式–》不通外网
2、配置自动获取ip或设置固定ip
1.编辑–》虚拟网络适配器–》选择桥接模式(自动)/Net模式–》确定
2.虚拟机–》设置–》硬件–》网络适配器–》模式和前边对应–》确定
3.添加链接的网络:
自动获取ip:
右上角扇形点击–》Eit connections --》add --》name:auto
–》选择ip4 --》method :automatic --》确定
重启网络。
手动设置固定ip:
右上角扇形点击–》Eit connections --》add --》name:manual
--》选择ip4 --》method :manual --》添加固定ip–》DNS–》确定。
重启网络。
DNS:域名解析器(解析网址的)
将网址解析为ip地址,进行通信,不同运营商,解析器的地址不同。
114.114.114.114
8.8.8.8
3) .查看ip地址
虚拟机ip地址的查看:ifconfig
inet addr :ip地址
Mask:子网掩码
Bcast:改网段的广播地址
lo:本地回环地址
127.0.0.1:本机地址
windows的ip地址:
win+r: 输入 cmd -->windows终端界面
ipconfig:查看windows的ip地址
2.镜像站点获取不到软件源
1>找到虚拟机保存源的文件,将文件内的源替换新的源
sudo gedit /etc/apt/source.list
注:修改之前先备份--》
sudo cp /etc/apt/sources.list /etc/apt/sources.list.conf
2>网上查找对应ubuntu版本新的源。
3>更新源,新换的源生效
sudo apt-get update
【2】ip地址的分类
ipv4:32个二进制位组成 点分十进制表示 4byte
ipv6:128个二进制位组成
ipv4:192.168.1.121
ip:网络号+主机号
A类:网络号占1byte,主机号3byte,首位固定位0 --》大型网络
网络号取值返回:0000 0000 - 0111 1111 0-127
主机号:0000....0000 - 1111 1111 ... 1111 24
255.0.0.0
B类:网络号占2byte,主机号2byte,首两位固定位10 -->中型网络
网络号取值返回:1000 0000 0000 0000 - 1011 1111 1111 1111
128.0 - 191.255
0000 0000 0000 0000 - 1111 1111 1111 1111
C类:网络号占3byte,主机号1byte,首两位固定位110
网络号取值范围:1100 0000 0000 0000 - 1101 1111 1111 1111
192.0.0 - 223.255.255
主机号:0000 0000 - 1111 1111 256-2
D类:组播地址
首四位固定位1110
E类:保留待用
首四位固定位1111
子网掩码:网络号全为1,主机号全为0.
在一个网段,主机号全为1是该网段的广播地址。全为0是网络地址
0.0.0.0:网络地址
255.255.255.255:全网广播地址
127.0.0.1:本机地址
【3】认识shell
1.命令行解析器。
2.shell解析器版本:sh、csh、ksh、bash
3.shell、内核、硬件、用户之间的关系:*****
1)用户从命令行提示终端输入命令或者按键,提交给shell。
2)shell将命令转换为内核可以识别的指令。
3)内核驱动硬件设备实现对应指令功能,将执行结果提交给shell。
4)shell将反馈的结果解释提交给用户识别。
4.shell的基本命令
1》历史记录查询 history
history 默认显示HISTSIZE条历史命令
临时修改HISTSIZE的值:
HISTSIZE=100 将值临时修改为100,只在当前终端有效
export PATH=$PATH:绝对路径
永久修改:vi .bashrc --》将HISTSIZE修改为100
source .bashrc -->文件生效
history num :直接显示num条历史命令
用户主目录下两个隐藏文件:
.bash_history : 保存的是历史命令,当终端关闭或者暂时保存历史命令的缓存区满会将命令刷新放到这个文件保存。
.bashrc :配置文件 若想永久修改HISTSIZE环境变量的值,这个文件可以修改
有:HISTFILESIZE --》决定的是保存历史命令文件中历史命令的条数 还
2》alias 命令起别名
alias --》显示已经起别名的命令
alias 别名=“命令” --》给命令起新名字
unalias 起的别名 --》取消起的别名
eg :alias lt=“ls -i” --》将ls -i起名为lt
【4】shell的特殊字符*****
1.通配符
*:匹配任意长度字符
?: 匹配任意一个字符
[-]:匹配区间范围内的任意一个字符
对于字母:默认排序为aAbBcC.... 需要取消本地化设置
locale --》查看本地化环境变量
export LC_ALL=C --》清除本地化设置
unset LC_ALL --》恢复本地化设置
unset取消变量的值。
[...]:匹配指定的任意一个字符
[^...]: 匹配除指定字符的任意一个字符
2.管道 |
将一个命令的输出作为另一个命令的输入
cat test.c | wc -w
cat -n test.c | grep "hello"
wc:
wc -l 文件名:查看文件的行数
wc -w 文件名:查看文件单词个数
wc -c 文件名:文件字符个数
wc -m 文件名:文件大小
grep:查询文件中的字符串
grep “字符串” 文件名
grep -n “字符串” 文件名 :显示行号
3.输入输出重定向
file : 将file重定向为输出源,新建模式
file : 将file重定向为输出源,追加模式
< file : 将file重定向为输入源
2>或&>file : 将file重定向为错误信息输出源
4.命令置换符 `` 在Esc键下
将一个命令的输出作为另一个命令的参数
echo “i am whoami
”