linux的快捷方式-ln 有更新! 2021-02-07 命令介绍 命令名称:ln 命令原型:link 命令所在路径:/bin/ln 执行权限:所有用户 功能:生成链接文件 区别 软连接 以路径的形式存在,类似Windows中的快捷方式 可以跨文件系统,而硬链接不行 权限以777(rwxrwxrwx)的形式存在 可以对目录进行链接 允许对一个不存在文件进行链接 硬链接 以文件副本的形式存在,不占用实际空间 与cp -p类似创建链接文件,并且链接文件与原文件同步更新 无法跨文件系统进行创建硬链接文件 只能对文件创建硬链接 示例 软链接 ln -s [原文件] [链接文件] 对 /tmp/test.txt 文件创建软连接 test.soft 一、 ln -s /tmp/test.txt test.soft 二、 cd /tmp ln -s test.txt test.soft 在创建软链接文件时,一定要将原文件的路径键入全,因为软链接文件是靠路径寻找原文件 test.soft 与 test.soft2 虽然最后指向的文件都是 test.txt ,但不同之处就在于 test.soft 不论移动到哪个文件夹哪个文件系统,它都指向 /t....
linux权限管理 2021-02-07 命令介绍 命令名称:chmod 命令原型:change mode 命令所在路径:/bin/chmod 执行权限:系统管理员及文件所有者 功能:更改文件或目录访问权限 权限 文件的权限可以分为3种: r : read 读取权限 当作用于文件时,r就代表被读取的权限;但如果read权限作用于文件夹就变成了读取文件夹内的内容了,主要是浏览目录的权限。 w : write 写入权限 当write权限作用于文件和文件夹也有着不同的反应,当文件没有w权限时,此文件只是一个只读文件,此时文件只能读取不能写入;当为文件夹时,如果没有w权限,这个文件就只能看到里面的文件,但是不能对此文件夹里的文件进行修改、增加、删除的权限。 x : excute 执行权限 代表文件的可执行权限,比如命令,如果没有x权限它就失去了执行的权限,就会发生没有权限的问题。但它如果是一个文件夹,就代表能否进入文件夹的权限。 linux的权限有这三种类型,并且针对不同的用户也有着不同的权限。如上图所示,分别是 所有者(u user) 所属组(g group) 其他人(o other) 基本通过字面....
c语言与动态内存 有更新! 2020-09-21 前言 在C语言中,除了获取变量的指针这种规矩的内存空间,我们还可以通过函数去申请指定大小的内存空间 动态 malloc malloc可以申请一块任意尺寸的空间,因为经常一段空间是连续的 #include <stdio.h> #include <stdlib.h> int main(void) { int *ptr = NULL; ptr = (int *) malloc(sizeof(int)); // malloc() 返回一个void *类型指针 if (ptr == NULL) { printf("获取内存失败"); exit(0); } *ptr = 4; printf("*ptr = %d\n", *ptr); return 0; } Output: *ptr = 4 解析 void * malloc(size_t size) 声明一个空指针 使用malloc函数申请一个连续空间,尺寸为int类型的长度,并将指针类型转换为int类型的指针 判断是否申请成功,若成功则继续,若不成功则退出 为ptr赋值 输出 可以在 (int *) malloc(s....
更好的使用结构体 有更新! 2020-11-15 结构体与指针 在C语言中,指针可以指向万物,自然也少不了结构体。 使用结构体指针,有4点好处: 就像指向数组的指针比数组本身更容易操控一样,指向结构的指针通常比结构本身更容易操控 在早期的C中,结构不能作为参数传递给函数,但是可以传递指向结构的指针 即使能传递一个结构,传递指针通常更有效率 一些用于表示数据的结构中包含指向其他结构的指针 根据这4点好处,证明学习结构体指针的重要性 // Book结构体沿用上面 int main(void) { struct Book books[2] = { {"C Primer Plus", "Stephen Prata", 59.4}, {"黑客与画家", "Paul Graham", 49.00} }; struct Book * book1; // 这是一个指向结构的指针 book1 = &books[0]; // 告诉编译器指针指向何处:结构数组第一个结构 printf("[book1] title = %s, author = %s, price = %f\n", book1->title, book1->autho....
结构体 2020-11-15 引子 设计程序时,最重要的步骤之一就是选择表示数据的方法。在许多情况下,简单变量甚至是数组还不够。为此,C提供了结构变量(structure variable)提高表示数据的能力,它能够创造新的形式。 建立结构体声明 小栗子 需求:需要打印一份图书目录。里面包含每本书的各种信息:书名、作者、出版社、版权日期和价格。其中一些元素(例如书名和作者)可以储存在字符数组中,其他项目需要一个int或者float。如果使用5哥不同的数组分别记录每一项都比较繁琐,尤其是要创建多份列表:一份按书名排序、一份按作者排序、一份按照价格排序等。如果能把图书目录的信息都包含在一个数组里更好,其中每个元素包含一本书的相关信息。 因此,就需要一种既能包含字符串也能包含数字的数据形式,而且还要保持各信息的独立。结构体就满足这种情况下的需求。 struct Book { /* 结构体模板:标记为Book (我们通常使用首字母大写的方式来标识结构体) */ char title[128]; // 成员 or 字段 char author[40]; char publisher[256]; int date; float....
Linux 搭建FTP服务 有更新! 2020-06-03 简介 想要在linux上搭建ftp服务是十分简单的,所以此贴并不在于安装服务,而是怎样去调试,使得我们对ftp的配置更加详细、娴熟,也是作为一个记录贴 配置 yum install -y vsftpd // 不多说,安装ftp服务(系统版本: Centos7) 在vsftpd安装完成后,会在etc目录下生成一个目录/etc/vsftpd ftpusers // FTP黑名单 不受配置影响 比user_list优先级高 user_list // 取决于 userlist_enable userlist_deny 配置 vsftpd.conf // ftp 服务配置文件 vsftpd_conf_migrate.sh // 配置文件迁移脚本 vsftpd.conf 默认配置 匿名用户使用的登录名为ftp或anonymous,口令为空; 匿名用户不能离开匿名用户家目录; 本地用户的登录名为本地用户名,密码为此用户的密码; 本地用户可以在自己的家目录中进行读写操作; 本地用户可以离开家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载 /etc/vsftpd/ftpuse....