- 博客(21)
- 收藏
- 关注
原创 NFS服务器
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可。2. 运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试nfs。sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;6. 使用下面的命令,将共享目录挂在到/mnt目录下,并修文件。1. 运行下面的命令安装NFS服务器(需要保持网络通畅)。7. 使用下面的命令,查看原来的文件已经被修改。5. 使用下面的命令,重启NFS服务。/nfs/rootfs:共享的目录;
2023-08-14 22:04:31 67
原创 TFTP服务器搭建及使用
服务器介绍:简单的文件传输协议是TCP/IP协议族中一个用来在客户机与服务器之间进行简单的传输协议,提供不复杂、开销不大的文件传输服务。端口为69 文件传输特点:使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施 TFTP支持小文件传输,TFTP没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。 适用场景:(1)频繁修改内容; 1. 在线安装TFTP服务器和客户端(需要保证Ubuntu网络通畅)。 linux@ubuntu:~$ sudo apt-get ins
2023-08-14 22:00:53 353
原创 Linux shell 脚本编程(概念、变量、语句)
for 变量依次取单词表中的各个单词,每取依次单词,就执行依次循环体中的命令。命令表中的命令可以是一条,也可以是由分好或换行符分开的多条。特殊变量(环境变量(由系统维护,用于设置工作环境)、制度变量(用于变量值不允许被修改的情况)、位置变量(通过命令行给脚本程序传递参数)、预定义变量(bash中内置的一类变量,不能直接改变))while语句首先测试其后的命令或表达式的值,如果为真,就执行依次循环体中的命令,然后再测试改命令或表达式的值,执行循环体,直到该命令或表达式为假时退出循环。变量可以通过变量名访问。
2023-08-13 22:53:48 108 1
原创 文件处理相关命令
e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令才需要-e;-n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行。-f:依据-d分割字符把信息分割成数段,用-f去除第几段。find -exec 命令名称{}对符合条件的文件执行所给的Linux命令 如: find -name “file” -exec rm {} \。-A 出来显示符合范本样式的那一列之外,并显示该行之后的内容。-f:用户指定归档文件的文件名,否则使用默认名称。
2023-08-12 22:51:57 118 1
原创 Shell命令和脚本
匹配一个长度字符 [otr]匹配含otr任意字符 [a-z]匹配指定字符范围内的 [^otr]出来otr均可匹配。文件权限查询: ls -l 文件名 输出 -rwxrwxrwx 1 linux linux 17456 ———以上共三组rwx 分别为u g o。u代表所有者,g所属组,o代表其他用户。history历史查询 Tab自动补齐 a=`ls` 命令置换。管道:| 第一个命令的输出结果作为第二个命令的输入。Shell 权限相关命令。
2023-08-12 14:51:50 51 1
原创 Unix、Linux和GNU简介
Linux全程GNU/Linux,一种免费使用和自有传播的类Unix的操作系统,其内核由林纳斯·本纳迪克特·托瓦兹于1991首次发布,主要受到Minix和Unix思想的启发。的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码缩写。UNIX:中文名尤尼斯,本质是操作系统,属于分时操作系统另一种(时时操作系统)开发于1969年,AT&T公司,特点多任务、多用户。发型版本Debian、Ubuntu、REHEL等,特点 是免费、开源、可靠、安全、稳定、多平台。
2023-08-11 15:08:14 664 1
原创 Linux 操作系统及C高级编程
i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改。-n取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行。grep [选项] 要查找的内容 查找的位置 -A 除了显示复合范本样式的那一列之外,并显示该行之后的内容。-f:依据-d的分隔符将一段信息分割成数段,用-f取出第几段的的意思。硬链接软链接的区别: 如果修改硬链接的目标文件名,链接依然有效;假如删除目标文件后,重新创建一个同名文件,软连接将恢复,硬链接不再有效,因为文件的inode已经改变。
2023-08-11 13:56:51 118 1
原创 递归函数基本用法
(2)回归阶段:按递归种植条件求出结果,逆向逐步带入递归公式,回到原问题求解。(1)递推阶段:从原问题出发,按递归公式从未知到已知,最终达到递归终止条件。递归函数是指一个函数的函数体中直接或间接调用了该函数自身。<数据类型>(*<函数指针名称>)(<参数说明列别>);函数指针用来存放函数地址,这个地址是一个函数的入口地址。函数指针变量说明的一般形式如下;函数名代表了函数的入口地址。
2023-08-10 16:52:43 44 1
原创 指针函数基本用法
返回值: 全局变量的地址、static(静态变量的地址)、字符串常量的地址、堆变量地址。定义形式如下:<数据类型>*<函数名称>(<参数说明>){指针函数是指一个函数的返回值为地址量的函数。
2023-08-10 14:07:41 24 1
原创 多级指针用法
p+1移动一个int*变量所占的内存空间,再比如int ***p,p+1移动一个int**所占的内存空间。//const<数据类型>*<指针变量名称>, 限制通过指针修改目标数据。(1)指针变量加1,是向地址大的方向移动一个目标数据。多级指针运算也是以其目标变量为单位进行偏移。(2)对于指向处理数据的指针变量称为一级指针变量,简称一级指针。(3)指向一级指针变量的指针变量称为二级指针变量,简称二级指针。(1)把指向指针变量的指针变量,称为多级指针变量。指针数组也可以通过指针变量进行操作。
2023-08-07 15:55:55 55 1
原创 字符指针与字符串
通常,我们把char数据类型的指针变量称为字符指针变量,字符指针变量与字符数组有着密切关系,它也被用来处理字符串。字符指针初始化:初始化字符指针是把内存中字符串的首地址赋予指针,并不是把该字符串复制到指针中。在C编程中,当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值。C语言通过使用字符数组来处理字符串。
2023-08-04 17:16:35 27 1
原创 二维数组和指针
方括号中的常量表达式表示指针加1,移动几个数据,当用行指针操作二维数组是,表达式一般写成1行的元素个数,即列数。存储行地址的指针变量,叫做行指针变量。形式如:<存储类型><数据类型>(*<指针变量名>)[表达式];二维数组名代表数组的起始地址,数组名加1,是移动一行元素。因此,二维数组名常被称为行地址。如: int a[2][3];在C语言中,二维数组的元素连续存储,按行优先存。多维数组就是具有两个或两个以上下标的数组。
2023-08-04 14:12:01 25 1
原创 字符数组和字符串
例子: char ch[5]={'B','o','y'};字符数组初始化:(a)逐个字符赋值如:'a','b','v','/0'(2) 非字符串变量,用字符数组处理字符串。字符串结束标注'\0'(1)字符数组是元素的数据类型为字符型的数组。(b)用字符串常量定义 "abv""hello" 共五个字符占六个字节。
2023-08-03 17:51:05 24
原创 指针运算1
两指针指向的地址位置之间相隔数据的个数。(1)+:px+n,指针向地址大的方向移动n个数据 px+sizeof(数据类型)*n。两指针相减的结果值不是地址量,而是一个整数值,表示两指针之间相隔数据的个数。(3)++:px++,向指针地址大的方向移动一个数据。(4)--:px--,指针向地址小的地方移动一个数据。不同数据类型的两个指针实行加减运算时没有意义的。(2)-:px-n,指针向地址小的方向移动n个数据。(5)-:px-py,两个指针之间相隔元素的个数,(p - q) / 类型字节长度。
2023-08-03 17:33:21 29
原创 指针基本用法
(6)指针对的赋值: 指针的赋值运算通过赋值运算符向指针变量送一个地址值,向指针变量赋值时,送的值必须是地址常量或指针变量,不能是普通的整数(除了赋0除外)(4)指针指向的内存区域中的数据称为指针的目标,如果他指向的区域是一个程序的一个变量的内存空间,则这个变量称为指针的目标变量。指针赋值运算常见的形式有几下几种形式: 把一个普通变量的地址赋给一个具有相同数据类型的指针。(3)指针变量:专门用来存放地址的变量叫做指针变量。(5)表示方法:a:p 指针变量,他的内容是地址量。//等价pa=&a[0]
2023-08-03 15:53:54 30
原创 偏僻字符串函数
(1)strncpy(p,p1,n) 复制指定长度字符串 与strcpy相比只复制n个。(3)strcasecmp(s1,s2) 忽略大小写比较字符。(5)strchr(p,c) 在字符串中查找指定字符 参数返回法。(2)strncat(p,p1,n) 附加指定长度字符串。(4)strncmp(p,p1,n) 比较指定长度字符串。isupper()检查是否为大写字母字符。(6)strstr(p,p1) 查找字符串。(7) isalpha()检查是否为字母字符。
2023-08-02 22:06:50 28
原创 字符串函数简介
(4)字符串比较函数strcmp(字符串1,字符串2),比较两个字符串,比较规则:对两串从左向右逐个字符比较(ASCII),直到遇到不同字符或'\0'。如:char a={'a','/0','b'};(3)字符串连接函数strcat(字符数字1,字符数组2),把字符串2连到字符数组1后面,反值为字符数组1 的首地址。(2)字符串拷贝函数strcpy(字符数组1,字符串2),将字符串2拷贝到字符数组1中,返回值是字符数组1的首地址。连接后串1的'\0'取消,新串最后加上'\0'。遇见'\0'计算截止。
2023-07-31 23:31:45 35 1
原创 continue、return语句
(1)结束本次循环,直接进入循环判定条件环节。与break相比,continue结束本次循环,直接进行条件判断,break跳出循环体。(2)用于主程序的结束,如果是函数则是退出函数。
2023-07-26 21:46:15 25 1
原创 循环辅助语句
(1)break只能用于循环语句和switch语句中,起到提前跳出一层循环的作用。// 验证输入是否为素数,问题:第一次尝试时当输入为素数时不输出结果。
2023-07-25 23:54:44 22
原创 static局部变量定义异同(与auto定义相比)
(1)以变量a为例,在局部定义变量时,auto类型变量a,如果没有初始化,变量a的值为随机值,如果用static定义变量a则a的默认值为。(2)生命周期不同,static变量只要程序不结束,在内存中就不会被销毁,下次调用不需要再次声明。而auto变量程序结束,变量销毁。<存储类型><数据类型><变量名>
2023-07-21 23:33:03 47 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人