谈如何学习Linux

2万字系统总结,带你实现 Linux 命令自由?还不赶紧进来学习 2万字系统总结,带你实现 Linux 命令自由? ##前言 Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux 机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。 如果本文对你有所帮助,请点个???? 吧。 作者使用的是阿里云服务器 ECS (最便宜的那种) CentOS 7.7 64位。当然你也可以在自己的电脑安装虚拟机,虚拟机中再去安装 CentOS 系统(这就完全免费了)。至于它的安装教程可以去谷歌搜索下,相关教程非常多。 ##Linux 基 阅读详情

 

一.为什么要学linux?

当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!

二.起步

你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
问题1:版本的选择

北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux
开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上
而应集中精力学习最有用的东西。

//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,
Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮

如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到
linux上这种需要,那么中软,红旗等中文linux是不错的选择

我强烈建议:自己亲自动手把linux装到你的硬盘上,
你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单

从此现在开始,请不要以windows的工作方式来考虑问题,
应该尝试挖掘linux身上的“天才unix”的气质。

三.进阶
掌握至少50个以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面环境操作
掌握.tgz.rpm.biz等软件包的常用安装方法
学习添加外设,安装设备驱动程序(比如modem)
熟悉Grub/Lilo引导器及简单的修复操作
熟悉系统固有目录的名称及公用
学会用mount命令访问其他文件系统
了解vi,gcc,gdb等常用编辑器,编译器,调试器
学习linux环境下的简单组网

建议:买一本不需要太厚的linux教材,大致可以满足要求
//现在的书越来越多了,还带很多图,我当时可没这么多书:)

四.高级应用

澄清一些概念:
linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识

我个人认为比较重要几种linux语言
1.英语
即使你不学linux,我也强烈建议你学好英文[U.S.english]
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装
你必须能无障碍的阅读大量的英文技术文档
在搜索引擎找到的英文网站和网页中熟练的检索
最好能有用英文直接交流的能力,
摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距

2.shell[sed/awk]
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat
但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell
几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上
这也是CS中的一个重要思想。
此外,shell可以实现工作自动化,这个概念也比较重要
sed,awk用来处理文本,历来很常用

3.Perl/PHP
漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.C/C++
C、C++是linux/unix的核心语言,系统代码都是C写的

5.ASM
系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要
//走核心路线的话,才c/c++,asm最重要

6.Java,Python,Tcl,XML

*系统管理篇
在熟悉linux的基础上还需要掌握至少一种unix
我首推Solaris,其次是FreeBSD
比如运营级系统一般是Solaris+Oracle/DB2之类的
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind 等各种应用服务器的构架及电子商务的应用
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群
等各种企业级应用解决方案
熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复
系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能

我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员

各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内
搜索引擎寻找最新文档,以避免错误和漏洞
有几本技术大全和技术内幕我认为都是这方面不错的书

*深入学习linux

我个人理解的读linux内核需要的基础:
在此之前,希望先把应用层的东西学一下,那样会比较好理解
1.C
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),
建议再看一下
《The C Programming Language》Second Edition这本圣经
/*如果想学缓冲区溢出,这点C的功力可能是不够的*/
还有,,,
反正经典书看多了是没有坏处的

2.asm (AT&T语法,保护模式)
保护模式下的比较复杂,基本上每本讲内核的书都会有介绍
有80x86 Intel语法的基础就行,
有兴趣可以看看Intel的官方****

3.数据结构(离散数学)
计算机专业的核心课程,重要性我就不说了

4.操作系统原理
看懂这个再去读linux吧

5.微机原理/组成原理(数字电路)
底层直接和硬件打交道,所以这个也要

6.了解linux/unix
我想至少你要会操作吧,了解unix的API

7.软件工程/编译原理

这方面的经典书去www.china-pub.com可以搜到很多
我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧

APUE:
《advanced programming in the unix environment》
《unix环境高级编程》
作者:W.Richard.Stevens共有6本经典书,尊为“圣经”
他的书为全世界黑客所拜读!

