⑴ 如何快速有效的掌握linux系统
一、从基础开始:
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。
二、Linux命令是必须学习
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子:Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合 exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间.
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:
安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
三、选择一本好的工具书
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的“O'Reilly原版Linux图书http://www.oreilly.com.cn/ ”,而且出版社还提供了一个非常好的路线图:http://www.oreilly.com.cn/guide/guide_linux.php 见图-1。
四、选择一个适合你的Linux发行版本
目前全球有超过1百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,Redhat Linux 和Debian Linux是网络管理员的理想选择。对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些 Linux版本的免费下载,这里要说的是并不适合Linux初学者。
五、 养成在命令行下工作:
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。
六、 选择一个适合你的Linux社区;
随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/(中国最大的Unix技术社区),但是这几个论坛往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。推荐适于初学者的Linux社区: www.linuxgo.org
红旗联盟论坛:http://www.linuxdiyf.com/
七、勤于实践:
要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可,其中一台计算机最好安装Windows系统。自己多动手,不要非要等着别人帮你解决问题。
七、 如何得到联机帮助
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
1. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
2. 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
八、在Linux论坛获取帮助
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
下面笔者在论坛看到的一个好问题:“安装红旗4.0 后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练,笔者五分钟后就给出了解决方法:“首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini ,最后重启动计算机,生成新的unispimsp.ksc”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢” 这样的问题我想即使Linux高手也很难快速准确精练的回答你。
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他Linux社区请求帮助也是一种选择。如果得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
另外发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
9.用Unix思维学习Linux
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
10.学习专业英文
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
11.最后是Linux学习的路线图:
1. 掌握至少50个以上的常用命令。
2. 熟悉Gnome/KDE等X-windows桌面环境操作 。
3. 掌握.tgz、.rpm等软件包的常用安装方法
4. 学习添加外设,安装设备驱动程序(比如网卡)
5. 熟悉Grub/Lilo引导器及简单的修复操作 。
6. 熟悉Linux文件系统 和目录结构。
7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器 。 www.linuxgo.org
8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
9. 学习Linux环境下的组网。
⑵ linux应该如何去学习
1、想要学习好Linux就要将它当成兴趣,兴趣才是最好的老师。良好的兴趣才是学习成功好的开始,想要学习好首先就要足够喜欢它。我们要了解市场上Linux的发展势头,了解Linux的相关情况,相信学习好Linux一定要是非常不错的选择。
2、学习合适的Linux发行版本,在开始学习Linux之前,首先就是选择一个适合自己的版本,Linux旗下发行版本有服务器版本以及桌面版本,而且桌面版本也可以做服务的,为了以后找工作需要的。常见的Linux发行版本有centos
redhat ubuntu等。
3、选择好Linux学习版本之后,还需要合适的学习资料以及内容,可以到相关的Linux社群看看专业人员的学习机器以及学习手册,了解真正相关的知识。
4、学习Linux架构以及命令,linux下都是通过命令来执行的,要学会用man和命令帮助,熟悉各种常见命令的操作。
5、学习shell脚本,对于专业的Linux人员来说,shell脚本是必须要掌握的。shell脚本是linux下强大的工具,可以通过各种命令组合完成自己的工作,提升自己的工作效率。
⑶ OVS+Linux Vxlan组网
因为科研需要做些小实验,涉及到交换机的网口数据的镜像转发。之前疫情在家首孙使用一台本地虚拟机搭建OVS并作为KVM宿主机,OVS搭建网桥,OVS新建虚拟机并使用指定网桥。因为KVM中的虚拟机需要更改内核并重新编译,所以过程确实很繁琐。这次学校内的“私有云”搭建好了,所以准备用OVS+Linux Vxlan组网的形式把实验重新做一遍。
我的实验需要将两台实验机和一台测试机,三个服务器进行组网。这里使用了三台2核4G的Centos 7.6的虚拟机
在前面查资料的时候发现,网上很多教程或者案例要不是两头都是Linux ip link来组网,要不就是两边都是OVS,使用OVS来组网。在我的场景里,两边都使用Linux ip link的话,不能很好地进行流量镜像转发,两头都是OVS的话虽然也可以,但是过于繁重了,所以我们的实验是一边是OVS,另一边是Linux ip link进行点对点的Vxlan组网。测试机作为虚拟交换设备承载OVS,两台实验机分别和测试机进行点对点的Vxlan组网。
Client1 :eth0 ip:10.122.0.22/16
Clinet2 :eth0 ip:10.122.3.152/16
Test(Server) :eth0 ip:10.122.1.103/16
Firewalld Status :Stop
三台机器的eth0网卡互通
管理 VXLAN 接口
Linux VXLAN 接口的基本管理如下:
创建点对点的 VXLAN 接口:
上面这条命令创建一个名字为 vxlan0,类型为 vxlan 的网络 interface,后面是 vxlan interface 需要的参数:
id 4100 :指定 VNI 的值,这个值可以在 1 到 2^24 之间,互联的两端的ID必须保持一致,相当于一根网线的两头
dstport :vtep 通信的端口,linux 默认使用 8472(为了保持兼容,默认值一直没有更改),而 IANA 分配的端口是 4789,且OVS默认的Vxlan通信端口也是4789,所以我们这里指定了它的值为4789
remote 10.122.1.103 :对方 vtep 的地址,类似于点对点协议
local 10.122.0.22 :当前节点 vtep 要使用的 IP 地址
dev eth0 :当节点用于 vtep 通信的网卡设备,用来读取 IP 地址。注意这个参数和 local 参数含义是相同的,在这里写出来是为了告诉大家有两个参数存在
创建多播模式的 VXLAN 接口:
多播组主要通过 ARP 泛洪来学者扰链习 MAC 地址,即在 Vxlan 子网内广播 ARP 请求,然后对应节点进行响应。group 指定多播组的地址。
查看 VXLAN 接口详细信息:
启动/关闭网卡
给指定网卡分配ip
Client1和Client2分别建立一个Vxlan0的网卡, remote address 为 Test 机器 eth0 网卡的地址 10.122.1.103 , local adress 为本地服务器的 eth0 网卡的地址。
这个时候使用 ip a 命令就可以看到两个新的 vxlan0 的网卡了。
给两个网卡配上IP并启动
到这一步相当于两根网线的一头插在了两台虚拟机上了,接下来就需要把这两个网线的另一头都插到交换机上就可以了。可以使用 ip r 命令看看,在新建网卡的时候,路李团由也自动加上了。
这个时候先给Test服务器上的vxlan0网卡配上IP并启动就可以了。
这个时候相当于把一根网线一头插在 Test 的网口上,另一头插在 Client1 的网卡上。看一看 Test 也自动生成了路由,可以进行 ping 命令检测点到点Vxlan是否建立成功。
这里大致思路就是在Test服务器上利用OVS搭建一个网桥,然后把两个vxlan网卡加到这个网桥就可以啦。
这里不要忘记手动更改路由,删除之前vxlan0和vxlan1的路由,把所有192.168.0.0/24的指向br0网桥就可以了。
到这里就可以进行ping测试了。后面的实验就是对网桥上port的操作,就不多说了。
[参考] https://juejin.im/post/6844904126539628557
[参考] https://cizixs.com/2017/09/28/linux-vxlan/
⑷ 向看过<鸟哥的linux私房菜(服务器架设篇)>的高人求助,如何模拟书中相关的组网,路由设置,动态
这个,你可能要装Virtualbox 虚拟机了
⑸ Linux下双网卡NAT组网
最近在Linux下有两个WiFi模组(一个为2.4GHz,另一个为2.4GHz+5GHz双频),刚好路由器为2.4GHz的,而其他接收设备在2.4GHz下数据处理不稳定,想切换为5GHz尝试,故而将两个WiFi模组同时连接告和到PC上(通过USB接口),当驱动都加载答孙成功时会映射出wlan0和wlan1,关于AP和STA的配置部分在此清友链不说明,下面主要说明下如何让wlan0(2.4G,连接外网,作STA)和wlan1(双频,连接内网,作AP)进行IP转发操作,其实也很简单,只需要执行如下命令即可:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
其中第一条命令很重要,作用是打开IP转发功能,然后接下来三条命令是添加路由规则(后两条就够了)。
参照http://www.revsys.com/writings/quicktips/nat.html文章,上面的语句应改为:
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
⑹ IT培训分享linux学习误区解析
随着互联网的不断发展,linux系统的普及率也在不断的提高,今天,我们就举正一起来了解一下,在学习linux技术的时候,都有哪些误区的存在。
误区一:开发应用比较困难
这种说法在三年前还有一定的道理。过去,使用传统工具为Linux开发应用程序比较困难。传统的GCC和Emacs难以学习,而且不能达到企业级开发者所需要的高效程度。而现在Linux有一个功能完备的、可视化的、快速的编程工具—Kylix,它彻底解决了这个问题。Kylix采用Win32开发者熟悉的“拖放”方式来设计所见即所得的用户界面,极大地提高了Linux平台上GUI应用程序(尤其是商业和企业的数据库应用)的开发效率,使得难以计数的Win32商业应用被移植到Linux平台上。
误区二:只适用网络
Linux几乎是网络的代名词,在网络上有庞大的Linux支持者队伍。随着越来越多的Linux厂商的加入(目前Linux版本已有188个),它的应用已经从网络扩展到几乎所有IT领域,从数据库、企业级Office、电子商务软件、网络管理、RAS(可靠性、可用性和可服务性)计算,到计算机辅助设计制造(CAD/CAM)、电影特技模拟等各个方面。随着Linux新版本的不断推出,性能也在大幅度提高,全球各地许多企业已开始应用Linux操作平台或服务器来处理庞大的资料。
误区三:仅适合中小型企业
一直以来都有这样一个误区:Linux既然是开放源代码,因此其大的特点就是比WindowsNT等操作系统便宜,这就让闷使得它的应用只局限于小公司。事实并非如此,Linux的组网能力非常强大,它的TCP/IP代码是高级的。Linux提供了对于当前TCP/IP协议的完全支持,并且包括了对下一代Internet协议IPv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。这些特性可以与Cisco等公司提供的高端路由设备的特性相媲美。这些应用案例证明了Linux绝对具有延展性,有能力执行关键的应用程序,并可满足资料高负载流量的处理需求(甚至是先进的超级运算工作)。
误区四:Linux市场无利润
Linux是免费的,那么是不是意味着在Linux市场就不会有利可图?回答是否定的。Linux厂商可能不会因发行操作系统而得到很多利润,但他们可以在Linux平台上进行开发来得到利润。IT培训发现如Linux服务器厂商的利润在于服务器是软件和硬件的结合体,它的功效和价值的体现来自于正滑悔这个结合体,而不是独立的软件和硬件。况且Linux服务器的硬件中已经含有了一定的利润,而Linux的免费对厂商来说是个降低成本的条件。另外Linux厂商在手机、PDA产品(Linux嵌入式开发应用的典型例子)中就有很大的利润空间。
⑺ linux zigbee怎么组网
我本科的毕业设计也是做ZigBee的,实现一个果园环境监控系统。我讲讲我做这个毕业设计的基本思路和学习方向,希望对题主有帮助。
1、硬件
对ZigBee协议有基本了解的都知道,它只是一种协议,类似于TCP/IP协议,很雹腔多嵌入式平台(如ARM、Linux等)都可以实现。比较主流的用于构建ZigBee拓扑网络的嵌入式平台是CC2530/2430系列单片机,它们是TI公司专门设计用于搭建ZigBee网络的芯片,内置强大的ZigBee协议栈支持。CC2530/2430基于C51开发的,所以片上资源和接口和C51/C52系列单片机类似,学懂了51单片机,学这个也很简单了。
所以要搭建ZigBee网络,首先要搞懂CC2530/2430的硬件资源(只做APP层基本可以不用深入理解指令集)。从最小系统入手,电源电路、晶振电路、复位电路等,以及一些嵌入式基本通信协议,如iic、spi、RS232/485等,还有AD/DA模块,这个用于温度传感器(模拟的)数据采集。
2、软件
ZigBee协议栈的底层都是TI公司已经设计好了的,自组网、网络拓扑、路由、发送/接收数据包等,这些网络操作都封装好并提供给用户编程接口,直接在APP层调用就行,若只做简单开发无需深入了解物理层和链路层,只要通过开发文档把这些需要用到的编程接口弄明白(类似于C语言的封装库,只管调用,不管实现)。
还有就是传感器编程(如题中所述的温度传感器),这种传感器市面上太常见了,基本都是通过iic或者其他通信协议直接读数字信号,连数模转换都不需要,源代码网上都一搜一大堆,直接拿过来用就行,稍微调一下接口和时序什么的。
3、网络拓扑
由于底层自组网的特性,我们只要简单地了解组网、路由、鉴权空肆昌、发/收包等基本内容(应付答辩啊),因为底层的封装实现……你想看都看不到,只能通斗扒过官方文档大概知道它是怎么处理的。除了APP层,其他的交给协议栈来做吧。
⑻ 如何学习linux
对于Linux的学习,想要系统的学习,就需要一套完整的教程,可以是一本权威的书籍,也可以是一套完整的视频教程,只要内容完整,再加上您的激情,相信是很容易学好的!
对于Linux的学习,可以重点学习以下内容:
一、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等。
学完以上内容,基本上可以成为Linux工程师,想要进一步深造,就需要在实践中摸索并提升,一般3至5年才可精通Linux运维,因此,贵在坚持!
⑼ 会windows组网,要不要再学习linux组网
Linux组网比Windows组网复杂,原因是Linux需要谨郑使用很散宴多命令来完成
好处是更加了解网络的祥掘颂原理