Linux中shell相关知识点

Linux中shell相关知识点

编写三个基础shell

1.编写一个主机探测的脚本

#!/bin/bash
zxc=0
for((zxc=1 ; zxc < 255; zxc++))   //for循环要(()do
ping -c 3 192.168.4.$zxc &> /dev/null   //ping的发包次数,将ping的信息写入黑洞
if[  $? -eq 0  ] ; then    //if的标准语法,$?和-eq下边有描述
echo -e "\e[32m+192.168.4.$zxc host is up!\e[0m"
else
echo -e "\e[31m+192.168.4.$zxc host is down!\e[0m"
fi
done

2.编写一个成绩判断

#!/bin/bash
read -p  "qingshuru" chengji   //从键盘输入(获取一个值)
if [ $chengji -ge 80 ] && [ $chengji -le 100 ]  ; then //判断语句,大于80分小于100分的是好
        echo "youxiude xuesheng"
elif [ $chengji -ge 60 ] && [ $chengji -le 79 ] ; then//判断语句,大于60分小于79分的是中
        echo "yibande xuesheng"
elif [ $chengji -ge 0 ] && [ $chengji -le 59 ] ; then
        echo "chade xuesheng"
else 
        echo "meizhaodao "  //判断为空值的
fi

3.编写一个99乘法表

#!/bin/bash
for i in `seq 9`  //seq是将1-9的输入到屏幕上
do
for j in `seq $i`
do
        echo -n " $i*$j=`echo $(( $i*$j ))`"  //乘法输出到屏幕上
done
echo  " "

done

今日笔记

1.创建用户的uid

系统用户:0-499
登录用户:500-60000
id查看uid,gid
返回用户的家目录 cd ~ |cd - 后退到上一个工作目录

2.磁盘文件

/sr0   |fstab  默认挂载的光驱   
临时挂载:mount /dev/sr0 /mnt

3.黑洞文件

A、/dev/null 将用户输出的信息全部吞噬
B、/dev/zero  往外生产文件

4.Linux系统启动时首先加载的文件是:/etc/profile
5.tar -gcvf //压缩-gize文件格式
6.查看文件的命令:

head
tail
more
less
cat

7.查看后台运行程序 jop
8.查看运行程序: ps
9.将三个txt文件合并成一个文件

cat 1.txt 2.txt 3.txt > 1.php

10.操作系统日志的存放位置
var/log
11.iptables的四表五链
四表
A、NAT:网络地址转换
B、MANGLE:拆解报文,做出修改,封装报文
C、RAW:关闭nat表上启用的连接追踪机制
D、Filter:过滤防火墙
五链
A、PREROUTING:数据包进入路由之前
B、INPUT:目的地址为本机
C、FORWARD:实现转发
D、OUTPUT:源地址为本机,向外发送
E、POSTROUTING:发送到网卡之前
12.Linux查看内核版本信息:uname -a
13.windows查看内核版本信息:systeminfo
14.创建一个密码文件

openssl passwd - 1 -salt salt +密码
15.捕获数据包连接状态(查看端口开放情况)
netstat
ss

16.test []介绍

-a and
-o or
-eq 判断两个值是否相等
-ge 大于或等于
-gt 大于
-lt 小于
-le 小于或等于
-ne 不等于
  • 每一行执行状态
    17.vim模式进入插入的三种状态
a:在光标之后插入
i:在光标之前插入
o:换行插入
dd:删除一行
2 》》dd 删除两行
e!撤销

18.调用的shell版本
#!/bin/bash (优先使用bash)是sh的增强版
#!/bin/sh
19.查看安装的哪些shell版本
cat /etc/shells
20.在shell中
do和done 相当于{}
21.一个tab有八个空格
22.ping -c 发包次数
23.&符号:标准输出,标准错误输出
24.ll输出的主要文件格式

- 普通文件
b块设备文件
c字符设备文件
d目录
l连接文件
p管理文件
s套字接文件
21./dev/stdin :标准的输入(键盘)
dev/stdout:标准的输出(屏幕)
/dev/stderr:标准错误输出

22.在vim中set nu是显示行号

$*	以一个单字符串显示所有向脚本传递的参数;
如"$*"用【"】括起来的情况、以"$1 $2$n"的形式输出所有参数
$#	传递到脚本的参数个数
$$	当前进程的进程号PID
$?	显示最后命令的退出状态;0表示没有错误,其他任何值表明有错误
$!	后台运行的最后一个进程的进程号pid

23.read命令键盘读取变量的值
从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY

编译型
优点: 编译器一般会有预编译的过程对代码进行优化。因为编译只做一次, 运行时不需要编译, 所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点: 编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题, 需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点: 有良好的平台兼容性, 在任何环境中都可以运行, 前提是安装了解释器(虚拟机) 。灵活, 修改代码的时候直接修改就可以, 可以快速部署, 不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

24.解释语言
定义:一行一行去读取(可以直接打开编辑)
编译语言
定义:经过编译器,直接编译成二进制,让计算机直接读取

shell在两个系统中的后缀:

windows:.bat
linux: .sh
 #/bin/bash  (空格是注释)
#/bin/bash (没空格是默认调用)

27.shell中的符号:
单引号‘’:不解析变量
反引号:执行(直接执行命令)
双引号:解析变量
28.

usage使用说明
$0:输出当前的文件名
$1:接受的第一个参数,以此类推

例如:

`whoami` =$(whoami)
echo “usage:$0 url port”
echo “描述信息” $1
echo “描述信息” $2

28.编程的三大结构
A、顺序
B、选择
C、循环
29.解释一个shell中的命令
tar -zcvf 1.tar.gzip ( f i n d / e t c − n a m e ∗ . c o n f ) / / 将 e t c 下 的 所 有 以 c o n f 为 后 缀 名 的 文 件 打 包 为 g z i p 文 件 e c h o “ (find /etc -name *.conf) //将etc下的所有以conf为后缀名的文件打包为gzip文件 echo “ (find/etcname.conf)//etcconfgzipechon=${n}”
30.date文件的格式:

date+%Y -%m -%d (年月日)
date+%h-%m-%s(时分秒)

31.if的分支结构
A、单分支:if[] ; then
代码或者命令
fi
B、双分支:if[] ;then
命令/代码
else
命令/代码
fi
C、多分支:if[] ;then
命令/代码
elif[] ; then
命令/代码
else
命令/代码
fi
32.一些查看命令解释:

which python (从系统环境变量中搜索)
locate python(从数据库变量中搜索)
但是先更新
updatedb(升级一下路径)就可以使用locate
find:从指定位置中搜索

33.ASCII码

A:65 (从26个字母开始查)
a:229(同上)

34.()为数字运算符
[] 逻辑运算符
35.内层循环为列
外层循环为行
36.window中sam文件是存放用户登录信息的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值