练习:传递一个用户名参数给脚本,判断此用户的用户名跟其基本组的组名是否一致,并将结果显示出来.(1)字符测试:==:测试是否相等,相等为真,不等为假!=: 测试是否不等,不等为真,等为假><-n string: 测试指定字符串是否为空,空则真,不空则假-z string: 测试指定字符串是否不空,不空为真,空则为假 练习:写一个脚本传递一个参数(单字符就行)给脚本,如参数为q,就退出脚本:否则,就显示用户的参数: 练习:写一个脚本传递一个参数(单字符就行)给脚本,如参数为q.Q.quit或Qu…
linux基础之bash特性 1.命令历史 命令历史包含的环境变量 $HISTSIZE:命令历史记录的条数 $HISTFILE:命令历史文件~/.bash_history $HISTFILESIZE:命令历史文件记录历史命令的条数 $HISTCONTROL:控制命令历史的记录方式 关于这个$HISTCONTROL环境变量值的介绍: ignoredups:设置为这个值时,忽略重复的命令记录到命令历史中,这重复的命令必须是连续的,也就是挨着的($HISTCONTROL默认是ignoredups这个值…
shell中大量的测试和比较选项而困惑呢? 这个技巧可以帮助您解密不同类型的文件.算术和字符串测试,这样您就能够知道什么时候使用 test. [ ]. [[ ]].(( )) 或 if-then-else 了: 内置命令 test 根据表达式expr 求值的结果返回 0(真)或 1(假).也可以使用方括号:test  expr和 [ expr ] 是等价的. 可以用 $? 检查返回值:可以使用 && 和 || 操作返回值:也可以用本技巧后面介绍的各种条件结构测试返回值. 清单 1. 一些简…
Shell脚本中经常需要判断某情况或者数据是否满足,需要由测试机制来实现. 测试方式 echo $?查看命令执行状态返回值 bash脚本中可以自定义返回值exit n(n为自己指定的状态码),shell进程遇到exit时,即会终止,因此,整个脚本执行即为结束: 0:成功 1-255:失败 测试表达式 # EXPRESSION两端必须有空白字符,否则为语法错误: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]] 测试类型 数值测试 -eq:是否等于:…
今天继续讲Linux基础知识,内容是关于bash shell的.分享以下bash shell的相关知识,例如基本特性等.  1.8)bash shell的介绍 1.8.1)什么是bash shell 概括地讲就是bash shell是一个命令解释器,与内核进行交互. bash shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕. 当我们使用远程连接工具连接linux服务,系统则会打开一个默认的sh…
1. 字符测试 ==:等号两边要有空格,否则会被认为是赋值. !=:  测试是否相等,记住如果不等为真,等为假. -n string: 测试指定字符串是否为空,空位真,不空为假. -s string: 测试指定字符串是否为不空,不空为真,空为假. 传递一个用户名参数给脚本,判断此用户的用户名跟其基本组名是否一致,并将结果显示出来. 2. bc的用法 3. for语法 for 变量 in 列表:do 循环体 done 案例 for I  in 1 2 3 4 5 6 7  8 9:do 循环体 d…
以下是一些 常用功能 , 基于 centos 6.5 x64 # cp /etc/localtime /etc/localtime.org # rm /etc/localtime # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #启用中文支持 vim /etc/profile export LC_ALL="zh_CN.UTF-8" export LANG="zh_CN.UTF-8" export LC…
1. type [-ta] name 一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法. 1.1.判断一个名字当前是否是alias.keyword.function.builtin.file或者什么都不是: type ls 的输出是 ls 是 `ls --color=auto' 的别名 type if 的输出是 if 是 shell 关键字 type type 的输出是 type 是 shell 内嵌 type gedit 的输出是 gedit 是 /usr…
一边接收函数返回一边判断返回值时一定要把接收的优先级加()提高再去判断 例 if((sockfd = socket()) < 0) 问题: 如何实现SYN扫描器扫描端口 , 比如AB两个设备要进行连接 , A通过端口发一个SYN包给B,B在收到后返回一个ACK包确认连接 , 但是在不确定B端口号时 该如何进行连接 , 答: A给B的每一个端都发一个SYN包, 如果哪个有返回说明端口是开放的, TCP和UDP都无法发实现这样的连接方式 , 所以要使用原始套接字 #include <netinet…
Linux的核心思想之一 "一切皆文件" 内容 , socket在Linux内核的实现的代码及TCP和UDP的实现 网络编程常用头文件: https://blog.csdn.net/jx232515/article/details/51912700 1. 例如本地文件对一个字符串的"aaaaaaa"的读写是 open()返回的句柄 fd 作为载体, 调用 write 和 read 进行读写 而网络文件的和本地文件差不多但多了一些特性  用socket()返回的句柄…
一. Bash简介 命令解释器,也就是 Bourne Again Shell,起源于shell.shell俗称壳,它是指UNIX系统下的一个命令解析器:主要用于用户和系统的交互.UNIX系统上有很多种Shell.首个shell,即Bourne Shell,于1978年在V7(AT&T的第7版)UNIX上推出.后来,又演变出C shell.bash等不同版本的shell. Bash由于易用和免费,在日常工作中被广泛使用.同时,Bash也是大多数Linux系统默认的Shell.在一般情况下,人们并不…
目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6)保存配置 (7)重启网络服务 (8)查看系统IP信息 (9)扩展(重点) (10)查看本地电脑能否连接虚拟机 在我们安装完Linux系统之后,通过ifconfig命令查看网卡,如下图: 可以看到只有一块叫做lo的网卡,并没有看到名称为eth0的网卡. 提示:lo这块网卡是一个本地回环网卡,IP地址…
编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程基本概念: 顺序执行:循环执行:选择执行 shell编程:过程式.解释执行 编程语言的基本结构 各种系统命令的组合 数据存储:变量.数组 表达式:a+b 语句:if shell脚本基础 shell脚本:包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #! /bin/bash #! /usr/bin/p…
本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础程序:指令+数据程序编程风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为中心,指令服务于数据shell程序:提供了编程能力,解释执行 7.1.1 程序的执行方式计算机:运行二进制指令编程语言:   低级:汇编   高级:    编译:高级语言–>编译器–>目标代码     如:java,c#    解释:高级语言–>解释器–>机器代码     如:shell,…
写在最前边:在bash中数据类型有两种,分别是数值型和字符型.其中字符型是默认的. 1.算数运算 · 运算符 · 语法 1.1.运算符:+.-.*./.%.** 注意:有些时候 *(乘号)需要转义 1.2.语法:有以下几种方式 VAR为变量名,expression为算数表达式 let VAR=expression VAR=$[expression] VAR=$((expression)) VAR=$(expr argu1 argu2 argu3) 语法示例 2.增强型赋值运算:在自身基础上做赋值…
第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell. 当一个用户登陆linux 系统后,系统就会为该用户创建一个shell程序. Shell的版本…
在Linux系统介绍中,介绍了shell的多个版本,现在的Linux发行版基本都默认使用bash(Bourne Again shell),兼容Bourne shell (sh),本文将简要介绍Bash编程语法. 变量 命名规则 只能使用英文字母,数字和下划线,首个字符不能以数字开头 中间不能有空格,可以使用下划线(_) 不能使用标点符号 不能使用bash里的关键字(可用help命令查看保留关键字) 定义与使用变量 定义变量 your_name="abc" echo $your_name…
什么是Shell Shell是一个命令解释器,它会解释并执行命令行提示符下输入的命令.除此之外,Shell还有另一个功能,如果要执行多条命令,它可以将这组命令存放在一个文件中,然后可以像执行Linux系统提供的其他程序一样执行这个文件,这个命令文件就叫做Shell程序或者Shell脚本.当运行这个文件时,它会像在命令行输入这些命令一样顺序地执行它们. Shell脚本支持变量.命令行参数.交互式输入.函数模块.各种控制语句等高级编程语言的特性,如if.case.while和for等.利用Shell…
  IO概念 Linux的内核将所有外部设备都可以看做一个文件来操作.那么我们对与外部设备的操作都可以看做对文件进行操作.我们对一个文件的读写,都通过调用内核提供的系统调用:内核给我们返回一个file descriptor(fd,文件描述符).而对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符).描述符就是一个数字,指向内核中一个结构体(文件路径,数据区,等一些属性).那么我们的应用程序对文件的读写就通过对描述符的读写完成. linux将内存分为内核区,用户区…
bash变量 变量命名: 1.不能使用程序中的关键字(保留字) 2.只能使用数字.字母和下划线,且不能以数字开头 3.要见名知义 变量类型: 数值型:精确数值(整数),近似数值(浮点型) 字符型:char,string 布尔型:true, false 类型转换:显式转换,隐式转换 按使用范围分类 可赋值 环境变量:对当前shell进程及其子shell有效,对其它的shell进程无效          定义:export VAR_NAME=VALUE 导出:export VAR_NAME 撤消变量…
linux下libnet编程 亲自测试可用 亲自测试  如果build包的时候 只要把类型改了 就能改成相应的协议. 0x0800 ip 0x0806 arp 0x86DD    IPv6 0x86ee     idmp了 至于ipv6的包的话 在那就不需要改了 只有协议号需要改 我最后安装的是libnet-1.1.4.tar.gz 可用编译的时候gcc -o libnet libnet.c -lnet 安装完了 /usr/include/libnet.h里面就有了 除了下面这个例子中一次一个数…
Linux就该这样学--之常用linux命令及bash基础 Linux命令 管道 重定向 环境变量 常用命令 常用系统工作命令 系统状态检测命令 工作目录切换命令 文本文件编辑命令 文件目录管理命令 打包压缩与搜索命令 输入.输出.错误输出和重定向 管道命令符 命令行的通配符 常用的转义字符 重要的环境变量 常用命令 常用系统工作命令 echo [字符串 | $变量] date [选项] [+\指定的格式] reboot poweroff wget [参数] 下载地址 -b 后台下载模式 -P下…
[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承.多态. 1.封装概念 封装:每个对象都包含有它能进行操作的所有信息,这个特性称为封装.这样的方法包含在类中,通过类的实例来实现. 2.封装的优点 A.良好的封装能够减少耦合(比如实现界面和逻辑分离) B.可以让类对外接口不变,内部可以实现自由的修改 C.类具有清晰的对外接口,使用者只需调用,无需关心…
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments).即Linux中命令格式为: command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同. 参数是指命令的…
实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 二.实验步骤 1. 快捷键 Ubuntu中: 2. vim VIM是一个非常好的文本编辑器,很多专业程序员使用VIM编辑代码,即使以后你不编写程序,只要跟文本打交道,都应该学学VIM,可以浏览参考一下普通人…
2019-2020-030189224 <网络攻防技术与实践>第一周学习总结 Linux基础知识错题回顾 1.Linux中使用(B)命令新建空白文件. A .mkdir B .touch C .. D .mkfile 2.Linux中第三方软件应该放入(C)目录? A ./urs B ./etc C ./opt D ./boot 3.FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准)定义了两层规范,第一层是(B)? A ./etc 应该放置设…
关键词: 数值测试 字符串测试 文件测试 测试命令有三种方式: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]] 注意:EXPRESSION前后有空白字符 bash的测试类型 数值测试 -gt: 是否大于 -ge:是否大于等于 -lt: 是否小于 -le: 是否小于等于 -eq: 是否等于 -ne: 是否不等于 字符串测试 ==: 是否等于 >: 是否大于 <: 是否小于 != : 是否不等于 ~=: 左侧字符串是否能够被右侧的PATTERN所匹配…
VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s文件转化为*.o的二进制目标代码文件. 链接阶段:将*.o文件转化为可执行文件. 生成可执行文件:将*.o转换为可执行文件. 执行可执行C语言文件. gcc常用选项列表 -c      只编译不链接,生成目标文件“.o” -S      只编译不汇编,生成编码代码 -E      只进行预编译,不做…
原文:https://www.cnblogs.com/huyufeng/p/4841232.html --------------------------------------------------------------- Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments…
bash编程也叫shell编程 预定义变量         $? 最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确的执行:如果这个变量返回的值非0(具体是那个数,有命令自己来决定),则证明上一个命令执行不正确. $$当前进程的进程号(PID) $!后台运行的最后一个进程的进程号(PID) 运算符 declare 声名变量的类型           declare [+/-][选项] 变量名 - 给变量设定类型属性 + 取消变量的类型属性 -i 将变量声名为整数型 -x将变量…