最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
root@RPM /sys$ ls class
backlight i2c-dev net spi_master
bdi input power_supply tps65910-pwrkey
block lcd pwm tty
devfreq leds regulator ubi
display mbox rfkill udc
firmware mdio_bus rtc usb_device
gpio mem scsi_device vc
graphics misc scsi_disk video4linux
hwmon mmc_host scsi_host vtconsole
i2c-adapter mtd sound
5. /sys/block
该目录下的所有子目录代表着系统中当前被发现的所有块设备。按照功能来说放置在/sys/class下会更合适,但由于历史遗留因素而一直存在于/sys /block,但从linux2.6.22内核开始这部分就已经标记为过去时,只有打开了CONFIG_SYSFS_DEPRECATED配置编译才会有 这个目录存在,并且其中的内容在从linux2.6.26版本开始已经正式移到了/sys/class/block,旧的接口/sys/block为了向后兼容而保留存在,但其中的内容已经变为了指向它们在/sys/devices/中真实设备的符号链接文件。
root@RPM /sys$ ls block/
loop0 loop3 loop6 mtdblock0 mtdblock3 mtdblock6 mtdblock9
loop1 loop4 loop7 mtdblock1 mtdblock4 mtdblock7
loop2 loop5 mmcblk0 mtdblock2 mtdblock5 mtdblock8
6. /sys/bus!!!
该目录下的每个子目录都是kernel支持并且已经注册了的总线类型。这是内核设备按照总线类型分层放置的目录结构,/sys/devices中的所有设备都是连接于某种总线之下的,bus子目录下的每种具体总线之下可以找到每个具体设备的符号链接,一般来说每个子目录(总线类型)下包含两个子目录,一个是 devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备**都是符号链接,它们分别指向真正的设备(/sys/devices/下);**而drivers下是所有注册在这个总线上的驱动,每个driver子目录下 是一些可以观察和修改的driver参数。
root@RPM /sys$ ls bus/
i2c mdio_bus platform sdio usb
iio mmc scsi spi
应用1:msp700中计算电池电压
PipeADC5 = popen(“cat /sys/bus/iio/devices/iio\:device0/in_voltage5_raw”, “r”);
应用2:改变提醒等级
echo 6 > /proc/sys/kernel/printk;
应用3:msp700中设置背光
echo 20 > /sys/class/backlight/pwm-backlight/brightness;
等价于:
echo 20 > /sys/bus/platform/devices/pwm-backlight/backlight/pwm-backlight/brightness;
7. /sys/fs
【空】
按照设计,该目录使用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。
8. /sys/kernel
root@RPM /sys$ ls kernel/
debug mm profiling uevent_seqnum
fscaps notes uevent_helper
这个目录下存放的是内核中所有可调整的参数。
9. /sys/firmware
这里是系统加载固件机制的对用户空间的接口,关于固件有专用于固件加载的一套API,在附录 LDD3 一书中有关于内核支持固件加载机制的更详细的介绍;
10. /sys/module
该目录下有系统中所有的模块信息,不论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件),都可能出现在/sys/module中。即module目录下包含了所有的被载入kernel的模块。
root@RPM /sys$ ls module/
auth_rpcgss lockd rfkill tea5761
block loop scsi_mod tea5767
can mailbox snd tuner_simple
cpuidle mmc_core snd_pcm tuner_xc2028
cryptodev mmcblk snd_pcm_oss ubi
cryptosoft mousedev snd_timer ubifs
d_can mt20xx soundcore usb_storage
d_can_platform mtdoops spurious usbcore
dns_resolver nf_conntrack sunrpc vt
g_mass_storage nf_conntrack_ipv4 tcp_cubic xc4000
hostap nfs tda18271 xc5000
input_polldev ocf tda827x xz_dec
kernel oprofile tda8290
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!