完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
随着
Linux
应用的扩展许多朋友开始接触
Linux
,根据学习
Windwos
的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习
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
、
adduser
、
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
图书,而且出版社还提供了一个非常好的路线图
四、选择一个适合你的
Linux
发行版本:目前全球有超过
1
百多个
Linux
发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,
Redhat Linux
和
Debian Linux
是网络管理员的理想选择。对于英语不是很好的读者红旗
Linux
、中标
Linux
这些中文版本比较适合。现在一些
Linux
网站有一些
Linux
版本的免费下载,这里要说的是并不适合
Linux
初学者。
五、 养成在命令行下工作: 一定要养成在命令行下工作的习惯,要知道
X
-
window
只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。
六、 选择一个适合你的
Linux
社区: 随着
Linux
应用的扩展,出现了不少
Linux
社区。其中有一些非常优秀的社区:
www.edu118.com
,但是这几个论坛往往是
Linux
高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
七、勤于实践: 要增加自己
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
社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
十、用
Unix
思维学习
Linux
:
Linux
是参照
Unix
思想设计的,理解掌握
Linux
必须按照
Unix
思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
十一、学习专业英文:如果你想深入学习
Linux,
看不懂因为文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看
README,
再看
INSTALL
然后看
FAQ,
最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
十二、最后是
Linux
学习的路线图:
1.
掌握至少
50
个以上的常用命令。
2.
熟悉
Gnome/KDE
等
X-windows
桌面环境操作 。
3.
掌握。
tgz
、。
rpm
等软件包的常用安装方法
4.
学习添加外设,安装设备驱动程序(比如网卡)
5.
熟悉
Grub/Lilo
引导器及简单的修复操作 。
6.
熟悉
Linux
文件系统和目录结构。
7.
掌握
vi,gcc,gdb
等常用编辑器,编译器,调试器。
Linux
下编程,主要是选用一个文本编辑工具(如
vi eclipse nano gedit
等)编写,再用
GCC
编译链接,最后用
gdb
调试。
8.
理解
shell
别名、管道、
I/O
重定向、输入和输出以及
shell
脚本编程。
9.
学习
Linux
环境下的组网。
十三、深入学习
linux
的大致方向
1.
文件系统:
linux
的相关的系统设定,各种
linux
环境下的软件的使用与调试。这类知识是基础,但并不简单,学好了,绝对可以当讲师的。
2.
网络服务:
linux
这种类
UNIX
的操作系统其另一个作用域是网络服务器。
linux
本身自带几乎所有网络上的用得到的服务,可以充当任何网络服务器,比如
DNS
、
DHCP
、
ftp
、
NFS
、
Proxy
等等。而且其特点是,所有这些服务的配置与设定都可以通过文本形式的配置文件进行配置。所以学好
linux
下网络服务的配置与使用,完全可以当
CIO
(首席信息官)了,因为已经具备
linux
网络工程师的能力了。
3.
软件设计:
linux
是开源的大环境,也是较原始的编成环境,其下的
C/C++
、
PHP
等都是比
windows
下更纯语言。但
linux
下高级的开发环境较少,不像
VC
等工具好使,所以
linux
下的软件工程师要具备的知识更多。要是学好了
linux
下的软件设计,也算编成是高手了。
linux
这三大块知识的学习不相互影响,但也有相互依赖和促进的作用,想深入某一个领域,不见得要其它领域都掌握,但建议也对其它领域也有所涉及,会有事半功倍的效果。
十四、学习嵌入式
linux
的三个方向
1
、嵌入式
linux
应用软件开发
2
、
linux
内核的剪裁和移植
3
、嵌入式
linux
底层驱动的开发
无论选择哪一方向,基本的
linux
的知识是需要具备的,其他还需要掌握的知识有
ARM
(最常用的一款嵌入式处理器)和
C
语言编程,每一方面知识的掌握熟练程度都最终决定了个人进行嵌入式
linux
开发的综合能力。
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4790 浏览0 评论
87195 浏览0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4480 浏览2 评论
3443 浏览2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2377 浏览0 评论
1673浏览3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1235浏览1评论
944浏览1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1037浏览0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1095浏览0评论
小黑屋|手机版|Archiver|德赢Vwin官网(湘ICP备2023018690号)
GMT+8, 2024-9-1 11:46, Processed in 1.145517 second(s), Total 72, Slave 55 queries .
Powered by德赢Vwin官网 网
© 2015bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号