<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2401_86940371的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2401_86940371</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2401_86940371]]></copyright><item><title><![CDATA[linux 使用fdisk分区扩容]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142975644</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142975644</guid><author>2401_86940371</author><pubDate>Wed, 16 Oct 2024 11:05:52 +0800</pubDate><description><![CDATA[其实，在Mono中成功部署MVC3也不是一件新鲜的事情，早前就已经有不少成功的案例，园子中也有一些关于如何在Mono中部署MVC3的文章，各位读者如有兴趣，可以自行查阅，当然，读者们也可以从本文中直接找到方法，我们在这里采用的是Step By Step的讨论学习方法，一步一步的说明白如何操作，并指出当中需要注意的地方和解析原因。“不对，直接是飞不起来了。其实，无论是MVC3还是MVC4，它们的部署方法都是类似的，我们在上小节中详讲了MVC3的部署就是为了能够在部署MVC4起到一定的参考作用。]]></description><category></category></item><item><title><![CDATA[Linux三剑客之awk命令]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142974851</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142974851</guid><author>2401_86940371</author><pubDate>Wed, 16 Oct 2024 10:56:22 +0800</pubDate><description><![CDATA[awk简介awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言： AWK 程序设计语言 ， 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序，这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表，还有无数其他的功能。awk 是一种很棒的语言，它适合文本处理和报表生成，其语法较为常见，借鉴了某些语言的一些精华，如 C 语言等。]]></description><category></category></item><item><title><![CDATA[10 分钟学会Linux常用 bash命令]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142973832</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142973832</guid><author>2401_86940371</author><pubDate>Wed, 16 Oct 2024 10:44:26 +0800</pubDate><description><![CDATA[几乎与任何编程语言一样，您可以使用函数以更逻辑的方式对代码段进行分组，或者实践递归的神圣艺术。ls有很多选项：-l列出“长格式”的文件，其中包含文件的确切大小，拥有该文件的人员，有权查看该文件，以及何时进行上次修改。函数内的参数以与给脚本的参数相同的方式进行处理。任何脚本中的这一行来确定脚本的执行能力，如独立的可执行文件，而不是在终端中预先键入sh，bash，python，php等。bash中的变量可以包含数字，字符，字符串等。您可以使用grep搜索与一个或多个正则表达式匹配的文本行，并仅输出匹配的行。]]></description><category></category></item><item><title><![CDATA[Linux开机详细流程]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142937032</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142937032</guid><author>2401_86940371</author><pubDate>Tue, 15 Oct 2024 10:23:21 +0800</pubDate><description><![CDATA[最后从虚根切换到实根。装第一个操作系统时，boot loader可以装在/dev/sda上，也可以选择装在/dev/sda1上，这时装的是MBR和VBR，任选一个都会将另一个也装上，从第二个操作系统开始，装的是EBR而非MBR，且应该指定boot loader位置(如/dev/sda5和/dev/sda8)，否则默认选项是装在/dev/sda上，但这会覆盖原有的MBR。实际上/etc/init.d/下的脚本才是真正的脚本，放入rcN.d目录中的文件只不过是/etc/init.d/目录下脚本的软链接。]]></description><category></category></item><item><title><![CDATA[Linux下PAM模块学习总结]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142936230</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142936230</guid><author>2401_86940371</author><pubDate>Tue, 15 Oct 2024 10:11:15 +0800</pubDate><description><![CDATA[然后通过pam_unix.so模块来提示用户输入密码，并将用户密码与/etc/shadow中记录的密码信息进行对比，如果密码比对结果正确则允许用户登录，而且该配置项的使用的是“sufficient”控制位，即表示只要该配置项的验证通过，用户即可完全通过认证而不用再去走下面的认证项。在Linux中进行身份或是状态的验证程序是由PAM来进行的，PAM（Pluggable Authentication Modules）可动态加载验证模块，因为可以按需要动态的对验证的内容进行变更，所以可以大大提高验证的灵活性。]]></description><category></category></item><item><title><![CDATA[Linux iptables用法与NAT]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142928318</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142928318</guid><author>2401_86940371</author><pubDate>Mon, 14 Oct 2024 20:49:22 +0800</pubDate><description><![CDATA[第二个表示ALL（SYN，ACK，FIN，RST，URG，PSH）的标志都检查，但是只有设置了SYN和ACK的匹配。其实Iptables服务不是真正的防火墙，只是用来定义防火墙规则功能的"防火墙管理工具"，将定义好的规则交由内核中的netfilter即网络过滤器来读取，从而真正实现防火墙功能。iptables中的规则表是用于容纳规则链，规则表默认是允许状态的，那么规则链就是设置被禁止的规则，而反之如果规则表是禁止状态的，那么规则链就是设置被允许的规则。如果你是在xinetd 下面运行的，则不需要。]]></description><category></category></item><item><title><![CDATA[Linux下Nagios的安装与配置]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142928033</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142928033</guid><author>2401_86940371</author><pubDate>Mon, 14 Oct 2024 20:42:18 +0800</pubDate><description><![CDATA[Nagios提供了许多插件，利用这些插件可以方便的监控很多服务状态。安装完成后，在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件，如，check_disk是检查磁盘空间的插件，check_load是检查CPU负载的，等等。nagios.cfg默认的路径为/usr/local/nagios/etc/nagios.cfg，是nagios的核心配置文件，所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用，这里只需将对象配置文件在Nagios.cfg文件中进行引用即可。]]></description><category></category></item><item><title><![CDATA[Linux Shell编程基础]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142927941</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142927941</guid><author>2401_86940371</author><pubDate>Mon, 14 Oct 2024 20:32:51 +0800</pubDate><description><![CDATA[下一步，我们使用shift命令将第一个和第二个参数从参数列表中删除，这样原来的第三个参数就成为参数列表$*的第一个参数。这里的 && 就是一个快捷操作符，如果左边的表达式为真则执行右边的语句，你也可以把它看作逻辑运算里的与操作。任何优秀的脚本都应该具有帮助和输入参数。虽然可以为命令建立“链接”解决长文件名的问题，但对于带命令行参数的命令，链接就无能为力了。挑个自己喜欢的编辑器，输入上述内容，并保存为文件first，然后执行 chmod +x first 使其可执行，最后输入 ./first 执行该脚本。]]></description><category></category></item><item><title><![CDATA[linux 查看系统信息命令]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142903604</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142903604</guid><author>2401_86940371</author><pubDate>Sun, 13 Oct 2024 20:27:15 +0800</pubDate><description><![CDATA[uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况。]]></description><category></category></item><item><title><![CDATA[Linux文件系统详解]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142903519</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142903519</guid><author>2401_86940371</author><pubDate>Sun, 13 Oct 2024 20:20:04 +0800</pubDate><description><![CDATA[一般都说文件存放在某个目录中，其实目录中存入的只是文件在i-节点表的入口，而文件的内容则存储在数据区。硬连接 ：源文件名和链接文件名都指向相同的物理地址，目录不能够有硬连接，文件在磁盘中只有一个复制，可以节省硬盘空间，由于删除文件要在同一个索引节点属于唯一的连接时才能成功，因此可以防止不必要的误删除软连接（符号连接）用ln -s命令创建文件的符号连接，符号连接是linux特殊文件的一种，作为一个文件，它的资料是它所连接的文件的路径名，类似于硬件方式，******可以删除原始文件 而连接文件仍然存在。]]></description><category></category></item><item><title><![CDATA[linux netlink通信机制]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142903373</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142903373</guid><author>2401_86940371</author><pubDate>Sun, 13 Oct 2024 20:13:27 +0800</pubDate><description><![CDATA[1，netlink使用简单，只需要在include/linux/netlink.h中增加一个新类型的 netlink 协议定义即可,(如 #define NETLINK_TEST 20 然后，内核和用户态应用就可以立即通过 socket API 使用该 netlink 协议类型进行数据交换);（4）nlmsg_seq：消息序列号，用以将消息排队，有些类似TCP协议中的序号（不完全一样），但是netlink的这个字段是可选的，不强制使用；（1）nlmsg_len：整个netlink消息的长度（包含消息头）；]]></description><category></category></item><item><title><![CDATA[linux 安装redis 完整步骤]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142891007</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142891007</guid><author>2401_86940371</author><pubDate>Sat, 12 Oct 2024 23:09:54 +0800</pubDate><description><![CDATA[vi /etc/rc.local //在里面添加内容：/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)输入 redis-cli 进入命令模式，使用 auth '*****' （****为你设置的密码）登陆。//（redis-cli -h 127.0.0.1 -p 6379 -a ****（****为你设置的密码））]]></description><category></category></item><item><title><![CDATA[在Linux中使用线程]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142890873</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142890873</guid><author>2401_86940371</author><pubDate>Sat, 12 Oct 2024 23:03:03 +0800</pubDate><description><![CDATA[目录3.1 绑定属性
3.2 分离属性
3.3 调度属性
3.4 堆栈大小属性
3.5 满栈警戒区属性
5.1 互斥锁
5.2 条件变量
 我并不假定你会使用Linux的线程，所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验，完全可以忽略本文的内容，因为它非常的初级。
首先说明一下，在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码：


当然，进包含一个头文件是不能搞定线程的，还需要连接libpthread.so这个库，因]]></description><category></category></item><item><title><![CDATA[Linux epoll模型]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142890792</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142890792</guid><author>2401_86940371</author><pubDate>Sat, 12 Oct 2024 22:54:45 +0800</pubDate><description><![CDATA[该程序一个简单的聊天室程序，用Linux C++写的，服务器主要是用epoll模型实现，支持高并发，我测试在有10000个客户端连接服务器的时候，server处理时间不到1秒，当然客户端只是与服务器连接之后，接受服务器的欢迎消息而已，并没有做其他的通信。LT(level triggered)：水平触发，缺省方式，同时支持block和no-block socket，在这种做法中，内核告诉我们一个文件描述符是否被就绪了，如果就绪了，你就可以对这个就绪的fd进行IO操作。程序共包含2个头文件和3个cpp文件。]]></description><category></category></item><item><title><![CDATA[Spring Security 入门原理及实战]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142862238</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142862238</guid><author>2401_86940371</author><pubDate>Fri, 11 Oct 2024 20:16:57 +0800</pubDate><description><![CDATA[之后我们介绍了spring security 是通过filter的形式在web应用中发生作用的，并列举了filter列表，介绍了入口filter，介绍了springboot是如何载入spring security入口filter的。在第一节中，我们通过在pom文件中增加spring-boot-starter-security依赖，便使得我们的项目收到了spring security保护，又通过增加SecurityConfiguration实现了一些安全配置，实现了链接资源的个性化访问控制。]]></description><category></category></item><item><title><![CDATA[微服务网关 Spring Cloud Gateway]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142861911</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142861911</guid><author>2401_86940371</author><pubDate>Fri, 11 Oct 2024 20:05:34 +0800</pubDate><description><![CDATA[API网关方式的核心要点是，所有的客户端和消费端都通过统一的网关接入微服务，在网关层处理所有的非业务功能。现在Spring Cloud中引用的还是Zuul 1.x版本，而这个版本是基于过滤器的，是阻塞IO，不支持长连接。执行所有的“pre”过滤逻辑，然后发出代理请求，最后执行“post”过滤逻辑。像Nginx这类网关，性能肯定是没得说，它适合做那种门户网关，是作为整个全局的网关，是对外的，处于最外层的；优先级最高的过滤器将会是“pre”阶段中的第一个过滤器，同时它也将是“post”阶段中的最后一个过滤器。]]></description><category></category></item><item><title><![CDATA[Spring Boot(二)：Web 综合开发]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142861744</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142861744</guid><author>2401_86940371</author><pubDate>Fri, 11 Oct 2024 19:49:27 +0800</pubDate><description><![CDATA[但实际上前端工程师的职责更多应该关注于页面本身而非后端，使用 JSP，Velocity 等传统的 Java 模板引擎很难做到这一点，因为它们必须在应用服务器中渲染完成后才能在浏览器中看到结果，而 Thymeleaf 从根本上颠覆了这一过程，通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签，例如 JSP 中的 form:input，不会在 Tag 内部写表达式。validate ：每次加载 hibernate 时，验证创建数据库表结构，只会和数据库中的表进行比较，不会创建新表，但是会插入新值。]]></description><category></category></item><item><title><![CDATA[Spring常用注解汇总]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142824010</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142824010</guid><author>2401_86940371</author><pubDate>Thu, 10 Oct 2024 16:03:16 +0800</pubDate><description><![CDATA[Spring 容器中的 Bean 是有生命周期的，Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作，您既可以通过实现 InitializingBean/DisposableBean 接口来定制初始化之后 / 销毁之前的操作方法，也可以通过  元素的 init-method/destroy-method 属性指定初始化之后 / 销毁之前调用的操作方法。答案是肯定的，我们通过 Spring 2.5 提供的@Component 注释就可以达到这个目标了。]]></description><category></category></item><item><title><![CDATA[Spring Data JPA 实例查询]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142823707</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142823707</guid><author>2401_86940371</author><pubDate>Thu, 10 Oct 2024 15:49:15 +0800</pubDate><description><![CDATA[查询时，对一个要进行匹配的属性（如：姓名 name），只能传入一个过滤条件值，如以Customer为例，要查询姓“刘”的客户，“刘”这个条件值就存储在表示条件对象的Customer对象的name属性中，针对于“姓名”的过滤也只有这么一个存储过滤值的位置，没办法同时传入两个过滤值。正是由于这个限制，有些查询是没办法支持的，例如要查询某个时间段内添加的客户，对应的属性是 addTime，需要传入“开始时间”和“结束时间”两个条件值，而这种查询方式没有存两个值的位置，所以就没办法完成这样的查询。]]></description><category></category></item><item><title><![CDATA[Spring Boot中集成Spring Security 专题]]></title><link>https://blog.youkuaiyun.com/2401_86940371/article/details/142823068</link><guid>https://blog.youkuaiyun.com/2401_86940371/article/details/142823068</guid><author>2401_86940371</author><pubDate>Thu, 10 Oct 2024 15:42:49 +0800</pubDate><description><![CDATA[当然，Spring Security明确的设计可以处理这种常见需求，但是作为替代你应该使用项目的域对象的安全能力来实现这个目标。例如在默认的安全配置中authorizeRequests()，formLogin()、httpBasic()这三个方法返回的分别是ExpressionUrlAuthorizationConfigurer、FormLoginConfigurer、HttpBasicConfigurer，他们都是SecurityConfigurer接口的实现类，分别代表的是不同类型的安全配置器。]]></description><category></category></item></channel></rss>