UPE:《unix programming environment》
《unix编程环境》比较适合初学者的,深入浅出,
其中有一些比较重要的思想

另外,介绍linux下应用层编程的书也有很多,比如
,redhat,redflag出的书...........
经典书还有很多很多......
操作系统:设计与实现 //交大的考研参考书目,讲Minix的 unix操作系统设计

4.4BSD操作系统设计与实现
昂莱氏unix源代码分析
ulk:understanding the linux kernel (2nd)深入理解linux内核
linux设备驱动程序 (2nd)
linux内核源代码情景分析
保护方式下的80386及其编程

Linux专家谈如何学习Linux,以及Linux的职业发展 记得最早接触linux是在2002年,那个时候,还在上大学,曾经为安装一个系统让我们忘记疲劳,挑灯夜战,不亦乐乎。那时如果会安装一个Linux系统也是可以走进不少女生宿舍,哈哈。那时Linux的学习资料还很少,能够学习的书籍也不多,网上Linux技术社区也很少,就凭着Redhat6.2自带的几页使用说明开始了学习linux的生涯。 转眼间,10几年过去了,我也与Linux相伴了10多年,10年间,随着虚拟化、云计算时代的来临,Linux迅猛发展,在服务器领域已经占据半壁江山,而基于Linux的运维也面临新 阅读详情

相关推荐

linux学习书籍推荐linux学习书籍推荐

网上看到的,做个标记。没研究过,仅供参考 linux编程学习 inux 学习书目推荐 Linux基础 1、《Linux与Unix Shell 编程指南》 C语言基础 1、《C Primer Plus,5th Edition》【美】Stephen Prata著 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kern...

小白的逆袭 6132

浅谈如何学习linux

作者:不详来源:网络一.为什么要学linux? 当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好! 二.起步 你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux 开发人员中用debian的

9643

4.4BSD操作系统设计与实现

BSD Unix分支的经典版本,是研究unix操作系统内核的基础,后续分支如FreeBSD、Linux都从该版本继承或借鉴了很多设计思想

Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

Linux 基础操作系统什么是 LinuxLinux 系统内核与 Linux 发行套件的区别系统内核指的是由负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。发行套件系统是我们常说的 操作系统,也即是由 内核与各种常用软件的集合产品。总结:真正的 指的是系统内核,而我们常说的 指的是 “发行版完整的包含一些基础软件的操作系统”。Linux 对比 Windows1.稳定且有效率;2.免费(或少许费用);3.漏洞少且快速修补;4.多任务多用户;5.更加安全的用户与文件权限策略;6.适合小

bigbangbangbang1的博客 26万+

mcam9.1中英切换完整汉化支持win7

mcam9.1中英切换完整汉化支持win7

GNU make中文手册 徐海兵

本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的。系统、详细讲述make的中文资料比较少,出于对广大中文Linuxer的支持,本人在工作之余,花了18个多月时间完成对“info make”的翻译整理,完成这个中文版的书册。 阅读本文的几点建议: 1. 如果之前你对GNU make没有了解、而当前也不想深入的学习GNU make的读者。你只需要阅读本文各章前半部分的基础知识。 2. 如果你已经对GNU make比较熟悉,可能你更需要关心此版本的一

初学者如何系统性地学习Linux?

1. Linux的诞生Linux由林纳斯 托瓦兹在1991年创立并发展至今成为服务器操作系统领域的核心系统。2. 什么是Linux系统的内核内核提供了Linux系统的主要功能,如硬件调度管理的能力。Linux内核是免费开源的,任何人都可以查看内核的源代码,甚至是贡献源代码。3. 什么是Linux系统发行版内核无法被用户直接使用,需要配合应用程序才能被用户使用。在内核之上,封装系统级应用程序,组合在一起就称之为Linux发行版。发行版众多,课程主要基于CentOS辅以Ubuntu进行讲解t=N3I4。

