【无标题】

day5

  1. 压缩打包相关命令

压缩工具:gzip(后缀为.gz)、bzip2(后缀为.bz2)

注意:只能压缩文件

压缩:

gzip 文件名;//后缀为.gz

bzip2 文件名; //后缀为.bz2

解压:

方式1:

-d:将压缩文件解压

gzip -d 文件名;

bzip2 -d 文件名;

方式2:

gunzip 文件名;

bunzip2 文件名;

tar 打包(后缀为.tar)

相关参数:

-c:打包

-x:解包

-v:显示相关信息

-f: 指定包文件名(必须放在最后一个)

-z:调用gzip/gunzip

-j:调用bzip2/bunzip2

先打包,再压缩

先打包:

再压缩:

先解压,再解包

解压:

解包:

将打包+压缩一体化:

解压+解包一体化:

  1. Linux环境变量

env:查看所有的环境变量

2.1 临时添加

注意:只对当前终端有效,如果当前终端关闭,添加的环境变量就不存在了

2.2 永久添加

将环境变量添加到/etc/profile中,这样在任何时候都有效

  1. 使用管理员权限打开/etc/profile
  2. 在文件末尾添加:export PATH=$PATH:/home/linux/22111/linuxC/day5
  3. 重启or source /etc/profile

重启:sudo reboot

关机:sudo shutdown -h now

3、Linux下共享文件设置

方法1:

虚拟机-->设置-->选项-->共享文件夹

共享文件夹:/mnt/hgfs

方法2:

查看Linux的ip地址:

4、Linux网络配置

4.1 测试是否有网

如上图所示,表示网络状况良好

4.2 网络配置

(1)虚拟机-->设置-->网络适配器

(2)编辑-->虚拟网络编辑器

4.3 配置静态IP

(1)Linux

(2)windows

4.4 网络基础知识介绍

1、IP地址

ip地址:是主机的唯一表示

ip地址:网络地址+主机地址

ip地址根据网络地址的不同,主要分为A、B、C、D、E类

A类IP地址:

1个字节网络地址+3个字节主机地址(网络地址最高位必须是0)

地址范围:1.0.0.0 ~126.255.255.255

B类IP地址:

2个字节网络地址+2个字节主机地址(网络地址最高为必须是10)

地址范围:128.0.0.0 ~ 191.255.255.255

C类IP地址:

3个字节网络地址+1个字节主机地址(网络地址最高位必须是110)

地址范围:192.0.0.0 ~ 223.255.255.255

2、子网掩码

作用:判别主机发送的数据包是向外网发送还是向内网发送

网络地址全是1,主机地址全是0

3个字节网络地址+1个字节主机地址

1111 1111  1111 1111  1111 1111  0000 0000

   255        255       255       0

192.168.0.1    192.168.0.118     192.168.3.100

& 255.255.255.0

  192.168.0.0    192.168.0.0       192.168.3.0

  1. 网关
  2. DNS服务器

解析器和域名服务器组成的

注意:域名必须对应一个IP地址,IP地址不一定有域名

  1. Linux软件管理

换源:sudo /etc/apt/sources.list

下载软件:

sudo apt-get update

sudo apt-get install 包名;

卸载软件:

sudo apt remove 包名;

  1. shell脚本

shell脚本:一堆命令的集合

C语言:强类型语言(对数据类型分的比较清楚)、编译性语言

shell脚本:弱类型语言,不需要编译,直接运行就可以了

6.1 如何创建设立了脚本

1、新建一个文件(后缀为.sh)

2、编辑该文件

vim 1.sh

3、运行的时候没有可执行权限,需要人为去添加

chmod 777 1.sh

4、运行

./1.sh

6.2 用户自定义变量

shell允许用户建立  变量存储类型

注意:任何赋给变量的值都被shell解释为一串字符

命名规范:

  1. 由数字、字母、下划线组成
  2. 首字母不能为数字
  3. shell中的变量一般用大写表示

注意:

  1. 要取用一个变量的值时,在变量名前加$
  2. 在赋值时,等号的左右两侧不能有空格

6.3 位置参数

注意:变量名很容易与文字混淆,因此使用时加上括号

6.4 预定义变量

$#:包含命令行参数的个数

$@:包含所有命令行参数

