操作系统(Operating System, 简称OS):软硬件资源的管理者,他是世界上最复杂的软件。对下管理各种的硬件,对上为应用程序的运行提供一个平台。
主流的操作系统:
PC: Windows,OSX,Linux。
服务器(Server): Unix/Linux, Windows Server, OSX。
嵌入(Embedded Device)式设备:Linux,Android,VxWorks,IOS,WinCE,Windows Phone,BlackBerry,Symbian。
Linux 系统:开源免费(遵守GPL协议),任何个人或组织都能轻松获得Linux内核源码,并根据自己的需求进行修改定制,然后以一个新的名字发布为一款新的系统(比如Dj操作系统等)。这些系统统称为Linux系统的发行版本,他们统称为Linux系统。
下载Linux内核源码:kernel.org
Linux主流发行版:RedHat,Fedora,CentOS,Debian,Ubuntu,Suse,麒麟,深度(Deepin)等。
Unix系统是一个功能强大的操作系统,但它对机器的硬件配置要求很高,在低端的机器上不能正常流畅运行,比如FreeBSD,Solaris,Hp-UNIX等
Linux系统是类Unix系统,继承了Unix系统强大的功能和使用习惯,但在低端机上一样可以流畅运行
Linux系统的使用方式:
1. 桌面环境(傻瓜式,效率式,功能不够强大,很多操作无法完成)
2. Shell命令(专业强大高效,学习难度大,需要记忆一堆枯燥的命令)
和windows系统不一样,桌面环境并不是Linux内核的构成部分,它只是一个应用软件(类似QQ),可以不安装,也可以随时卸载,这样可以节省硬件资源,并且服务器通常都是远程登录使用命令进行操作,所以更没有必要安装桌面环境。
常用的桌面环境:GNOME和KDE
要想成为Linux系统骨灰级玩家,必须掌握Shell命令!
牢牢记住并且熟练运用Shell命令是王道!
按功能分类学习记忆:
1. 电源管理(即关机、重启)
poweroff:关机
reboot:重启
halt:关机
Shutdown:关机或者重启,常用参数-r表示重启,-h表示关机
不同参数之间、命令和参数之间都要用空白隔开
不是所有的命令普通用户都有权限执行的,很多命令只有root用户才能执行(通常都是那些对系统进行修改、配置或者影响比较大的命令)
su:select user(选择用户)
在Linux系统终端中,为了防止密码被偷窥,输入密码没有回显效果,不要以为键盘坏掉啦。
man:manual,命令或函数的帮助手册,在Linux世界中,有问题找man。
History:查看历史命令记录。
2. 进程(任务)管理
进程(Process):正在运行的程序或者程序的一次执行过程,操作系统通过PID(即进程ID)来标识不同的进程。
ps:process snapshot,进程快照,常用参数-e ,-aux
top:实时查看系统中的所有的进程(按q键退出top命令)
kill:杀死进程,常用参数为-9
killall:批量杀死进程
Ctrl+C组合键:结束当前正在前台执行的程序
Ctrl+Z组合键:将当前正在前台执行的程序调到后台
fg:foreground,将当前所有在后台的任务调到前台执行
bg:background,让后台所有暂停的任务继续执行(在后台执行)
&:在后台执行
clear:清屏
reset:重置终端
3. 网络配置管理
ping:检测本机和目标机器之间的网络是否通畅
ifconfig:查看和修改本机网络配置信息
netstat:查看网络状态信息
域名(Domain Name):相当于服务器的名字,他可以和IP地址进行绑定,这样就可以通过域名找到相应的机器(解析域名得到其指向的IP地址,然后通过IP地址进行通信)
IP地址:一台机器在计算机网络中的位置表示,有两种版本:IPv4和IPv6
IPv4地址是由32位二进制数据构成,采用四段点分式记法,每一段的范围是0-255
IPv6地址是由128位二进制数据构成,采用冒分16进制表示法
私有IP地址(只能用于内网,不能用于外网):
10.X.X.X 172.16.X.X-172.31.X.X 192.168.X.X
127.X.X.X为本地回环测试地址