黑马程序员官方博客 1335

拆开华为BBU5900,看看5G基站的大脑里到底装了啥?

本文深度拆解华为BBU5900,揭示5G基站核心处理单元的硬件架构与设计哲学。通过详细解析模块化设计、智能电源系统和动态散热方案,展现其支撑千兆速率、毫秒级时延的技术奥秘,为5G网络部署提供实用参考。

weixin_31456563的博客 559

用Clang+LLVM打造你的第一个C++编译器:从AST到自定义Pass实战

编译器是连接源代码与机器码的桥梁,而LLVM作为模块化编译基础设施,将传统编译器拆分为前端、优化器和后端三部分。Clang负责将C++源码解析为AST,再生成LLVM IR,中间表示(IR)的SSA形式和控制流图让深度优化成为可能。通过编写自定义Pass,开发者能在IR层面注入专属优化逻辑——例如函数入口插桩或死代码消除,这是构建静态分析工具和定制DSL编译器的核心路径。从环境搭建、基于LibTooling遍历AST,到用opt加载插件,并解决macOS与Windows高频报错,完整的实战链路能帮助C++开

weixin_34203832的博客 222

STM32标准库下载保姆级教程:2024最新官网免注册直接下载方法

本文提供2024年最新STM32标准库免注册下载方法,包括直接下载链接、GitHub镜像仓库和开发工具内置库三种途径。详细介绍了标准外设库的优势、配置步骤及常见问题解决方案,帮助开发者快速获取并应用这一重要开发资源。

weixin_29163581的博客 366

Mongodb操作与Java(四)MongoTemplate的使用

MongoTemplate的使用

A乐神的博客 3437

谈如何学习linux (转)

一.为什么要学linux? 当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好! 二.起步 你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux 开发人员中用debian的最多,其次是redhat,从全球...

奋斗 128

用OpenPose进行单个或多个人体姿态估计

在计算机视觉中,人体姿态估计(关键点检测)是一个很常见的问题,在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,本文要使用的检测方法就是基于OpenPose的人体姿态估计方法。 一、OpenPose简介 OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络(CNN)和监督学习(SL)并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿...

weixin_42709563的博客 8404

谈如何使用新工具,以 Linux Mint 为例(2)

如图,各位已看到,此为 Linux Mint 的官方使用手册,仅仅只是一个关于 Mint 使用说明的模块,在官网还有更为全面详细的其他模块,对 Mint 进行系统而整体的说明、介绍、使用、安装等。 所以啊,我劝劝那些小白,或是刚入行的初级程序员们,别一个劲的闷头在网上各种搜索,少走弯路,多看看《谈如何使用新工具,以 GitHub 等为例》这篇文章,多看看官网正版而全面地详解,要舍得花时间,自己学来的才是自己的。 我不会上链接的,已经说得很透了,最后一层窗户纸,得靠自己去撕开。上面截图中的官方用户指南,在官.

YanShun_Java的博客 385

STM32 W5500 Freemodbus Modbus TCP协议功能实现

STM32F103VCT6 W5500(SPI1),实现Modbus-TCP协议的功能

坚韧与专注 2万+

WinClaw安全实战 02|五层纵深防护体系全解析:从原理到实操,打造零风险AI智能体

2026年AI智能体爆发式普及,OpenClaw以27.3万GitHub星标成为现象级工具,但恶意Skill投毒、提示词注入、数据外泄等安全事故频发,国家互联网应急中心、工信部等多部门接连发布风险警示。威努特基于国家关键信息基础设施安全防护经验,打造WinClaw安全版AI智能体,其核心竞争力在于**五层纵深防护体系**。本文从安全痛点切入,通过真实事故案例揭示风险本质,全景解构五层防护的架构设计与技术原理,逐层拆解身份认证、安装审查、消息拦截、执行约束、监控审计的实现逻辑,搭配20+实操演示、对比表格

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 495

