![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 65
Linux笔记
那人依旧在
这个作者很懒,什么都没留下…
展开
-
基于单进程、多进程、孤儿进程的几种TCP服务器的C语言写法
几种不同类型的TCP服务器都包含相同的头文件,但是并不是每个头文件都是.c文件所必须的。原创 2024-06-14 11:30:08 · 286 阅读 · 0 评论 -
一些常见的终端和vim操作
alt+. : 粘贴最后一次命令最后的参数(通常用于‘mkdir long-long-dir’之后,‘cd’配合着‘alt+.’)ctrl+v,hjkl,shift+i,esc : 列操作,r替换、c删除并编辑、x删除。ctrl+shift+c : 复制(相当于鼠标左键拖拽,鼠标先选中)ctrl+h : 删除光标前一个字符(相当于backspace)ctrl+d : 删除光标后一个字符(相当于delete)ctrl+shift+v : 粘贴(相当于鼠标中键)ctrl+f : 后移一个字符(forward)原创 2024-06-13 15:32:16 · 131 阅读 · 0 评论 -
Linux操作系统之进程
1)Linux操作系统可以同时加载多个进程,哪操作系统怎么管理进程?先描述!再组织!想要管理一个进程,首先要得到这个进程的状态,这就是描述进程。那我们平时在c语言中是怎么描述一个对象的呢?int age;int weight;int height;在c语言中我们用这样一个结构体来描述一个学生对象,在Linux中同样如此。(Linux的底层实现使用的是c语言)Linux操作系统中用类似于上面的PCB结构体描述每一个进程2)PCB结构体中包含了进程的什么属性?原创 2023-04-03 22:26:09 · 66 阅读 · 0 评论 -
Linux操作系统之文件基本操作
一般情况下,echo将输出结果通过管道传给head、ls或其他命令时,其他命令或默认读取管道输出结果,但加上xargs后,其他命令会把管道输出结果当成参数读取。方法二:使用管道 | ,将head的结果通过管道,直接输出到tail指令中,这种方法不用创建文件,属于内存级别的传输,当临时文件较大时,更快。head与tail命令同样支持-n选项,打印需要的行数,同时还可以相互配合,直接输出文本行需要的中间位置。more不支持上下翻看。解压时不添加路径的情况下,默认解压到当前目录,此时不需要-d选项。原创 2023-03-05 22:27:04 · 262 阅读 · 0 评论 -
os与Linux之Linux基本操作指令
echo本来只是将“hello world”打印到显示器上,加入了>后,echo在没有file.c文件的情况下,创建了file.c文件并将“hello world”输出到file.c文件中,其中 > 称之为输出重定向。可以看到,rm命令删除code文件夹的时候失败了,当删除文件夹时,还需要用到 -r 与 -f 选项,其中 -r选项表示递归删除,-f选项表示强制删除,当加上-f选项之后不需要像上图一样输入y或n来确定是否删除。cp命令用来拷复制文件或目录,格式为cp 源文件或目录 目标文件或目录。原创 2023-03-04 23:30:00 · 280 阅读 · 0 评论 -
Linux系统之权限操作
root用户是超级用户,基本上不受权限的限制,同样root用户可以切换到任意用户或修改任意用户的密码,普通用户切换到root用户需要输入root密码。sudo命令可以短暂提升用户权限,使普通用户获得root用户的权限,但是普通用户若想使用这条命令,需要root用户将普通用户添加到信用列表。一个文件如果不具备相应的权限,就不能执行相应的工作,但是具备了某一项权限,也不一定能执行。当所属组与所有者是同一人时,所有者的权限优先,即能不能对文件进行操作,只看所有者有没有权限,不看所属组有没有权限。原创 2023-03-06 21:57:15 · 142 阅读 · 0 评论 -
Linux操作系统之gdb
同样可以用readelf指令查看debug信息,mytest并没有debug文件,而mytest-debug则有。list或l打印代码(gdb会默认记录上一条命令,如果不输入语句直接回车,就会默认执行上一条命令)b 行号 在指定行添加断点(如果改行没有代码则自动将断点设置到最近的位置)使用-g选项生成debug版本,可以看到两个版本的大小差别。disable 断点编号 关闭断点但是不删除断点。r重新开始调试,如果没有设置断点,则运行知道程序结束。这样得到的文件可以用gdb进行调试吗?原创 2023-04-01 16:58:59 · 107 阅读 · 0 评论 -
Linux操作系统之yum、git
这时我们需要git pull同步仓库信息,如果git pull后弹出报错信息,不需要理会,退出报错后,重新上传即可。vim打开这个文件,其中出现的后缀,以这些为后缀的文件不会被上传,我们同样可以修改这些文件。在本地仓库中,会有一个.gitignore隐藏文件,这个文件表示你想默认忽略上传的文件。删除之后,再进行一次上传文件,因为删除操作本质上也是一次新增或修改文件。进入仓库目录,添加文件,这里的 . 表示将当前本地目录所有新增文件上传。当你clone完成后,会在当前路径下生成你的仓库目录。原创 2023-03-31 09:40:21 · 120 阅读 · 1 评论 -
Linux操作系统之vim环境配置
但是other的所有权限都打开时,任何用户可以在公共目录下进行创建删除等操作,哪怕是别人创建的文件,我虽然没有权限访问,但是我可以删除,因为目录下的文件可不可以删除不是有文件决定的,而是由目录的权限决定的。当我以普通用户登录时,可以看到根目录下,有一个tmp的公共目录,公共目录的所属组与所有者都是root,其他用户都是以other来进行访问。创建目录时,拥有者和所属组的权限在umask中值为0,所以不会发生改变,但是other的权限发生了改变。那为什么我们创建出来的文件或目录的权限是这样?原创 2023-03-07 22:07:27 · 761 阅读 · 0 评论 -
Linux操作系统之gcc/g++
当我一直执行make时:可以看到,第一次执行make后,行成的可执行程序已经是最新的了,就不会再执行make但当我一直执行make clean的时候:make clean一直可以被执行,所以叫做总是被执行的如果想要make一直被执行,同样可以用.PHONY修饰mytest。原创 2023-03-27 19:45:17 · 472 阅读 · 0 评论 -
Linux操作系统之简单进度条
键盘与显示的输入与输出都会先存储在缓冲区里,根据特定的刷新策略进行刷新。当执行如下代码时,hello bit会在一秒钟后打印出来。回车:回到本行的最开始 \r。换行:切换到下一行的当前位置。原创 2023-03-27 19:48:23 · 59 阅读 · 1 评论