$*:包含所有命令行参数

$?:包含前一个命令的退出状态,正常退出返回0,反之为非0(shell中0为真,非0为假)

$$:包含正在执行的进程的ID号

案例1:在家目录下新建一个目录(mydir),在该目录下新建一个文件(1.txt),然后向该文件中写入”hello shell”

案例2:交叉编译工具链

6.5 shell程序和语句

6.5.1 说明性语句

注释:#

6.5.2 功能性语句

1、输出

echo “hello shell”

echo -n “hello shell” //不换行

  1. 输入

方式1:

方式2:

想要换行

输入字符串

若想实现hello shell和22111

6.5.3 算术运算

expr主要用于进行简单的整数的算术运算、+、-、\*、/、%

注意:expr与变量以及变量与运算符之间必须有空格

作业:(附加题)

if [表达式]

then

语句

fi

while [表达式]

do

语句

done

使用shell实现9*9乘法表

day6

  1. test

整数、字符串、文件属性

    1.  字符串测试

s1 = s2 测试两个字符串的内容是否完全一样

s1 != s2 测试两个字符串的内容是否有差异

-z s1 测试s1字符串的长度是否为0

-n s1 测试s1字符串的长度是否不为0

注意:“[”的右边,以及”]“的左边以及等号的左右两侧必须有空格

    1.  整数测试

a -eq b   测试a与b是否相等

a -ne b   测试a与b是否不相等

a -gt b   测试a是否大于b

a -ge b   测试a是都大于等于b

a -lt b   测试a是否小于b

a -le b   测试a是否小于等于b

1.3 文件测试

-d name  测试name是否为一个目录

-f name  测试name是否为普通文件

-L name  测试name是否为链接文件

-c name  测试name是都为字符设备文件

-r name  测试name文件是否存在且为可读

-w name  测试name文件是否存在且可写

-x name  测试name文件是否存在且可执行

-s name 测试name文件是都存在且长度不为0

f1 -nt f2  测试f1是否比f2更新

f1 -ot f2  测试f1是否比f2更旧

  1. 选择语句

2.1 单分支选择

if [表达式]

then

语句

fi

2.2 双分支选择

if [表达式]

then

语句1

else

语句2

fi

2.3 多分支选择

if [ 表达式1 ]

then

语句1

elif [ 表达式2 ]

then

语句2

.............

elif[ 表达式n ]

then

语句n

else

语句n+1

fi

2.4 case语句

case 字符串变量 in

模式1)

语句1

;;

        模式2)

语句2

;;

.................

模式n)

    语句n

    ;;

*)

语句n+1

;;

esac

案例1:

输入一个文件,判断它是否为普通文件,如果是普通文件,判断它是否有写的权限

如果有写的权限,向文件中写入hello shell

如果没有写的权限,给它添加写的权限,写入hello shell

案例2:

请输入你想下载文件的名字,让用户确认,

用户输入是否下载这个软件,[Y/N/Q],Y:正在下载 N:用户取消下载 Q:退出

  1. 循环语句

for 变量名 in 单词表

do

语句

done

方式1:

方式2:

方式3:

方式4:

注意:花括号内不能写变量

方式5:

案例:打印9*9乘法表

while [表达式]

do

语句

done

break:跳出循环

注意:break n:跳出n层循环

continue:结束本次循环开始下一次循环

  1. 函数

4.1 定义

方式1:

函数名()

{

}

方式2:

function 函数名()

{

}

注意:一般使用的是方式2

4.2调用

方式1:

变量名=`函数名 参数列表`

注意:

  1. 子函数中的所有标准输出传递给了主程序中的变量
  2. 子函数中的$n并非shell中的$n

方式2:

函数名 参数列表

注意:一般使用的是方式2

案例:

案例:

  1. 判断用户主目录是否有file-dir和dir-dir目录

如果这两个目录存在,询问是否删除这两个目录

如果用户的是Y,将这两个目录删除,重新创建这两个目录

如果是N,取消删除

如果上述的目录不存在,则创建这两个目录

  1. 请用户输入一个路径,将这个路径下的文件拷贝到file-dir这个目录,将

这个路径下的目录拷贝的dir-dir目录 

  1. 统计拷贝的文件和目录的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值