Linux内核学习路线 学习linux内核的建议

学习linux内核,这个可不像学一门语言,c或者java一个月或者3月你就能精通掌握。学习linux内核是需要一步一步循序渐进,掌握正确的linux内核学习路线对学习至关重要,本篇文章就来分享学习linux内核的一些建议吧。 1. 了解操作系统基本概念。如果不会,可以学习《操作系统:设计与实现》Andrew S.Tanenbaum 写的那本。以MINIX为例子讲解操作系统的概念。非常推荐。 2...

Areigninhell的博客 8681

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 616

如何学习linux?linux学习步骤

第一部分:LINUX平台搭建与环境熟悉 了解Linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。1、Linux 简介;2、Linux 系统的主要特点;3、Linux 的组成;4、主要的 Linux 版本;5、 嵌入式 Linux简介与发展第二部分虚拟机安装和LINUX系统安装1、虚拟机安装;2、 Linux系统的安装;3、 Linux系统的常用软件的安装;4、 Linux快速入门5、熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell...

zzxyd_qiao的博客 2253

KEPServerEX 6 之驱动协议(UDD)实战 HTTP协议对接OpenWeatherMap天气 API全流程指南

本文分享了基于 KEPServerEX 6 的通用设备驱动(UDD)对接OpenWeatherMap天气API的实战方案。该方案针对工业物联网场景进行了深度优化,具有动态城市切换、运行时热配置、老旧JS引擎兼容等核心特性。文章详细介绍了从环境准备、脚本部署到Tag配置的全流程,重点解析了Legacy JS语法适配、Float类型安全处理等关键实现细节,并提供了完整的避坑指南和故障排查方法。该方案经过生产环境验证,可稳定实现气象数据采集与动态切换功能,适用于SCADA/MES系统集成场景。

-雲飛兄-博客 712

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

学习linux的目的/如何学习?

关于linux linux有什么特殊性? ————————————————————————————————————————————————————————————— 其实LINUX主要两大亮点: 1、开源(免费) 相对于windows系统需要购买,而linux是免费的。免费就会降低厂商成本,厂商可以基于linux内核进行包装,像国外的centos\redhat\ubuntu\我国的红旗乃至麒麟都基...

weixin_44911366的博客 2048

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

我是如何学习 Linux 的?

** 来,先领取阿里云限量红包 ** 为何要学习 Linux? 这个问题可能困扰着很多 Linux 初学者和爱好者,其实我也说不上来为何要学习 Linux,可能最实在的理由就是----Linux 相关工作岗位很多。在“见到” Linux 的第一面并不会感觉到此物有多么惊艳和神奇,但经历了漫长的学习和接触之后,你会发现它是如此的让人神往和愉悦。 那么,如何才能学好Linux呢? 第一、抱着良好的...

粗浅的入门功夫 3870

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

学习linux心得,linux学习心得范文

下面学习啦小编整理了几篇优秀的linux学习心得文章,希望能给现在正在学习的linux的朋友们一些帮助linux学习心得范文一本学期对于linux系统的学习,让我对linux有了一定的了解。我知道了linux只是个内核。现在的linux操作系统,都是用这么一个内核,加上其它的应用程序构成的。linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一,使其在金融、安全等部...

weixin_32224199的博客 1万+

学习linux源码

今日在论坛中看到大牛谈如何学习Linux内核,于是摘录的部分,以备之后的学习: Txt代码   现在自己的书架上以后lkd2+ldd3+情景分析,再加上它ulk3,书架的linux kernel的四库全书已经凑齐,很充实。    lkd2:属于在总体上给你一个轮廓和框架;先看一遍有个总体把握,过后再精读;    ldd3:工作时必不可少的书籍,我们组就买了3

siperbob的专栏 1246
上一篇: 唐义良博士在IBM 2007 SOA与企业成长高峰论坛上发表演讲
swjava
博客等级 码龄19年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值