当前位置: 首页 > news >正文

简约网站首页厦门市翔安建设局网站

简约网站首页,厦门市翔安建设局网站,网站建设和维护要学多久,南阳网站推广优化公司Linux软件包管理器–apt Linux安装软件的方式 在Linux下安装软件的方法有以下三种#xff1a; 下载到程序的源代码#xff0c;自己编译出可执行程序获取deb安装包、然后使用dpkg命令安装。#xff08;不解决依赖关系#xff09;通过apt进行安装软件。 小知识点#xf…Linux软件包管理器–apt Linux安装软件的方式 在Linux下安装软件的方法有以下三种 下载到程序的源代码自己编译出可执行程序获取deb安装包、然后使用dpkg命令安装。不解决依赖关系通过apt进行安装软件。 小知识点 .rpm是Centos的安装包.deb是Ubuntu安装包。 apt apt是Linux中Ubuntu系统的一个前端软件包管理器能够从指定的服务器中自动下载deb包并安装并可以自动处理依赖关系。 如下图所示 也就是说apt就相当于是应用市场的名字而我们通过应用市场下载软件会去服务器上拉取相应的安装包下载到本地然后在本地安装。 而我们下载东西是需要联网的因此我们下载时需要联网。 判断是否联网可以使用ping指令如果不断的进行打印代表是在联网状态下的。 如下 查找软件包 我们可以使用apt list指令这个指令可以列出apt中的全部包。 apt list 但这个指令一般都会直接刷屏因此我们一般都是搭配着管道和搜索使用。 如下 apt list | grep lrzsz 但这样过于繁琐在apt中我们可以直接使用search指令进行搜索。 apt search lrzsz 安装软件 安装软件需要sudo权限。 指令 sudo apt install 软件名 apt会自动找到需要下载的软件包然后询问我们是否需要安装按“y”确认安装等到出现complete时安装成功。 现在我们就可以安装下lrzsz软件。 apt install lrzsz 本地环境和云服务器之间文件的互传 现在我们说以下lrzsz的使用。 lrzsz可以完成云服务器和本地机器文件的互传。 指令 rz -E 这个指令可以选择从本地机器上传到云服务器的文件 指令 sz 文件名 这个指令可以从云服务器发送文件到本地机器的指定文件夹。 软件的卸载 卸载软件使用的指令如下 sudo apt remove 软件名 vim 而我们在linux中编写代码的时候肯定需要一个能够写代码的工具。 那么这个工具就是vim。 这里我们介绍下vim。 vim的基本概念 vim作为一个多模式的文本编辑器可以解决我们编写代码的问题。 我们主要学习vim的三个模式 1、命令模式 在命令模式下我们可以 控制屏幕光标的移动字符、字、行的删除复制粘贴剪贴等操作。 2、插入模式 文字的输入 3、底行模式 在底行模式下我们可以保存文件也可以进行一系列的操作譬如查找字符串。 在底行模式下还可以执行Linux的指令。 在vim中模式不仅有三个而是有很多个我们还可以在底行模式下输入vim help-mode查看当前vim的所有模式。 vim各模式的切换 首先我们先学下怎么进入vim vim 文件名 如果该文件存在则使用vim进入如果该文件不存在则创建该文件并使用vim进入 进入vim时默认是命令模式。 这时我们按i即可进入插入模式。 如果我们在插入模式中按Esc即可再次进入到命令模式。 在命令模式中按Shift即可进入底行模式。 此时我们如果想要回到命令模式可以再按一次Esc。 命令模式指令 光标移动 h, j, k, l这些是标准的光标移动命令分别对应左、下、上、右移动一格。G移动到文本的最后一行。$移动到当前行的末尾。^移动到当前行的第一个非空字符位置。w移动到下一个单词的开头。e移动到下一个单词的结尾。b移动到上一个单词的开头。nl跳转到该行的指定位置例如5l表示跳到该行的第5个字符。gg移动到文档的开头。ShiftG移动到文档的末尾。Ctrlb向后滚动一屏。Ctrlf向前滚动一屏。Ctrlu向后滚动半屏。Ctrld向前滚动半屏。 删除x删除光标所在位置的字符。nx删除光标位置之后的指定个字符例如6x表示删除6个字符。X删除光标前一个字符。nX删除光标前面的指定个字符例如20X表示删除光标前面的20个字符。dd删除光标所在行。ndd删除光标所在行及其后的#行例如6dd表示删除光标所在行及之后的6行。 复制yw将光标所在位置到单词尾部的字符复制到缓冲区。nyw复制#个单词到缓冲区例如3yw表示复制接下来的3个单词。yy复制光标所在行。nyy复制从光标所在行往下的n行例如6yy表示复制从当前行开始的6行。p将缓冲区的内容粘贴到光标所在位置。 替换r替换光标所在位置的字符。R替换光标所在位置及其后的字符直到按下 ESC 键。 撤销与恢复u撤销上一个操作。可以多次按 u 来撤销多次操作。Ctrlr恢复上一个撤销的操作。 更改cw更改光标所在位置到当前单词的结尾。cnw更改光标所在位置到下一个n个单词的结尾例如c3w表示更改3个单词。 跳转到指定行Ctrlg显示光标所在行的行号。nG跳转到文档中的第n行例如15G表示跳到第15行。 底行模式指令重要 行号设置 set nu显示行号set nonu取消行号 跳转 nn代表一个数字在冒号后输入一个数字然后再按回车键即可跳转到该行了。 查找字符 /关键字先按/再输入想查找的字符一直按n可以往后找到想要的字符。从前向后?关键字先按?再输入想查找的字符一直按n可以往前找到想要的字符。从后向前 保存退出w保存q退出如果没有退出vim则可以加一个表示强制退出wq保存退出 分屏vs 文件名多文件编辑Crtlww光标再多屏幕下进行切换 执行命令指令在不退出vim的情况下在指令前加上就可以执行Linux的指令。 vim的配置方法 Vim 配置文件 Vim 配置文件通常位于以下位置 系统级配置文件/etc/vimrc适用于所有用户。用户级配置文件~/.vimrc每个用户可以自定义该文件。 详细的vim配置大家根据需求自己上网搜就好了哈 创建或编辑个人 .vimrc 切换到用户的主目录cd ~.vimrc 文件如果文件不存在可以创建一个新的 vim .vimrc常用配置选项 在 .vimrc 中可以加入以下配置选项 启用语法高亮 syntax on启用行号 set nu设置缩进为4 set shiftwidth4Liunx下C/C编译器gcc/g gcc和g分别是C和C的编译器。 gcc/g的作用 C/C程序在执行编译时有以下四个步骤 预处理头文件展开、去注释、宏替换、条件编译编译C代码翻译为汇编代码汇编汇编代码转化为二进制代码链接将各个二进制代码进行链接 下面我们一边讲gcc一边写这四个阶段。 gcc/g的语法 语法 gcc/g 选项 文件 常用选项 -E 只进行预处理-S 只进行预处理和编译-c 进行预处理、编译、汇编-o 将处理结果输出到指定文件后要跟文件名-static 对文件采用静态链接的方式-g 生成调试信息debug版本若不带此选项则默认生成release版本-shared 尽量使用动态库-w 不生成任何警告信息-O0/-O1/-O2/-O3 编译器优化选项的四个级别优化力度依次递增。 预处理 gcc -E test.c -o test.i 预处理功能包含头文件展开、去注释、宏替换、条件编译等。预处理指令是以#开头的代码行-o选项是指目标文件“.i”为结尾的文件为已经预处理过后的文件。 编译 gcc -S test.i -o test.s 编译阶段中gcc/g会检查代码是否规范是否具有语法错误以及确定代码的功能。在检查无误后会将代码翻译为汇编语言。-o选项是指目标文件 “xxx.s”是翻译后的原始程序。 汇编 gcc -c test.s -o test.o -汇编阶段是将-s文件转化为-o文件即目标文件。 -o文件是二进制目标代码。 链接 gcc test.o -o test 链接的主要任务是将生成的各个.o文件进行链接生成可执行文件。若不带-o选项则默认生成的可执行文件名为a.out不带选项时默认将预处理、编译、汇编、链接四个过程全做完。 动静态链接和动静态库 动静态链接 静态链接 在我们的实际开发中不会将所有代码放在⼀个源⽂件中所以会出现多个源⽂件⽽多个源⽂件之间不是独⽴的⽽会存在多种依赖关系如⼀个源⽂件可能要调⽤另⼀个源⽂件中定义的函数但每个源⽂件又都是独⽴编译的因此每个*.c⽂件会形成⼀个*.o⽂件为了满⾜前⾯说的依赖关系则需要将这些源⽂件产⽣的⽬标⽂件进⾏链接从⽽形成⼀个可以执⾏的程序。这个链接的过程就是静态链接。 很显然静态链接的弊端很明显 如果有多个程序都需要用到同一个函数譬如printf那么所有使用了printf的程序都需要有一份printf.o的副本。比较占空间。更新⽐较困难每当库函数的代码修改了这个时候就需要重新进⾏编译链接形成可执⾏程序。 但静态链接一般速度较快。 动态链接 动态链接的出现解决了静态链接中提到问题。动态链接的基本思想是把程序按照模块拆分成各个相对独⽴部分在程序运⾏时才将它们链接在⼀起形成⼀个完整的程序⽽不是像静态链接⼀样把所有程序模块都链接成⼀个单独的可执⾏⽂件。 动态链接的缺点是速度较慢但是却解决了静态链接出现的问题。 动静态库 函数库一般分为动态库和静态库两种 静态库是指在编译链接时把库文件的代码全部都加载进入到可执行文件当中因此生成的文件体积比较大但是运行的时候也不需要库文件了静态库一般以.a为后缀。动态库与之相反在编译链接时没有把库文件的代码加载到可执行文件当中而是在程序运行时由链接文件加载库这样可以节省系统的开销动态库一般以.so为后缀。 Linux调试器—gdb/cgdb gdb是不带可视化界面的一种调试器cgdb是带可视化界面的调试器鄙人更喜欢cgdb。 cgdb安装指令如下 sudo apt-get install -y cgdb debug和release 首先我们应该知道程序是有两个版本的分别是debug版本和release版本。 debug程序本身带有调试信息可以进行调试。release程序本身不添加调试信息无法进行调试。 在Linux当中gcc/g默认生成的程序是release版本的也就是说是无法被调试的如果想要生成的程序可以调试需要加上-g选项。 如下 gcc test.c -o test -g 这样生成的程序就是可以被调试的了。 gdb命令 进入gdb gdb 文件名 调试 run/r启动调试 next/n逐过程调试 step/s逐语句调试 until 行号跳转 finish执行完当前运行的函数后停止 continue/c执行到下一个断点处 set var 变量x修改变量的值 显示 list/l n显示从第n行开始的源代码每次显示10行。若n未给出则默认从上次的位置继续往下查 list/l 函数名显示函数的源代码 print/p 变量打印变量的值 display 变量将变量加入常显示即每次停止都打印一次 undisplay 编号取消指定编号变量的常显示 bt查看各级函数调用以及参数 info/i locals查看当前栈帧中局部变量的值 断点 break/b n:在第几行设置断点 break/b 函数名在函数体内的第一行设置断点 info breakpoint/b查看已设置的断点信息 delete/d 编号删除指定编号的断点 disable 编号 禁用指定编号的断点 enable 编号 启用指定编号的断点 退出gdb quit/q:退出gdb Linux 项目自动化构建工具–make/Makefile 在 Linux 项目开发中make 和 Makefile 作为自动化构建的核心工具极大地提升了开发效率尤其在处理大型复杂工程时其优势更为显著。 make/Makefile 的作用 在大型工程里源文件通常会依据类型、功能和模块等维度分散存储在多个不同目录中。Makefile 则通过精心定义一系列规则精确指定了各个文件的编译顺序从先编译哪些文件到后编译哪些文件甚至对于更为复杂的操作流程也能进行妥善处理。 使用 Makefile 的最大好处在于实现了“自动化编译”。开发者只需提前编写好 Makefile 文件随后仅需执行一次 make 命令整个工程就能自动完成编译过程。这种方式有效避免了手动编译的繁琐操作以及重复劳动从而大幅提升了开发效率。(make命令只会执行第一个任务) make 是一个命令行工具专门用于解释并执行 Makefile 中所定义的指令。可以说make 是执行命令的工具而 Makefile 则是存储编译规则的文件。能否熟练编写 Makefile在很大程度上反映了一个开发者是否具备处理大型工程的能力。 依赖关系和依赖方法 在使用 make 和 Makefile 之前深入理解文件之间的依赖关系和依赖方法是至关重要的。 依赖关系 依赖关系描述了文件之间的依存关联。具体而言如果文件 A 的内容发生变更会对文件 B 产生影响那么我们就称文件 B 依赖于文件 A。 例如在编译过程中test.o 文件是通过对 test.c 文件进行预处理、编译、汇编等一系列操作后生成的。因此我们可以明确地说 test.o 依赖于 test.c。 依赖方法 依赖方法指的是从一个文件源文件生成另一个文件目标文件所采用的具体工具或命令的操作过程。以 test.o 和 test.c 为例test.o 依赖于 test.c而通过执行 gcc -c test.c -o test.o 这条命令就能够实现从 test.c 生成 test.o 的过程这一过程就是我们所说的依赖方法。 基本使用 代码文件 (myproc.c) #include stdio.hint main() {printf(hello, world!\n);return 0; }Makefile 文件 myproc: myproc.cgcc -o myproc myproc.c.PHONY: clean clean:rm -f myproc依赖关系与依赖方法及相关原理 依赖关系 在上述示例中myproc 可执行文件依赖于 myproc.c 源文件。 依赖方法 编译生成 myproc 的依赖方法是通过执行 gcc -o myproc myproc.c 这条命令来实现的。 为什么要写 clean 在工程开发中clean 任务的主要功能是清理编译过程中生成的目标文件和中间文件。添加 clean 目标的原因如下 工程构建完成后为保持项目目录整洁、节省磁盘空间通常需清理生成的目标文件和中间文件。clean 目标未被其他目标直接或间接依赖其定义的命令不会自动执行。开发者需显式执行 make clean 来清理目标文件以便重新编译。为确保 clean 任务每次执行 make clean 时都被执行使用 .PHONY 将其标记为伪目标。伪目标无论文件时间戳如何相关命令都会执行。 总是被执行的含义 若未使用 .PHONY 标记make 依据目标文件时间戳判断是否执行任务。若文件时间戳显示为最新make 不重新执行任务。但 clean 任务不生成文件我们希望每次都执行清理操作不受时间戳影响。所以用 .PHONY 标记 clean保证每次执行 make clean 时都会执行清理。 make 原理 下面我们阐述下make原理 1.查找 Makefile make 会在当前目录查找名为 Makefile 或 makefile 的文件。 2.解析第一个目标文件 若找到 Makefilemake 会读取第一个目标文件target。如上述例子会找到 myproc 作为最终目标文件。 3.检查文件是否需要更新 若 myproc 文件不存在或其依赖文件如 myproc.o修改时间比 myproc 新make 会执行命令生成 myproc。若 myproc 文件存在且时间戳最新make 会跳过生成过程.PHONY 标记的目标除外会始终执行。 4.递归生成依赖文件 若 myproc 依赖的 myproc.o 文件不存在make 会在 Makefile 中查找生成规则并生成该文件。 最终生成目标文件 在依赖关系链最后make 生成目标文件 myproc。若依赖文件存在且未修改直接使用现有文件。 6.错误处理 查找依赖关系时若某个依赖文件找不到make 会退出并报错。若命令定义有误或编译失败make 会忽略错误不再继续执行。 7.依赖性判断 make 主要关注文件依赖性。源文件和目标文件时间戳相同make 认为目标文件是最新的不执行任务源文件较新时make 重新执行命令。 .PHONY 伪目标 .PHONY 介绍 .PHONY 是 Makefile 文件中的关键字用于声明某个目标为伪目标。伪目标不对应实际文件无论文件是否修改相关命令每次都会执行。 如何使用 .PHONY .PHONY: clean clean:rm -rf myproc在这个例子中clean 是伪目标用于清理生成的目标文件。即便没有名为 clean 的文件执行 make clean 时删除命令也会始终执行。 .PHONY 的作用 使用 .PHONY 可忽略文件时间戳判断强制每次执行任务。通常将 clean 任务定义为 .PHONY 伪目标确保每次执行 make clean 时清除目标文件为重新编译做准备。 我们可以用stat看到如下 $ stat XXX File: ‘XXX’ Size: 987 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 1321125 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ whb) Gid: ( 1000/ whb) Access: 2024-10-25 17:05:30.430619002 0800 Modify: 2024-10-25 17:05:25.940595116 0800 Change: 2024-10-25 17:05:25.940595116 0800 ⽂件 内容 属性 Modify: 内容变更时间更新 Change属性变更时间更新 Access常指的是⽂件最近⼀次被访问的时间。在Linux的早期版本中每当⽂件被访问时其atime 都会更新。但这种机制会导致⼤量的IO操作。具体更新原则不做过多解释。PHONY:让make忽略源⽂件和可执⾏⽬标⽂件的M时间对⽐
http://www.hkea.cn/news/14308716/

