![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux操作系统
文章平均质量分 90
系统学习Linux的各项操作
我要满血复活
厦门大学计算机科学与技术学生,简单记录学习路程
展开
-
Linux下基本指令
ls [选项][目录或文件:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。-a列出目录下的所有文件,包括以开头的隐含文件。-d将目录象文件一样显示,而不是显示其下的文件。如:ls –d指定目录-i输出文件的i节点的索引信息。如ls –ai指定文件-k以k字节的形式表示文件的大小。ls –alk指定文件-l列出文件的详细信息。-n用数字的UID,GID代替名称。(介绍UIDGID-F。原创 2024-06-10 16:29:18 · 1035 阅读 · 0 评论 -
Linux权限
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件),而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。原创 2024-06-19 19:18:14 · 1356 阅读 · 1 评论 -
Linux文本编辑器 - vim
如果想要退出保存,就需要进入底行模式,而当前的插入模式不能直接进入底行模式,要先按Esc键回到普通模式。当你左下角的INSERT消失了,就说明你退出插入模式了,如果想从普通模式进入底行模式,需要按下。接下来我们重点讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。该模式是vim的默认模式,在该模式下从键盘输入的字符被解释为命令而不是插入文本,这些命令。」键可回到命令行模式。原创 2024-06-23 22:23:56 · 1074 阅读 · 0 评论 -
Linux编译器 gcc/g++
GCC(英文全拼:GNU Compiler Collection)是 GNU 工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件,由 Richard Stallman 于 1985 年开始开发。gcc是GCC中的C语言编译器,而g++是GCC中的C++编译器,使用g++同样可以编译C语言。编译C语言要经过预处理,编译,汇编,链接这四个过程。原创 2024-06-24 14:52:55 · 1167 阅读 · 0 评论 -
Linux调试器 gdb
gbd基本概念GDB (GNU Debugger) 是一个强大的命令行调试工具,用于调试各种编程语言(如C、C++、Java、Python等)编写的程序。使用 gdb可以帮助开发人员更快地定位和修复程序中的缺陷,提高代码质量和开发效率。它是 Linux/Unix 系统上最常用的调试工具之一。程序的发布方式有两种,debug模式和release模式出来的二进制程序,默认是release模式,不可调试要使用gdb调试,必须在源代码生成二进制程序的时候加上g选项可以看到的是,原创 2024-06-24 16:35:05 · 386 阅读 · 0 评论 -
Linux项目自动化构建工具 make/Makefile
一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作.make是一个用于自动化编译和构建过程的工具。它主要用于管理大型软件项目的构建过程,帮助开发者更高效地编译和部署代码,并减少人为错误的发生,这使得软件的编译和部署变得更加自动化和可靠。原创 2024-06-26 08:35:21 · 758 阅读 · 0 评论 -
Linux上使用 git 命令行
点击下方的 create a new repository。需要进行邮箱校验.以下以创建Github为例。在创建好的项目页面中复制项目的链接。将代码放到刚才下载好的目录中。页面就能看到代码改动了.用户名密码. 同步成功后。原创 2024-06-26 12:34:32 · 247 阅读 · 0 评论 -
Linux进程概念
在操作系统中,管理任何对象,都可以转化成对某种数据结构的增删查改。1.描述起来,用struct结构体2.组织起来,用链表或其他高效的数据结构。原创 2024-06-27 23:13:07 · 967 阅读 · 0 评论 -
Linux进程状态
我们把进程状态主要分为了三个状态。为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。一个进程可以有几个状态(在Linux内核里,进程有时候也叫做任务)。Linux中,进程状态的本质其实就是一个整型变量,Linux通过管理进程的PCB结构体,来管理进程,而PCB内部就有一个整型变量来表示进程。下面的状态在kernel源代码里定义:/**/"R (running)", //0,在位图中即为00000000"S (sleeping)", //1,在位图中即为00000001。原创 2024-06-30 17:42:16 · 941 阅读 · 0 评论 -
Linux环境变量
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。在程序运行的过程中,可以定义变量,而Linux操作系统本身就是一个用C语言写的程序,因此操作系统可以在运行的过程中开辟空间。环境变量的本质,就是操作系统运行过程中,为自己开辟的空间,存储了一些重要的信息。原创 2024-07-01 22:34:09 · 1166 阅读 · 0 评论 -
Linux进程优先级
cpu资源分配的先后顺序,就是指进程的优先权(priority优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。在linux或者unix系统中,用ps –l命令则会类似输出以下几个内容:我们很容易注意到其中的几个重要信息,有下:UID :代表执行者的身份PID :代表这个进程的代号PPID。原创 2024-07-01 15:09:48 · 701 阅读 · 0 评论 -
Linux程序地址空间
命令行参数argv环境变量env局部变量动态内存管理全局变量静态数据可执行代码数据段堆区栈区这样一套体系,叫做进程地址空间,事实上,着些地址并不是真实物理地址,而是虚拟地址。原创 2024-07-05 08:10:29 · 841 阅读 · 0 评论 -
Linux进程等待
1. 子进程退出,父进程如果不管不顾,就可能造成僵尸进程的问题,进而造成内存泄漏。2. 另外,进程一旦变成僵尸状态,那就刀枪不入,“杀人不眨眼的kill -9也无能为力,因为谁也没有办法杀死一个已经死去的进程。3. 最后,父进程派给子进程的任务完成的如何,我们需要知道。如,子进程运行完成,结果对还是不对,或者是否正常退出。父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息。进程等待用于回收子进程的资源,避免子进程的PCB一直占用资源造成内存泄漏。原创 2024-07-08 19:19:42 · 1118 阅读 · 0 评论 -
Linux进程终止
1. 代码运行完毕,结果正确2. 代码运行完毕,结果不正确3. 代码异常终止。原创 2024-07-08 15:11:39 · 875 阅读 · 0 评论 -
Linux进程替换
另外的,函数声明中还有一小段备注/* (char *) NULL */,其意图告诉使用者:使用可变参数...时,必须以NULL空指针来结尾。系列的接口,将这些选项存储在一个数组中,然后把数组传入,不过注意该数组最后一个元素也要放NULL空指针。该接口的意思是:不用指明路径,只需指明替换的进程的名称,然后会自动去环境变量。指定的路径中查找,或者会自动在当前目录下查找。是系统自带的指令,所以不用指明路径,系统会自己去查找。就是用来指定以何种方式调用进程,或者说指定选项的,带有。从新程序的启动例程开始执行。原创 2024-07-17 19:58:54 · 1112 阅读 · 0 评论 -
Linux文件IO
fopen用于打开文件,包含在头文件<stdio.h>pathname:打开文件路径,可以是绝对路径或相对路径mode:打开文件的模式打开文件的最常用模式为:"r":只读,若文件不存在则报错"w":只写,若文件不存在则创建,打开时清空文件原有内容"a":只写,若文件不存在则创建,打开时从文件末尾追加该函数会返回一个FILE*的指针,C语言中,通过操作这个FILE*来控制文件的IO。当我们打开文件时,每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息。原创 2024-07-17 19:58:44 · 829 阅读 · 0 评论