4年多前,刚到上海时报过一个关于Oracle的培训班,在那里接触到了Linux,不过一直都没真正去试着使用它。现在经过慢慢的成长,越来越觉得,Linux是每一个服务端工程师必须掌握的系统,即使是现在最为火热的.NET开源潮流,也离不开对Linux系统的学习。本系列学习将以鸟哥真神的《鸟哥私房菜》一书作为基础,最新的Ubuntu16系统(相比CentOS,其界面更加友好,使用起来比较嗨森,快乐是坚持学习的源泉哈)作为环境来进行,让我们和Linux企鹅一起飞向星辰大海吧。
Linux系列文章
Linux的内核是有Linus Torvalds在1991年在芬兰的赫尔辛基大学开发出来的,使用GLP(GNU General Public License)许可证,其代表*软件的版权,这儿的*(Free software)表示具有*度的软件,即用户可以*执行、复制、再发型、学习、修改和强化*软件,而不是强调免费(Freeware),*软件往往是通过售后服务来获得商业价值的。
对于Open Source来说,常见的授权包括:GPL,BSD(Berkeley Software Distribution),Apache License 2.0
Linux Distributions非常多,主要分为两大系统:一种是使用RPM方式安装软件的系统,如RedHat,Fedora,SuSE等;另一种就是使用Debian的dpkg方式安装软件的系统,如Debian、Ubuntu等,这儿为了学习首推Ubuntu,相关软件下载请见如下地址。
虚拟机VmWare:使用开发版的Vmware Workstation 12 Player,https://www.vmware.com/cn/products/player/playerpro-evaluation.html
Ubuntu最新版:http://www.ubuntu.com/download
Linux主要使用场景:WWW、Mail Server、FileServer等各类网络服务器;关键任务的应用,如金融数据库库、大型企业网管环境;高性能运算等。
这部分内容比较简单,主要涉及资源规划和磁盘分区等内容。由于不同设备在linux的名称各不相同,接下来通过一个简单的图表了解各类常见设备在Linux中的名称。
设备 | 名称 |
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
DVD ROM | /dev/cdrom |
在介绍磁盘分区前,先来回顾下磁盘相关知识,磁盘主要由盘片、机械手臂、磁头和主轴马达组成,数据写入到盘片中。盘片上细分出扇区Sector和柱面Cylinder,其中每个扇区为512bytes(随着固盘的增多,相关技术相对过时)。对于整块磁盘来说,第一扇区最重要,其中包含:主引导分区MBR(Master Boot Record,MBR),可以安装引导加载程序,有446bytes;分区表partion table,记录整个硬盘分区的状况,有64bytes。系统的开机主要涉及两个东西,CMOS和BIOS,前者记录各项硬件参数且嵌入在主板上,后者是主板上的固件,包含开机时主动执行的第一个程序。改程序会根据用户设置去取得能够开机的硬盘,并读取该硬盘第一扇区的MBR位置。该MBR中放置了指定操作系统最基本的引导加载程序,该程序的作用就是加载OS的内核文件。由于现在大家普遍使用云服务,至少是IAAS级别的,因此该部分内容就到此为止。比如我个人就是使用的阿里云,系统选用小规模适用的ubuntu14.0版本,具体的分区等内容已经由服务提供商处理好,只要知道通常会建立/,/boot,/home,/swap等4个分区即可,其中/boot需要强制为主分区并占据硬盘前面的位置,/swap分区为物理内存的1.5-2倍左右。
Linux常见的文件类型包括:ext2/ext3,后者支持日志记录;physical volume(LVM),可以弹性调整文件系统大小;software RAID,可以仿真磁盘阵列;vfat,同时支持windows和linux。
最后附上一些最为基本的常见命令,请见下表。
命令 | 解释 |
echo $LANG,$PATH | 输出常见环境变量 |
ls -a | 列出文件夹中内容,-a现实隐藏文件 |
date | 显示当前时间 |
[tab] | 命令、文件名补齐 |
[Ctrl+C],[Ctrl+D] | 终止命令,终止输入 |
man page,info page | 在线帮助 |
exit | 注销账号 |
sync | 数据同步到磁盘 |
shutdown,reboot,halt,poweroff | 关机,重启 |
此外,当忘记root密码时,可以在系统重启读秒时按任意键进入控制菜单,输入e进入grub编辑模式,然后再kernel那行末尾添加:空格 single即可,最后输入passwd即可并输入新密码即可。
对于ubuntu来说,通过sudo passwd可以设置root密码,可以通过如下命令默认进入命令行界面:sudo gedit /etc/default/grub, GRUB_CMDLINE_LINUX="text", sudo update-grub
参考资料:
- 鸟哥. 鸟哥的Linux私房菜基础学习篇(第三版)[M]. 北京:人民邮电出版社, 2010.
Linux快速入门01-基础概念的更多相关文章
-
JavaWeb零基础入门-01 基础概念说明
一.序言 从学校出来到实习,发现学校学的东西太过基础,难于直接运用于工作中.而且工作中,现在都以web开发为主,学校开了web开发相关课程.自己学的不够深入,所以本人自学JavaWeb开发,介于学习巩 ...
-
Git 快速入门--Git 基础
Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...
-
Linux快速入门打开你的学习之道
Linux快速入门打开你的学习之道 相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什 ...
-
Linux快速入门教程-进程管理ipcs命令学习
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...
-
Linux Capabilities 入门教程:概念篇
原文链接:Linux Capabilities 入门教程:概念篇 Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限.root 用户拥有 ...
-
一步步Cobol 400 上手自学入门教程01 - 基础概念
先学习基础概念 1.COBOL字符:包含: User-defined words 用户定义字符 System-names Reserved words 关键字 2.用户定义字符User-defin ...
-
Linux快速入门02-文件系统管理
继续进入Linux文件系统的学习,加油,早日突破MS压在自己身上的那道束缚. Linux系列文章 快速入门系列--Linux--01基础概念 快速入门系列--Linux--02文件系统管理 快速入门系 ...
-
Linux快速入门03-系统管理
这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用. Linux系列文章 快速入门系列--Linux--01基础概念 ...
-
Linux快速入门04-扩展知识
这部分是快速学习的最后一部分知识,其中最重要的内容就是源码的打包和软件的安装的学习,由于个人的Linux学习目的就是自己能在阿里云Ubuntu上搭建一个简单的nodejs发布环境. Linux系列文章 ...
随机推荐
-
WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
-
h5 audio标签在手机上不能自动播放????
最近在做一个微信端的项目,快到接近尾声的时候,发现还没放入音频,于是乎,放入音频,在电脑端测试一切正常,无阻碍. 后来在手机上测试,发现背景音乐不能播放,于是开始找错,刚开始以为是IIS服务器出错,结 ...
-
无索引状态下比较DataTable的几种过滤方法效率
先构造一个DataTable: public DataTable GetDataTable() { DataTable dtTmp = new DataTable(); dtTmp.Columns.A ...
-
ISO 基础之 (十三) protocol 协议
一 简绍 protocol,简单来说就是一系列不属于任何类的方法列表,其中声明的方法可以被任何类实现.这种模式一般称为代理(delegation)模式.通过Protocol定义各种行为,在不同的场景采 ...
-
ACM数学问题分类(汇总帖)
数论 组合数学 计算几何 博弈论 线性代数 高等数学 线性规划 概率统计
-
Cortex-M3动态加载三(模块调用系统函数)
在我的arm动态加载实验中需要解决一个模块调用系统函数的问题,可以使用以下的一个方法.将系统函数固定在某一段地址空间,然后导出这一块的符号表到符号文件中,要记载的模块link的时候使用这个符号表文件, ...
-
html问题汇总
1.textarea换行 textarea中无法使用<br/>换行,需要使用\n 2.textarea无法提交 我们知道表单中的元素需要设置name属性才能够提交,但是如果设置了disab ...
-
UPUPW本地环境配置thinkphp5的问题
问题解决参考: https://blog.csdn.net/lengyue1084/article/details/80001625 看httpd-vhosts.conf的配置: <Virtua ...
-
$digest already in progress 解决办法——续
什么时候手动调用$apply()方法? 如果AngularJS总是将我们的代码wrap到一个function中并传入$apply(),以此来开始一轮$digest循环,那么什么时候才需要我们手动地调用 ...
-
Android UI组件----自定义ListView实现动态刷新
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...