![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
程序员之通天帝国
这个作者很懒,什么都没留下…
展开
-
Shell_Linux Shell 中实现字符串切割的几种方法
我们在shell 脚本编程中,经常需要用到字符串切割,即将字符串切割为一个数组,类似java 中的split 函数,下面对几种常见的方式做一个总结。参考文章:shell 使用指定的分割符来分割字符串https://blog.csdn.net/lw305080/article/details/78594011目录方法一: 利用shell 中 变量 的字符串替换 方法二: 设置分隔符,通过 IFS 变量方法三: 利用tr 指令实现字符替换 (!只能针对单个分隔符)...转载 2020-10-13 11:30:57 · 3053 阅读 · 0 评论 -
ubuntu服务器创建用户并且分配磁盘空间
创建用户sudo adduser test //创建sudo adduser test sudo //给与新创建用户root权限(可选)sudo smbpasswd –a test //创建samba用户,可以方便windows访问为用户分配磁盘空间利用fdisk命令进行磁盘分区,以下是相关参数:Options:-b, --sector-size <size> physical and logical sector size-B, --protect-bo...原创 2020-06-11 14:31:22 · 5154 阅读 · 0 评论 -
linux内核文件操作
这段时间在做linux c嵌入式项目时遇到在linux内核读写文件的问题。众所周知,在内核态,不可以使用譬如用户态下的fopen等函数。这里介绍两种方法:1.普通文件例如tmp目录下demo文件,即tmp/demo利用struct file* filp_open(const char* filename, int open_mode, int mode);参数说明filenam...原创 2020-04-17 13:34:23 · 415 阅读 · 0 评论 -
#ifdef与#if defined用法的区别
#ifdef和#if defined都可以用来判断单个宏是否被定义,而且由于#ifdef比较简洁,因而得到广泛的使用,那为啥还需要#if defined呢?对于多个宏判断,就必须使用#if defined功能了,例如#ifdef A &&#ifdef B上述这种定义方式是不正常的,而应该定义成#if ( defined A) && (defin...原创 2019-07-17 09:50:56 · 2695 阅读 · 0 评论 -
编译错误error: invalid storage class
编译错误error: invalid storage class2013年02月01日 09:54:41阅读数:5809昨天遇到一个莫名其妙的编译错误,以前没有见过,而且代码流程看起来也没有太多的奇异之处。后来忍无可忍,百度了下,发现别人也有遇到这个错误的,他的解决方法是:少了“}”。嘿嘿,我开始跟踪每一个函数,终于找到了这个地方。对的。就是因为少了一个“}”。所以要注意了,仔细仔细哈。下面就是m...转载 2018-06-19 09:25:41 · 15493 阅读 · 3 评论 -
从 Linux 源码看 socket 的阻塞和非阻塞
从linux源码看socket的阻塞和非阻塞笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。一个TCP非阻塞client端简单的例子如果我们要转载 2018-04-13 09:23:30 · 224 阅读 · 0 评论 -
Linux下线程pid和tid
#include #include #include #include struct message{ int i; int j;};void *hello(struct message *str){ printf("child, the tid=%lu, pid=%d\n",pthread_self(),syscall(SYS_gettid));转载 2017-07-25 09:13:05 · 1555 阅读 · 0 评论 -
BusyBox中的FTP和TFTP的使用
BusyBox中的FTP和TFTP的使用分类: 嵌入式版本:BusyBox-1.17.4编译过程选择FTP和TFTP相关选项。TFTP在终端中输入tftp命令,可以得到以下帮助信息:BusyBox v1.17.4 (2010-12-22 10:59:18 CST) multi-call binary.转载 2017-07-10 13:43:50 · 3391 阅读 · 0 评论 -
fcntl函数对文件锁的操作
在Shell下输入man fcntl可获取函数原型#include #includeint fcntl( int fd, int cmd , struct flock *lock);这里,fd表示打开文件的文件描述符cmd在这里可取F_SETLK 设置或释放锁;F_GETLK 获取锁的属性struct flock { short l_type; shor翻译 2017-05-12 14:03:52 · 501 阅读 · 0 评论 -
iptables and ebtables
iptables和ebtables都是linux上常用的防火墙,前者主要负责网络层的数据包过滤,后者则负责数据链路层的包过滤。对于两者的语法,可以参考博文 http://blog.csdn.net/windxxf/article/details/815973 http://itoedr.blog.163.com/blog/static/1202842972012101022023796/原创 2017-05-11 09:28:24 · 1153 阅读 · 0 评论