Linux 学习记录35(C高级篇)
本文目录
- Linux 学习记录35(C高级篇)
- 一、linux操作系统
- 1. 文件系统结构
- 2. 常见的linux的发型版本
- >1. linux发行版和内核版的区别
- 二、网络配置
- 1. 查看网络是否连接
- 2. 网络配置
- >1. 保证虚拟机有桥接网络
- >2. 设置桥接网络
- >3. 重启网络服务
- 3. 三种网络模式
- 三、建立共享文件夹
- 四、在线安装软件
- 1. 指令
- 2. 更新软件源
- 3. 修改软件源
- >1. 虚拟机备份
- >2. 备份软件源
- >3. 修改软件源
- >4. 同步软件源
- 4. 下载指令
- 五、离线安装软件
- 1. 软件包的命名规范
- 2. 离线安装指令
- 六、文件相关命令
- 1. 重定向和追加
- 2. head 和 tail
- 3. 管道符
- 4. 查找文件 find
- 5. 查看文件信息 file
- 6. 查找字符串 grep
- 7. 截取字符串 cut
- 8. 压缩和解压缩
- >1. 压/解压缩 gzip
- >2. 压/解压缩 xz
- >3. 压/解压缩 bzip2
- >4. 压缩总结
- 七、归档和拆包
- 思维导图
一、linux操作系统
1. 文件系统结构
Linux的文件系统结构是一个倒插树结构,所有的文件都从根目录出发
万物皆文件
所有的目录都是从根目录出发
1. etc:存放配置文件
2. bin:存放二进制文件
3. root:超级用户的家目录
4. home:所有用户的家目录信息
2. 常见的linux的发型版本
1. ubunt
2. centos
3. redgat
4. openSUSE
5. arch
6. Deepin:国内
>1. linux发行版和内核版的区别
发行版:内核源码和桌面应用/软件结合
内核版:掌握在linus本人手里,进行维护,内核源码
二、网络配置
1. 查看网络是否连接
ping 网址/IP地址
例:
2. 网络配置
>1. 保证虚拟机有桥接网络
选择桥接网络或
VMnet0
>2. 设置桥接网络
给虚拟机添加桥接网络,如果没有vmnet0,添加网络
桥接到主机的网卡,一般自动是可以的,如果自动不行,去主机的网络属性中,找主机使用的网卡
选择DHCP或手动填充网络
>3. 重启网络服务
sudo service network-manager stop //暂停网络服务
sudo rm /var/lib/NetworkManager/NetworkManager.state //删除配置文件
sudo service network-manager start //重启网络服务
sudo vim /etc/NetworkManager/NetworkManager.conf //修改配置文件把配置文件中的false改成true
3. 三种网络模式
桥接:可以和外部设备通信,主机和Ubuntu分别使用不同的IP地址
NAT:可以和外部设备通信,主机和Ubuntu公用一个IP地址
主机:只能和主机通信
三、建立共享文件夹
建立主机和Ubuntu共享的文件夹,保证主机下有这个文件夹
共享文件夹的文件路径
四、在线安装软件
1. 指令
apt-get
2. 更新软件源
更新到国内的软件源系统
只有sorces.list中的内容,才是能使用的软件源
1. 国内的软件源:163源、中科大源、阿里源、清华源
3. 修改软件源
>1. 虚拟机备份
>2. 备份软件源
>3. 修改软件源
将原有的软件源删除,替换成要修改的软件源
点击此处前往获取清华软件源
>4. 同步软件源
将软件源中的内容同步
指令:
sudo apt-get update
4. 下载指令
apt-get
安装:install 软件名
删除:remove 不完全删除(保留配置文件)
卸载:remove --purge (完全卸载软件)
下载软件安装包
:download 软件名(不安装软件)
下载软件源码:source 源码名
清空安装包:clean 清空默认下载位置的安装包 /var/cache/apt/archives
五、离线安装软件
在线安装会检查软件依赖,并主动安装依赖的软件
离线安装不会检查依赖,也不会安装以来软件
1. 软件包的命名规范
sl _3.03- 17build2_ amd64 .deb
软件名 主版本号 修订版本号 支持64位架构 软件包后缀名
i386支持32位架构 .rpm
2. 离线安装指令
sudo dpkg -i 软件包名
要求:执行指令的路径下一定有软件包
卸载>> sudo dpkg -r 软件名
完全卸载>> sudo dpkg -P 软件名
查看软件安装列表>> sudo dpkg -l 软件名
查看安装路径>> sudo dpkg -L 软件名
六、文件相关命令
1. 重定向和追加
重定向符>、追加 >>
1、重定向符
cat 1.c > 2.c
1、如果2.c不存在,创建一个2.c,把1.c的内容重定向到2.c中
2、如果2.c不存在,创建一个2.c,把1.c的内容重定向到2.c中,覆盖掉原有的内容
echo 1 > 2.c
1、如果2.c不存在,创建一个2.c,把1重定向到2.c中
2、如果2.c不存在,创建一个2.c,把1重定向到2.c中,覆盖掉原有的内容
2、追加
cat 1.c >> 2.c
1、如果2.c不存在,创建一个2.c,把1.c的内容追加到2.c中
2、如果2.c不存在,创建一个2.c,把1.c的内容追加到2.c中,覆盖掉原有的内容
echo 1 >> 2.c
1、如果2.c不存在,创建一个2.c,把1追加到2.c中
2、如果2.c不存在,创建一个2.c,把1追加到2.c中,覆盖掉原有的内容
2. head 和 tail
head 文件名 ----->显示文件的前10行,不足就全部显示
head -n 文件名 ----->显示文件的前n行,不足就全部显示
tail 文件名 ----->显示文件的后10行,不足就全部显示
tail -n 文件名 ----->显示文件的后n行,不足就全部显示
3. 管道符
指令1 | 指令2 | ···· | 指令n
把前一条指令的输出,当作后一条指令的输入
4. 查找文件 find
在指定路径下以文件名查找文件
"查找路径 find -name 文件名"
5. 查看文件信息 file
file 文件名
6. 查找字符串 grep
grep 字符串 文件名
-w:按单词查找
-R:递归查找
-i:不区分大小写
-n:显示行号
grep -w "^ubuntu" /etc/passwd ---->查找以ubuntu单词作为开头位置的所在行
grep -w "ubuntu$" /etc/passwd ---->查找以Ubuntu为结尾的所在行
grep -w "^ubuntu$" /etc/passwd --->查找开头和结尾都是Ubuntu的所在行
7. 截取字符串 cut
aut -d "分隔符" -f "域"
8. 压缩和解压缩
压缩和解压缩后,源文件都不存在
只能对文件进行操作
>1. 压/解压缩 gzip
生成.gz后缀的文件
压缩:gzip 文件名
解压缩:gunzip 文件名.gz
>2. 压/解压缩 xz
生成.xz后缀的文件
压缩:xz 文件名
解压缩:unxz 文件名.xz
>3. 压/解压缩 bzip2
生成.bzip2后缀的文件
压缩:bzip2 文件名
解压缩:bunzip2 文件名.bz2
>4. 压缩总结
1. 压缩效率:xz>bz2>gz
2. 压缩时间:xz>bz2>gz
适用场合:xz一般用于需要将文件归档(长时间不再去使用),gz一般用于即时的文件传输
七、归档和拆包
归档/打包和拆包后的源文件仍然存在
打包/归档
tar -cvf 打包后的文件名.tar
-c:显示指令执行的过程
-v:实现打包功能
-f:file 该参数后面必须更文件名
-j:打包后以.bz2的形式压缩,生成后的文件名必须以.bz2结尾
-J:打包后以.xz的形式压缩,生成后的文件名必须以.xz结尾
-z:打包后以.gz的形式压缩,生成后的文件名必须以.gz结尾拆包 和 解压缩
tar -xvf 要拆包的文件名