学习Linux的心得

Linux类似于DOS。
只需了解Linux的结构,然后记录命令? ? ? =============================================================================================== =============================================================================================== =============================================================================================== =============================================================================================我不敢说我​​有成功的经历,但是有很多错误的教训。
第一点:我第二年学习了Linux。
此时安装的发行版是Redhat。
但是在开始时,声卡的驱动程序无法安装,其他图形卡(例如网络卡)都准备就绪。
但是由于没有声音,所以我没有坚持下去。
几年后,我仍然无法获得声卡,但是这次我被确定了,所以我检查了很多信息,并向很多人询问了建议。
我终于做到了。
--------摘要:无论您学习Linux还是其他知识,您的决心都必须成为一个非常重要的立场。
第二点:在过去的两年中,我对GNU中的Linux和许多开源事物产生了浓厚的兴趣。
因此,我开始详细研究Linux。
使用Linux后不久,我什至开始阅读内核代码。
但是直到今天,我还没有真正了解内核的结构,许多模块的功能和实现原理。
----------摘要:不要在错误的时间做错事。
为了详细表达它,有一些含义:》内核码从未阅读; B》不要高估您的技能;当您积累了一定数量的知识时,您必须研究更深层次的事情。
D》了解您必须带来的问题,而不是进行空洞的技术研究。
研究技术本身是一种学术风格。
第三点:Linux下包含的Linux和开放精神,文化和内涵下的开源软件;它们比Linux Core更有价值。
-------摘要:选择Linux实际上是一种文化和信仰;由于这种选择已提高到如此高的水平,因此每个比较(与其他系统)都是不可阻挡的。
至少它不会有很大的价值。
第四点:您是否回到如何学习它们的问题?我个人认为应遵循以下顺序:联系(安装分发版本)=》知道(至少了解它可以做什么)=》熟悉度(使用某些日常工作)=》理解(了解Linux在长时间使用中解决问题)=》创建(基于以前的步骤的某些改进和创新))。
当然,在此过程中有许多“作业”,并且对操作系统的了解当然非常重要。
但这不是很紧迫,因此,如果您有基础,您以后可以理解。
保护模式也适用。
我个人已经划分了这样一个学习水平:1 重要,紧急:熟悉目录结构,熟悉基本的操作命令(请注意,它是基本的),请使用文本编辑器(使用VI或EMACS(使用VI或EMACS),但不建议您学习所有人,但是我现在不再需要做,但是现在我要集中精力,我专注于vi。
GCC,GDB(实际上,学习这些东西需要一个漫长的过程,但是它们的使用在整个系统中运行。
原因是它们很好地反映了Linux的精神。
为什么它们并不紧迫的原因是它们并不真正紧急,因为它们本身是非常复杂的软件,需要消化和吸收,尽管在桌面环境中都不是在桌面环境中。
尽管GNOME和KDE都非常优雅。

使用Manjaro Linux + i3wm心得

Manjjlininix + I3 WM计划撰写文章以记录文章后3 个月。
首先,本文不是课程,而是使用它。
仅分享我的经验。
几个月前,在使用初始混乱期间,在使用熟练使用方面,技能技能技能的技能技能的使用越来越不断提高。
第一部分是Manjarolinux,第二部分是i3 WM。
Deepinlinux在使用Manjaro之前的1 个月内使用。
该界面将被stailer界面的许多最美丽,最深切的界面放置。
还有另一个重要原因。
我的蓝牙耳机Fiildiviva基本上与基本上没有连接。
但是它可以在曼贾罗(Manjaro)下使用。
作为程序员,命令行中的某些资源并未脱离墙。
如果您不使用代理,那么当某些软件是某些软件时,某些资源可能会很快。
如果使用SS作为代理,则可以使用别名为命令行构建代理。
使用setProxy为命令行设置全局代理。
使用后使用Unseetroproxy删除代理。
您可以将句子添加到.zshrc中的.zshrc。
在使用i3 WM之前,Linux桌面是GNOME,肉桂等。
KDE,XFCE等。
这些表计算机具有类似于Windows的功能。
浮动0窗口管理器。
一个窗口可以漂浮在另一个窗口中。
因此,您需要转到Alt +选项卡,以回到Windows多倍多个Windows的更改。
如果只有几个窗户,那就太好了。
如果有很多窗口,请努力地来回转动,直到您找到一个瓷砖窗口管理器i3 WM为止。
所有的i3 WM窗户均安装在台式机上,并根据您的需求铺有瓷砖或堆叠。
当您是初学者时,如果您熟悉自己,很难配置,并且会发现您熟悉自己。
如开始时提到的,放置屏幕截图。
我不编写I3 WM配置。
我建议视频课程学习的课程地址:i3 wmconfiguration附加我的配置文件地址。
:https:// gavaor/dot_files/master/master

服务器编程心得(四)—— 如何将socket设置为非阻塞模式

在服务器编程中,非屏体模式下的套接字设置是提高性能的关键技术之一。
实现此功能的方法在不同的操作系统上有所不同。
在Windows平台上,使用套接字()或WSASOCH()函数创建的插座设置为blocning模式。
相反,当使用Linux平台上的socket()函数创建插座时,您可以通过在类型参数中设置sock_nonblock flag来创建非块套接字。
例如:在Linux上,您可以通过在sock_nonblock上设置sock_nonblock标志来创建一个非烧结模式的套接字。
由Windows和Linux平台上的Accept()函数返回的套接字也处于阻止模式,但是Linux提供了一个额外的Accept()函数,该功能可以直接设置以非屏幕模式返回的插座。
要实现该方法,只需在sock_nonblock上设置Accept4 function()参数的最后一个标志即可。
除了在创建套接字时设置非覆盖模式外,还可以通过调用特定的API函数来实现。
在Linux平台上,您可以使用FCNTL()或IOCTL()函数来更改相机锁定属性。
例如:通过调用fcntl()函数或ioctl()函数,可以将Linux平台上的套接字设置为非屏蔽模式。
在设置非屏幕模式时,有必要确保在接收和发送数据时使用MSG_DONTWIT标志,即在调用volvfrom函数时,何时调用,发送和发送linux手册的指示,根据Linux手册的指示,通过MSG_DONTWIT WIFFICENT或ISSNIDEF的标识位的设置或通过snestificative of sidefiept of nestifife fiffice fiffice fiffice of sideifie fiffictive five i is viffictive fiffice fiffice fiffice fiff ins nestifife of nestifie fiffice。
足以实现非块操作,而无需同时设置两种方法。
在Windows平台上,可以通过调用ioctlscket函数来更改套接字模式。
在fionbio上设置CMD参数,并在0或不是0上设置参数 *argp,以便可以在锁定模式下或非烧毁模式下分别设置握把。
应该注意的是,如果您在拨打WSAASYNCSELECT()或套接字中的WSAASYNCSELECT()或WSAASYNCSELECT()或WSAASYNCSELECT()之后,尝试在非屏体模式下设置套接字,则将无法。
要解决此问题,首先有必要通过在0参数上设置Levent或在0上设置LNNTWORKEVENTS参数,然后在0上设置LNNTWORKEVENTS参数,然后拨打IOCTLSOCKETCOOCT(),然后拨打ioctlsocket(),以在阻止模式下设置插座。
在实际项目中,一些前任可以在周期中调用fcntl()或ioctlsocket()以更改套接字块模式。
但是,如果有必要,它仍然有待验证。
建议读者根据实际需求和项目需求选择适当的方法。
如果您想系统地学习上述知识,建议阅读Yin Shengyu的书“ TCP/IP网络编程”,同时考虑了Windows和Linux平台,使用C语言和SocketPI操作系统,它可以帮助读者了解基本概念和网络编程的实现方法。
有关 - 深度框架和网络项目的更多信息,您可以通过您的老师来参考“ Linux High Performance Server的编程”一书。
此外,作者还发表了一本书“ C ++服务器开发的本质”,涵盖了从Windows到Linux的客户端体验摘要,包括C ++开发,编译和调试技术,多保存编程,对网络的了解,设计,设计协议通信,通信协议的设计,高性能网络框架的设计。
有关本书的更多信息,请咨询相关连接。

跪求一份linux下网络编程的学习心得

我在早上阅读了这篇文章:================================您已经研究了计算机部门的基本课程,例如数据结构,操作系统,建筑,收集原理和计算机网络。
我认为它可以大致分为从低到高的4 个阶段。
从安装中读取=> linux的常规命令,并使用=> linux系统编程=> karnell开发内核源代码。
在学习Linux的常规命令时,您应该学会自己编译内核,适应系统并调整参数。
有很多关于安装和通用订单的书籍。
如果您得到更多详细的书,则需要学习正则表达式。
建议进行系统编程。
“高级Unix环境编程”,称为Apple。
目前还有“ UNIX网络编程”,您需要阅读信息以了解精灵文件。
CMU的格式,连接器和加载程序的教科书称为中文中的“深入了解计算机系统”。
真正的Vikas Vikas Karnell源代码阶​​段开始阅读驱动程序,逐渐加深Linux内核开发。
参考书如下所示,“ linxadevicedrivers”,“ linuxkerneledlendence”,“ Barberian”称为LKD,“理解LinnaxCarnell”,“ Barburion”,“ Barburion”称为UTLK,“ Linux源代码和解分析”这些书是四本书。
最后,第三和第四阶段是最重要的。
虚词这是没有用的,如果没有做任何事情,您就无法理解这些事情。
学习Linux/UNIX编程方法的建议。
建议的学习路径:首先,学习编辑器,VIM,AMAC等,然后学习Makefile文件,然后了解一点,以便您可以准备程序。
然后查看“ C编程语言”的末尾,以便您基本上可以执行正常的编程,顺便说一下,您可以找到此数据结构簿要阅读。
如果您想学习UNIX/Linux编程,那么“猿”是一本绝对经典的教科书,可以加深您的技能,并学习第二次“ UNP”。
这样,您基本上可以掌握系统。
然后,请参阅Douglas.com的第1 卷“使用TCP/IP进行Internet互连”以了解网络,然后查看“ UNP”的第一卷。
您不仅学习网络编程,而且还熟悉了一些系统编程的一些常见技术。
如果您继续进行网络编程,建议您查看“互联网互连”的“ TCP/IP”的第三卷,并使用诸如Telnet和FTP之类的应用程序进行编程。
如果您想编写设备驱动程序,则首先应该熟悉系统编程文件,IPC等的界面,然后学习“ LDD” 2 bore of Classic of Elassial of Elassial thand。
编程教科书,作者是C的发明者,尽管它有点旧,但它很容易理解教科书的内容。
如果我读了它,我会取得一些成就。
此外,也可以更换谭汉肯(Tan Hakiang)的“ C语言编程”。
W. Richard Stevens:“ Unixnovation中的高级编程”:这也是一本非常经典的书(废话,史蒂文斯的书不是经典!)。
尽管初学者可以阅读它,但实际上是“ Unixnatework编程”的配件材料。
“ UNIX环境高级编程”的国内翻译不是很好。
现在有一个影印版,因此与中文相比,直接阅读英语更容易。
“ Unixnetwork编程” W. Richard Stevens:第1 卷BSDSocte谈论网络编程接口和另一种类型的网络编程接口,但是现在通常使用BSDSocte,因此您只能阅读本书的一半。
第二卷不是为网络设计的,主要是在谈论过程间通信和POSIX线程。
因此,看到“应用程序”后,您可以看到它。
最初,系统配件由“ app”和“ UNP”第2 卷简介。
阅读“ ump”后,即使卷讨论了1 个网络编程。
在中国,tsinghua翻译了“ unix网络计划”,即使卷谈到了1 个网络编程。
“ TCP/IP Jiangji”中的协议,第2 卷实施和第3 卷是关于3 个编程应用程序的谈判。
我还没有看到太多。
,但据说这是非常经典的,因为我没有时间阅读第2 卷,因此对其进行评估是不方便的。
“将TCP/IP用于Internet互连” Douglas.com总共有三卷,包括第1 卷的原理,第2 卷的实施以及第3 卷的高级协议。
看来它比史蒂文斯之一更好,甚至史蒂文斯也必须接受其第一卷非常经典。
实际上,即使您在第一卷中对互联网的了解很少,但是阅读后,您也会知道互联网的整个故事。
第一卷具有许多练习,并且实际上是因为作者本人是老师,而第一部分是外国研究生的教科书。
练习没有答案,所以我让他们为读者思考,因为问题的答案可以使您成为中级黑客。
这些问题的答案可能像道格拉斯,但他只给教师第2 卷。
我读的内容不多。
第3 卷可以用作参考手册,示例也非常经典。
如果您已经阅读了Q -Term的源代码,您会知道,Q -Term Telnet的大部分实现都是从本书的源代码中获取的。
对于网络原则的书,我建议史蒂文斯(Stevens)而不是“ TCP/IP摘要”。
“操作系统 - 设计安装”是一本关于操作系统的书,使用Minics的一个例子。
作者的原始语言不是英语,因此英语看起来不清楚。
中国“操作系统设计和实施”的翻译。
我从来没有读过中文版本,因为翻译是您的jynyuan。
“应用程序”的翻译使我失望。
阅读本书后,您将对基础操作系统的工作方式有清晰的了解。
“ Linuxdevicedriver” 2 E,这是有关Linux设备驱动程序的一些好书之一。
但是,材料有些混乱。
如果您没有编写驾驶员的经验,那么您第一次看到它会有些困惑。
我对中国的第二版,第一个版本和第二版的“ Linux设备驱动程序”的第二版有深刻的了解。
但是,总的来说,尽管第二版的翻译有些不令人满意,但它比第一个版本要高得多。
要阅读本书,您应该找到一些有关至少“计算机原理”和“计算机架构”的书,以便粗心地阅读它们,至少您应该对硬件和计算机工作过程有所了解。