linux基础知识有哪些

linux基础知识有哪些,第1张

第一阶段:linux基础入门

Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等

第二阶段:linux系统管理进阶

linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。

第三阶段:Linux Shell基础

Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。

第四阶段:Linux网络基础

第五阶段:Linux网络服务

Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。

第六阶段:Linux重要网络服务

Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。

第七阶段:Ansible自动化运维与Zabbix监控

Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。

第九阶段:大规模集群高可用服务(Lvs、Keepalived)

第十阶段:Java Tomcat服务及防火墙Iptables

第十一阶段:MySQL DBA高级应用实践

MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。

第十二阶段:高性能数据库Redis和Memcached课程

第十三阶段:Linux大规模集群架构构建(200台)

第十四阶段:Linux Shell编程企业案例实战

第十五阶段:企业级代码发布上线方案(SVN和Git)

第十六阶段企业级Kvm虚拟化与OpenStack云计算

第十七阶段公有云阿里云8大组件构建集群实战

第十八阶段:Docker技术企业应用实践

第十九阶段:Python自动化入门及进阶

第二十阶段:职业规划与高薪就业指导

一般的驱动程序是不允许应用程序调用的,只有当驱动程序留出这种供外界访问的接口才行,这种接口一般包括read,write,open,ioctl等接口,如果驱动中预留出了这些接口,就可以在应用程序中调用,比如fd=open(设备,参数)或者fd=ioctl(设备,参数),这样就会调用到这个设备驱动中的open或者ioctl函数。所以一般如果想再应用程序中调试某个驱动程序,常见的方法就是自己建立一个驱动模块,这个模块中预留出对外接口,比如ioctl。然后在你新建的这个驱动模块中完成ioctl函数,如下:

int device_ioctl(fd,argv) {

/* your function*/

}

static struct file_operations device = {

.ioctl = device_ioctl //预留外部接口

}

应用程序如下:

ioctl(device,argv);

上面这句就可以完成你的模块中ioctl中的功能。

在Linux下,系统全部能够打开的fd总数为:

/proc/sys/fs/file-max,取决于内存

The file-max file /proc/sys/fs/file-max sets the maximum number of file-handles that the Linux kernel will allocate. We generally tune this file to improve the number of open files by increasing the value of /proc/sys/fs/file-max to something reasonable like 256 for every 4M of RAM we have: i.e. for a machine with 128 MB of RAM, set it to 8192 - 128/4=32 32*256=8192.

/proc/sys/fs/file-nr 记录系统中fd的使用情况,已分配文件句柄的数目

已使用文件句柄的数目

文件句柄的最大数目 ,

单个进程能够打开的最大fd数量为 ulimit -n, 可以通过sysconf(_SC_OPEN_MAX)获取默认的进程fd打开数量。

修改fd限制可以先修改shell的ulimit -n,

或者通过setrlimit函数进行修改:

void modifyfdlimit()

{

rlimit fdLimit

fdLimit.rlim_cur = 30000

fdLimit.rlim_max = 30000

if (-1 == setrlimit (RLIMIT_NOFILE, &fdLimit))

{

printf ("Set max fd open count fai. /nl")

char cmdBuffer [64]

sprintf (cmdBuffer, "ulimit -n %d", 30000)

if (-1 == system (cmdBuffer))

{

printf("%s failed. /n", cmdBuffer)

exit(0)

}

if (-1 == getrlimit (RLIMIT_NOFILE, &fdLimit))

{

printf("Ulimit fd number failed.")

exit(0)

}

}

//printf("Hard limit: %d. Soft limit: %d", fdLimit.rlim_max, fdLimit.rlim_cur)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7321668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存