草庐IT

linux-standard-base

全部标签

Linux之gcc的使用

文章目录编译的过程1.预处理阶段a.预处理工作:展开头文件,去注释,宏替换和删除b.外部定义宏参数2.编译(生成汇编)3.汇编(生成不可执行的可重定向二进制目标文件)4.链接(生成可执行的目标文件)动/静态链接感性的认识动/静态链接动/静态链接的优缺点区分动/静态链接查看链接属性指定静态链接总结编译的过程在正式开始之前首先对编译和链接进行一个整体的了解1.预处理阶段a.预处理工作:展开头文件,去注释,宏替换和删除gcc-Etest.c-otest.i-E表示程序开始翻译,当执行完预处理就停下来-o表示将预处理后形成的临时文件(名字任取)在vim底行模式下输入:vs+文件名即可打开多个文件安装g

Linux之基础I/O

目录一、C语言中的文件操作二、系统文件操作I/O三、文件描述符fd1、文件描述符的引入2、对fd的理解3、文件描述符的分配规则四、重定向  1、重定向的原理2、重定向的系统调用dup2五、Linux下一切皆文件一、C语言中的文件操作1、打开和关闭 在C语言的文件操作中,我们要对一个文件进行写入和读写的前提是打开文件。我们使用fopen来打开文件,打开失败将会返回NULL,而打开成功则返回文件的指针FILE*。最后要进行的操作就是关闭(fclose)文件函数原型:FILE*fopen(constchar*path,char*mode)。path为文件名(也可以是文件路径),mode为打开方式,它

java - API 级别 7 中 android 中的 base64 解码器

如何在AndroidAPI级别7上将base64编码的字符串解码为字节数组?可以使用任何标准的Java包来完成吗?我应该从谷歌搜索结果中复制源代码吗?我应该根据RFC重新实现编码器和解码器吗?PS:API级别8具有执行此操作的util包android.util.Base64,但我必须基于API级别7进行开发。 最佳答案 不确定是否有n,但如果没有,我不会实现你自己的,我会使用类似MikaelGrev'sMiGBase64的东西它已经过广泛测试并且(据我所知)应该可以在Android上运行很久以后编辑它是在v8(android2.2)

【Linux】僵尸与孤儿 && 进程等待

目录一,僵尸进程1,僵尸进程2,僵尸进程的危害二,孤儿进程1,孤儿进程三,进程等待1,进程等待的必要性2,wait方法3,waitpid方法4,回收小结一,僵尸进程1,僵尸进程僵死状态(Zombies)是一个比较特殊的状态。当进程退出并且父进程(使用wait()系统调用,后面讲)没有读取到子进程退出的返回代码时就会产生僵死(尸)进程僵死进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态来一个创建维持30秒的僵死进程例子:#include#includeintmain(){ pid_tid=f

Kali Linux 安全渗透核心总结

就像IT人离不开Linux系统一样,网安人也离不开KaliLinux,作为攻击性防御和渗透测试的代名词,越来越多的人开始学习Kali。如果你也对kali感兴趣,又想深入了解这方面内容,不妨收藏一下这份KaliLinux安全渗透教程,共444页9个章节。文章详细介绍了KaliLinux基本配置、信息收集、漏洞扫描、密码攻击、无线网络渗透测试等内容,全篇图文并茂,通俗易懂,涵盖了Kali基本的核心知识点,系统性很强,感兴趣的朋友可以看一下。目录Linux安全渗透简介配置KaliLinux高级测试实验室信息收集漏洞扫描漏洞利用权限提升密码攻击无线网络渗透测试KaliLinux基本简介与配置什么是安全

在Linux环境下安装MySQL数据库,超详细~ 超简单~

目录一、准备1、Linux环境2、检查内存3、卸载mariadb二、安装1、下载Mysql2、上传3、解压4、重命名5、删除6、创建目录7、环境变量8、修改配置9、用户和用户组10、初始化11、其它三、配置1、开机启动2、开放端口3、修改密码4、允许远程连接四、远程访问一、准备1、Linux环境本人使用的是Vmware+CentOS7,其它也可。secureCRT连接虚拟机2、检查内存5.6及以上版本的MySQL要求Linux系统虚拟内存不能小于1G,否则MySQL可能无法运行。3、卸载mariadbLinux系统中自带mariadb数据库,需要卸载掉(1)rpm-qa|grepmariadb

10个最佳的Linux虚拟化平台

1、KVM(Kernel-basedVirtualMachine)KVM是Linux内核的一个模块,提供了完整的虚拟化解决方案。它可以将Linux服务器转变为强大的虚拟化主机,支持多种操作系统作为客户机。具有以下主要功能:处理速度快:由于KVM直接在物理主机的CPU上运行,因此具有很高的性能。可伸缩性:KVM可以轻松地管理和迁移虚拟机,以支持具有成千上万台虚拟机的基础架构。安全:由于KVM直接跑在Linux内核之上,因此比其他解决方案更加节省,并且可以使用标准Linux安全机制来保护虚拟机和主机之间的隔离性。开源:KVM是开源的,因此您可以在自己的计算机上构建和部署它。官网:https://l

Linux软件包名称含AMD,ARM,x64的详解

下载clickhouse-backup时看到不同软件包,有的是x86,有的是amd64,有的是arm64,这些有啥区别呢?clickhouse-backup-2.4.2-1.x86_64.rpmclickhouse-backup_2.4.2_amd64.debclickhouse-backup_2.4.2_arm64.debx86和ARM都是CPU设计的一个架构。x86用的是复杂指令集。ARM用的是精简指令集。x86_64简称x64是基于x86的指令集架构,扩展为启用64位代码,X86体系庞大,设计完整,历史悠久,所以他有很多第三方软件%可以用,一个体系可以用在各种电脑上,可移植性强。主机一般

Linux之DNS域名解析服务

目录Linux之DNS域名解析服务概述产生原因作用连接方式因特网的域名结构拓扑分类域名服务器类型​编辑 DNS域名解析过程分类解析图搭建DNS域名解析服务器概述安装软件bind服务中三个关键文件主配置文件分析一般需要修改三部分:区域配置文件正向解析资源文件反向解析资源文件案例    案例1--- 正向解析        准备工作DNS配置​编辑        案例2--- 反向解析 准备工作DNS配置部署DNS从服务器作用案例--- 主从服务器完全区域传送Linux之DNS域名解析服务概述产生原因        IP地址---是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互

Linux宝塔面板本地部署Discuz论坛发布到公网访问【无需公网IP】

文章目录前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛前言CrossdayDiscuz!Board(以下简称Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。下面我们在Linux上使用宝塔面板+Discuz+cpolar内网穿透工具结合,搭建一套发布到互联网环境的论坛服务,无需公网IP服务器、也无需设置路由器。1.安装基础环境安装PHP版本,由于Discuz支持的最高PHP7.4版本环