笔记script linux shell
Shell printf 命令
Shell printf 命令 printf 命令模仿 C 程序库(library)里的 printf() 程序。 printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。 printf 使用引用文本或空格分隔的参数, 外面可以在 printf 中使用格式 ......
Shell 基本运算符
Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算, 但是可以通过其他命令来实现, 例如 awk 和 expr,expr 最常用。 这就很神奇了,和其他语言不同基本的原算法 ......
C++学习笔记
char和string的区别 字符串string:C++ string详解,C++字符串详解 (biancheng.net) string是字符串类型,是在C的基础上对字符数组做封装,是一个类,有自己的函数,存的是一个完整的字符串,确实是由字符组成的,但不能认为里面是一个个char数据类型组成的。因 ......
Shell 传递参数
Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。 n 代表一个数字, 0 为执行的文件名 1 为执行脚本的第一个参数, 2 为执行脚本的第二个参数, 以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包 ......
Shell 数组
Shell 数组 数组中可以存放多个值。 Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小。 与大部分编程语言类似,数组元素的下标由 0 开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: array_name=(value1 value ......
Java学习笔记14
1.Arrays类 Arrays类包含用于操作数组的各种方法(如排序和搜索)。该类没有构造函数,直接使用类名.方法名()的方法调用需要的方法。 常用方法 | 方法 | 作用 | | | | | public static String toString(数组) | 把数组拼接成一个字符串 | | ......
linux内核数据结构 --- list_head
以 struct kobject 为例,讲解如何使用链表 struct list_head struct kobject { const char *name; struct list_head entry; struct kobject *parent; ... }; struct list_he ......
Linux系统下添加防火墙规则(添加白名单)
Linux系统下添加防火墙规则(添加白名单) 防火墙的作用: 可以通过设置ip白名单/黑名单的方式限制外部ip的访问或者限制访问内部某个端口;添加防火墙过滤规则步骤如下;1、查看现有防火墙过滤规则: iptables -nvL --line-number2、添加防火墙过滤规则(设置白名单): 1)添 ......
Linux数据分析之九个给力的命令行工具
导读 要对数据进行分析,大家会从哪里入手?对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项。但命令行工具同样能够更快更高效地解决问题——且只须稍微学习即可上手。 要对数据进行分析,大家会从哪里入手? 对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项。但命令行工具同 ......
linux下gcc/g++版本切换
因为一些道不清说不明的原因,经常需要用到不同的gcc版本 这里先提一个事情,自己编译gcc版本的事情,翻自己的记录(doc文件吧) 然后提下,在ubuntu下,默认gcc版本是11,但需要12版本,安装指令: sudo apt install gcc-12 g++-12 -y 安装完成后,继续执行下 ......
stm32寄存器笔记
参考资料: GPIO相关介绍 STM32 GPIO的配置寄存器(CRL、CRH)快速学习 stm32的寄存器都是32位的。 每个GPIO口有7个寄存器来控制。从GPIO的 GPIO_TypeDef 定义中可以看出,分别是:CRL,CRH,IDR,ODR,BSRR,LCKR。 /** * @brief ......
构建之法阅读笔记2
学习到了单元测试,单元测试是指开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,使用单元测试是为了证明某段代码的行为确实和开发者所期望的一致,使代码变得更加完美,让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证,好的单 ......
Shell数组练习
1、将/etc/shadow文件的每一行作为元素赋值给数组 #!/bin/bash # 统计行数,作为循环次数 num=`wc -l < /etc/shadow` for ((i=0;i<=num;i++)) do # 根据i的变化取前i行内容再然后截取最后一行加入数组中 array[$i]=$(h ......
Linux 网络编程 API
IP地址转换函数(仅适用于 ipv4 ) inet_addr(char*):将 十进制地址 转换为 网络字节序 的IPV4地址 inet_aton(char* cp, struct in_addr* inp):和 inet_addr 一样,但是将结果存储于 inp。 char* inet_ntoa( ......
Shell判断文件或目录是否存在
Shell判断文件或目录是否存在 一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filena ......
Java学习笔记(十二) 前端基础1
Web前端基础 初识web前端 网页由哪些部分组成? 文字 图片 音频 视频 超链接等 我们看到的网页, 背后的本质是什么? 程序员写的前端代码 前端的代码是如何转换成用户眼中的网页的? 通过浏览器转化(解析和渲染)成用户看到的网页 浏览器中对代码进行解析渲染的部分, 称为浏览器内核 不同的浏览器, ......
Java学习笔记(十三) 前端基础2
Ajax 介绍 概念: Asynchronous JavaScript And XML, 异步的JavaScript和XML 作用: 数据交换: 通过Ajax可以给服务器发送请求, 并获取服务器响应的数据 异步交互: 可以在不重新加载整个页面的情况下, 与服务器交换数据并更新部分网页的技术, 如: ......
Java学习笔记(十四) maven1
Maven 介绍 Maven是apache旗下的一个开源项目, 是一款用于管理和构建java项目的工具, 基于项目对象模型(POM)的概念, 通过一小段信息来管理项目的构建 Apache软件基金会, 成立于1999年7月, 是目前世界上最大的最受欢迎的开源软件基金会, 也是一个专门为支持开源项目而生 ......
springboot学习笔记1-基本介绍
springboot基本介绍 官方文档 什么是springboot spring boot可以轻松创建独立的、生产级的基于spring的应用程序 spring boot直接嵌入tomcat、jetty、或undertow, 无须打war包,可以直接运行spring boot应用程序 quicksta ......
Linux系统下Samba服务器的配置
实训目的:掌握Samba服务器的主配置文件的设置;掌握Samba服务用户的添加及权限设置;掌握Samba客户机的应用。 实训环境:操作系统为CentOS7的网络服务器。 实训步骤: 第1步:将目录/home/media设置为允许所有用户访问,但仅允许用户mary具有修改该目录的权限。其配置步骤简述如 ......
Linux 常用命令(备忘)
grep 相关命令 grep -h -BG | sort -rn | head -n 3 递归查询最大的三个文件(夹) -BG:以 GB 为单位输出大小 -r : 将结果反向输出(降序) -n:只以字符串的数组进行排序 -n :以行的形式输出 ......
Shell 变量
和普通的高级语言比较:java\python\go之类的,有2个核心点要注意 字符串字面量的表示 操作符之间的空格问题 Shell 变量 定义变量时,变量名不加美元符号($),如: 语言的本质在于编译原理, 除了机器语言, 上层封装都取决于宿主怎么解释,token每种语言都不完全一样。 所以作为面向 ......
Elasticsearch 学习-Linux单机和集群安装
Elasticsearch 学习-Linux 单机和集群安装 3.3linux集群安装 3.3.1 软件下载 软件下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0 3.3.2 软件安装 ==1) 解压 ......
查找linux最大的文件
可以使用以下命令来查找Linux系统中最大的文件: sudo find / -type f -printf '%s %p\n' | sort -nr | head -10 这个命令会在系统根目录下查找所有的文件,并按照文件大小从大到小排序,然后输出前10个最大的文件的大小和路径。 如果你想查找指定目 ......
Shell 简介
C(汇编)、编译原理、操作系统编程、数据结构和算法是打假程序员的核心标尺,这些不懂基本都是假程序员。 因为离开这些搞得那些庞杂的知识体系都是没有根的,就算你记住了所谓的架构原理,也是封装后的一些假象。 Shell 教程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Sh ......
计网学习笔记五 wireless && mobile networks
老师把无线网络用一节课一遍过了…感觉没能学透,便课后自己总结,看书,找资料补充,把无线网络大概摸了个七七八八。虽然不算精细,但还能看!内容包括WLAN总概,WiFi—WLAN的实现,802.11规定的帧结构,以及蜂窝网络。 强烈推荐一本书:《802.11 Wireless Networks: The ......
Linux apt 命令
Linux apt 命令 对于一些经常使用ubuntu 弹性云主机的客官,apt是常用命令相当于centos中的yum。 apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。 apt 命令提供了查找、安装、升级、删除某 ......
Linux系统下进程回收--waitpid函数
waitpid函数的作用和wait函数的作用相同,只是有些参数不同。 在Linux终端下输入命令:man 2 waitpid查看waitpid函数的具体描述: SYNOPSIS #include <sys/types.h> #include <sys/wait.h> pid_t waitpid(pi ......
Linux yum
Linux yum 命令 目前eulr和centos系统运维常用命令,但是依赖镜像源,有些私有云未必有可用镜像源就需要离线 yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM ......
【Linux Centos】如何卸载自带的python和yum以及卸载后如何重新安装yum
【Linux Centos】如何卸载自带的python和yum以及卸载后如何重新安装yum 注意 如果不是必要情况,请不要卸载服务器自带的python,因为yum等命令都会用到python库,卸载以后可能造成不良后果。 如果只是觉得系统python版本不合适,想安装新版本,建议安装anaconda或 ......