Linux
文章平均质量分 57
Linux
GrassFishStudio
这个作者很懒,什么都没留下…
展开
-
#Linux系统编程(信号量)
(一)发行版:Ubuntu16.04.7。原创 2024-04-01 10:22:15 · 686 阅读 · 0 评论 -
#Linux系统编程(消息队列)
消息队列是一种先进先出的队列型数据结构,实际上是系统内核中的一个内部链表。消息被顺序插入队列中,其中发送进程将消息添加到队列末尾,接受进程从队列头读取消息。多个进程可同时向一个消息队列发送消息,也可以同时从一个消息队列中接收消息。发送进程把消息发送到队列尾部,接受进程从消息队列头部读取消息,消息一旦被读出就从队列中删除。原创 2024-03-29 16:39:39 · 1011 阅读 · 0 评论 -
#Linux系统编程(共享内存)
共享内存是System V版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中,所有的进程都可以访问共享内存中的地址。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。原创 2024-03-29 14:12:27 · 776 阅读 · 0 评论 -
#Linux系统编程(信号通信)
(一)发行版:Ubuntu16.04.7。原创 2024-03-28 11:17:38 · 24530 阅读 · 0 评论 -
#Linux系统编程(关于解决Source Insight自动补全的问题)
(一)发行版:Ubuntu16.04.7。原创 2024-03-27 22:03:36 · 893 阅读 · 1 评论 -
#Linux系统编程(进程通信之管道通信)
(一)发行版:Ubuntu16.04.7。原创 2024-03-27 15:43:51 · 875 阅读 · 0 评论 -
#Linux系统编程(守护进程)
(一)发行版:Ubuntu16.04.7。原创 2024-03-27 13:10:14 · 388 阅读 · 0 评论 -
#Linux系统编程(孤儿进程及僵尸进程以及wait函数)
在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时,其实它并没有真正的被销毁,内核只是释放了该进程的所有资源,包括打开的文件、占用的内存等,但是留下一个称为僵尸进程的数据结构,这个结构保留了一定的信息(包括进程号 the process ID,退出状态,运行时间),这些信息直到父进程通过 wait()/waitpid() 来取时才释放。原创 2024-03-27 11:12:51 · 490 阅读 · 0 评论 -
#Linux系统编程(ps和kill命令)
(一)发行版:Ubuntu16.04.7。原创 2024-03-26 22:29:49 · 389 阅读 · 0 评论 -
#Linux系统编程(exec函数族)
在父进程fork()创建子进程中,子进程会拷贝父进程的代码,但是有时候不想要子进程拷贝父进程的代码,则需要引入exec函数族。原创 2024-03-26 21:56:00 · 295 阅读 · 0 评论 -
#Linux系统编程(进程基本知识)
程序是编译过的二进制文件,是静态的。进程指的是正在运行的程序,是动态的。每个进程都有一个唯一的标识符,既进程ID,简称pid。原创 2024-03-26 16:17:23 · 344 阅读 · 0 评论 -
#Linux系统编程(库的概念)
(一)发行版:Ubuntu16.04.7(二)记录:1.什么是库库:一种可执行的二进制文件,是编译好的代码。原创 2024-03-26 15:09:09 · 593 阅读 · 0 评论 -
#Linux系统编程(lseek函数与目录IO函数mkdir,opendir,closedir,readdir及综合练习)
才开始需要输入两个目录,第一个为被拷贝的目录,第二个为拷贝到的目录。在打开被拷贝目录扫描文件时,将单个文件中的内容读出写到拷贝目录中的拷贝文件中(新建或者打开),传入open参数时,需要将路径加文件名传入,由strcat函数拼接(每次使用完之后需要memset清空),路径为一开始传入的参数,文件名为打开被拷贝目录后读被拷贝目录时得到的,copyed_drt->d_name。(4)综合练习:键盘输入被拷贝目录和拷贝目录,打印被拷贝目录中的所有文件名,并且复制被拷贝目录的所有文件到拷贝目录中。原创 2024-03-26 11:46:52 · 1253 阅读 · 0 评论 -
#Linux系统编程(read,open,close,write综合练习)
第二种方法中,因为./exe为第一个参数,所以为argv[0],所以我们传入的参数实际为argv[1]和argv[2]。所以我们的argv[1]为copya.c,argv[2]为copye.c。(1)不传参,指定拷贝文件,指定复制到文件。(一)发行版:Ubuntu16.04.7。(2)参入文件夹拷贝。原创 2024-03-25 10:41:36 · 339 阅读 · 0 评论 -
#Linux系统编程(close函数,read函数,write函数)
(一)发行版:Ubuntu16.04.7(二)记录:close函数(1)close函数具有返回值(2)包含头文件(3)编译运行read函数(3)编译运行write函数。原创 2024-03-24 15:34:02 · 619 阅读 · 0 评论 -
#Linux系统编程(标准IO与文件IO简介与文件IO open函数)
【Linux学习笔记】7. Linux文件IO详解(附代码实例)_linux i/o 操作码-CSDN博客。d.当第二个参数flag使用O_CREAT时则需要用到第三个参数mode (表征创建文件的权限)但是传入的参数为666,是因为传入的mode与掩码取反相与,查看掩码"umask"a.查看参数可以 man -f open(查看粗略目录)再man 2 open。可以发现我们的a.c权限为 rw- r-- r--022取反(0022第一个0代表八进制数):755。(1)文件IO与标准IO。原创 2024-03-24 10:48:32 · 404 阅读 · 0 评论 -
#Linux(Source Insight安装及工程建立)
才开始选的是放在windows上的工程,下面这个是放在Ubuntu的Samba文件夹中的。(3)创建三个新文件编写一个简单的程序(保存到Ubantu中-默认)Source insight 工具安装及使用方法-CSDN博客。(4)创建一个makefile文件(注意Tab)(一)发行版:Ubuntu16.04.7。(5)可以看到已经能够正常运行。原创 2024-03-23 22:24:42 · 816 阅读 · 0 评论 -
#Linux(Samba安装)
(4)因为上面设置的是/home/samba,samba文件夹必须真实存在,所以在/home/创建一个samba文件夹。(5)在映射的盘中建立一个文本文件,再在Ubuntu中/home/samba目录下查看。b.在Windows顶部菜单栏输入"\\+ip"(5) 在Windows上访问samba文件夹。(一)发行版:Ubuntu16.04.7。c.右键该文件夹,右键映射网络驱动器。(1)键入命令安装Samba。(2)修改samba配置文件。没有任何提示报错即安装成功。(3)重启samba。原创 2024-03-23 14:08:05 · 321 阅读 · 0 评论 -
#Linux(SSH软件安装及简单使用)
【已解决】Could not get lock /var/lib/dpkg/lock-frontend_could not get lock /var/lib/dpkg/lock-frontend - o-CSDN博客。(10)示例:远程控制Ubuntu控制台删除刚才传入的readme.txt。(5)Ubuntu和Windows互相ping 看是否通。(8)示例:将Ubuntu的文件传给Windows。(9)示例:将windows上的文件传入Ubuntu。(1)终端键入(root权限)安装。原创 2024-03-23 12:22:03 · 1240 阅读 · 0 评论 -
#Linux(VMwareTOOL安装)
(8)根目录下的opt目录用于存放第三方文件,所以我们把VMwareTool安装到该目录下。(2)打开虚拟机然后安装,出现灰色可能是已经安装过但是自己没有找到。(3)删除VMwareTools命令(root权限)(4)安装VMwareTools命令(root权限)(一)发行版:Ubuntu16.04.7。(5)要么按(2)安装要么按(4)安装。介绍另一种简单粗暴的安装方式(纯命令)a.创建一个文件夹(root权限)(10)找到可执行文件运行安装。(9)查看解压生成的文件。(6)安装后出现如下。原创 2024-03-22 16:17:14 · 1380 阅读 · 0 评论 -
#Linux(make工具和makefile文件以及makefile语法)
如目标编译hello,该目录下就不能有名为hello的文件,否则会报错make :'hello' is up to date.为了解决文件可能同名的问题引入“make + 文件名单独编译某一个文件,但是如果编译的文件不存在依赖其他编译命令生成,那么就会先编译他所依赖的文件,形成联动编译。(2)编译完成之后会产生一些中间文件如.o文件,也可以在makefile中进行规则定义删除。(2)在终端键入make即可调用make工具(在当前目录寻找makefile文件)(6)makefile文件中的注释为“原创 2024-03-22 12:22:57 · 480 阅读 · 0 评论 -
#Linux(编写第一个命令)
(2)加入到bin或者加入到环境变量之后就可以在任何文件执行该文件。中,即可在其他目录下调用(之前编写的程序只能在当前目录下运行)a.加入到bin文件中(需要提升root权限)(1)编写一个c程序然后将生成的可执行的文件。(一)发行版:Ubuntu16.04.7。原创 2024-03-21 20:29:51 · 350 阅读 · 0 评论 -
#Linux(环境变量)
也可以不键入命令更新关闭终端,再打开也会更新。比如把/home/grassfishstudio/test/添加进去。退出终端再次进入查看发现环境变量已经消失了,退出后即失效。立即生效,只会作用于当前用户,退出超级终端就会失效。命令格式:export 变量=新增的变量:$变量。我们直接在这个配置文件的最低行加上我们的环境变量。(一)发行版:Ubuntu16.04.7。此时环境变量已经加入,需要更新,键入。不立即生效,只会作用于当前用户。超级终端中没有该环境变量。修改.bashrc文件(原创 2024-03-21 19:56:30 · 400 阅读 · 0 评论 -
#Linux(第一个Hello World以及GCC基本用法)
比如:gcc hello.c -o hello将hello.c编译之后生成一个可执行文件hello。从.s汇编文件编译到.o目标文件时键入的参数c为小写,大写C会直接生成目标文件并且建立链接。该程序只能在x86架构上运行,在gcc上编译出来的程序不能在ARM开发板运行。(2)gcc支持多种计算机体系结构,如x86,MIPI,ARM等。./hello在当前目录寻找hello可执行文件(必须加上./)如果不用-o参数指定名字,那么默认生成文件的名字为a.out。加上-o参数可以指定生成文件的名字,原创 2024-03-21 18:58:34 · 503 阅读 · 0 评论 -
#Linux(文件系统概念)
(1)查看文件系统情况df,man df查看df命令的功能。(3)df -Th转换为更为直观的表示方法。(一)发行版:Ubuntu16.04.7。(2)查看文件系统的类型 df-T。原创 2024-03-21 17:51:35 · 337 阅读 · 0 评论 -
#Linux(目录结构详解)
为了解决开发人员的标准不统一。比如/usr/share中必须存放共享文件。(1)从根开始“/”,向下发散,结构可以随意安排。“树根”,不像windows有c盘d盘之分。(一)发行版:Ubuntu16.04.7。(2)Linux文件层次标准(FHS)(3)根目录下各文件的规定。原创 2024-03-21 17:30:35 · 602 阅读 · 0 评论 -
#Linux(连接档概念)
(3)将test1.c与test2.c创建链接之后在test1.c中输入内容,然后查看test2.c中的内容,发现已经同步修改。无论硬连接还是软连接,都会联动改变文件,硬连接类似于复制,软连接类似于快捷方式(源文件删除则无法访问)(2)创建硬链接:ln + 文件名1 +文件名2(如果文件名2不存在,那么就会创建一个文件,源+目)(4)将test1.c删除再查看test2.c发现不能查看(在硬链接中不会出现这种问题)(6)硬链接的缺点:硬链接只能创建在同一个文件系统下,而且目录之间不能创建硬链接。原创 2024-03-21 16:12:51 · 353 阅读 · 0 评论 -
#Linux(权限管理)
chmod 参数 权限 文件名(第一个7 为 4+2+1 为 rwx 第二和三个4为r)第四列:grassfishstudio代表文件拥有者所在的组。第三列:grassfishstudio代表文件拥有者。(一)发行版:Ubuntu16.04.7。:文件拥有者所在用户组的权限(可读可写)(3)文件权限的另一种表示方法(二进制): 文件拥有者的权限(可读可写): 其他用户的权限(读)(4)修改文件和文件夹权限。(2)-开头代表普通文件。原创 2024-03-21 12:37:23 · 308 阅读 · 0 评论 -
#Linux(帮助手册)
b. 不知到要查看的命令在那一页时(man -f 要查看的命令)a. man+页数+要查看的命令(按q退出)(1)键入命令man man查看手册目录(按q退出)(2)查看手册需要先安装依赖包(root权限安装)(一)发行版:Ubuntu16.04.7。原创 2024-03-21 12:05:45 · 466 阅读 · 0 评论 -
#Linux(根目录与家目录)
(一)发行版:Ubuntu16.04.7。root用户与普通用户的家目录不同。命令回到家目录: cd ~命令回到根目录:cd /原创 2024-03-20 13:53:41 · 289 阅读 · 0 评论 -
#Linux(VIM编辑器使用)
(5)复制粘贴,按v进入复制模式,上下左右选中要复制的文本,然后按y确定复制,然后移动光标到自己想要复制的位置按下p粘贴。a.向下查找:输入/进入命令行模式,然后输入要查找的内容,按n向下查找,再按?(1)打开一个文本文件输入vi+文件名(如果存在该文件则直接打开,如果没有则创建一个文件)b.编辑模式:普通模式下输入i,出现insert即可输入。在命令行模式下输入 n1, n2d 删除n1到n2之间的行。进行命令行模式,然后输入要查找的内容,按n向上查找。c.命令行模式 (按esc退出)原创 2024-03-19 14:04:26 · 225 阅读 · 0 评论 -
#linux(使用apt-get下载)
apt-get upgrade vim,此时提示是否更新,不要更新,否则会更新全部软件。(2)在终端切换到root,然后输入apt-get update更新下载源。在root用户下输入apt-get install vim。(一)发行版:Ubuntu16.04.7。(5)卸载软件(比如vim)(3)安装一个软件vim。原创 2024-03-19 11:25:53 · 968 阅读 · 0 评论 -
#linux常用命令
常用的50个linux命令行_linux命令行大全-CSDN博客。(一)发行版:Ubuntu16.04.7。原创 2024-03-19 10:01:01 · 720 阅读 · 0 评论 -
#Ubuntu(修改root信息)
(4)发现命令行前缀有root,说明已经成功。(一)发行版:Ubuntu16.04.7。a.右键,open terminal。b.快捷键 ctrl+alt+t。(3)切换到root用户。(2)进行root修改。$代表不是root用户。#代表root用户权限。(5)回到普通用户输入。原创 2024-03-18 19:25:01 · 739 阅读 · 0 评论
分享