相关文章:

  • 可以用AI做网站上的图吗wordpress不支持video标签
  • 专业网站建设团队给wordpress加相册
  • 宁波海曙网站开发公司电话有什么国企是做网站的
  • 企业网站备案简历制作专业机构
  • 购物网站的前台功能做公司网站需
  • 做网站放广告收益电商运营工资一般多少钱一个月
  • 学校网站建设招聘传智播客网页平面设计
  • 交互设计个人网站视频教学互动网站建设
  • 国外有名的设计网站网站建设实训周记
  • 手机销售网站建设项目书wordpress 文章描述代码
  • 合肥seo网站建设百度搜索引擎优化案例
  • html网站建设的步骤网页界面设计中常用的中英文字体有哪些
  • 建立什么网站可以赚钱17网站一起做网店官网
  • 教做月嫂的网站有吗摄影照片投稿网站
  • 成品网站w灬源码1688美食网站建设方案
  • 做网站用最新软件怎样提高网站速度
  • 门户网站建设整改报告企业网站静态模板下载
  • 建设银行网站不能登录密码网站的下拉列表怎么做的
  • 网站后台做链接wordpress 平台
  • 苏州集团网站设计定制软件制作工程师
  • 山西电力建设一公司网站惠州网站建设米普可思
  • 天津网站建设培训课件做网站的名字大全
  • 厦门做网站找哪家公司wordpress 很卡
  • 天津网站搜索排名优化网站超链接怎么做 word
  • 宁远网站建设学做淘宝店的网站
  • 手机端网站如何优化全球搜索引擎大全
  • 广东网站营销seo费用dede网站怎么更换模板
  • 孝感房地产网站建设网站建设代码上传
  • 网站原创文章规范网站优化外包顾问
  • 能绑定域名的免费网站js做网站