linux汇总?linux最好用的系统
Linux基础知识汇总
Linux核心版本
Linux核心版本有两种:稳定版和测试版,Linux内核版本号由3组数字组成:A.B.C例如:3.10.0-327.el7.x86_64
第一组数字3:目前发布的内核主版本。
第二组数字10:次版本,偶数表示稳定版本;奇数表示开发中版本。
第三组数字0:错误修补的次数。
Linux发行版本
Linux其实就是一个操作系统最底层的核心及其提供的核心工具。采用GNUGPL授权模式,任何人都可以从官网获得原始代码核心程序,并且可以修改。为了让使用者能够更好的使用Linux,于是很多的商业公司或非营利团体和社区组织,在Linux内核Kernel基础上开发各自独有的工具程序用于方便的安装/管理Linux系统,并封装成ISO文件。这就是Linuxdistribution,一般中文翻译成Linux发行版。如下图:
发行版的选择问题
根据计算机的主要用途来分,个人建议:
个人的桌面计算机:如果你想要尝试新功能,建议你使用炫酷的Fedora/Ubuntu桌面环境的版本!
个人或教学用的服务器实验环境:如果你的服务器所在环境服务器对宕机没有很高的要求的话,那么可以选择使用完全兼容商业版RHEL的CentOS。因为CentOS是抓RHEL的源码来为苊的一个发行版本。
企业生产环境:在企业生产环境的服务器操作系统还是建议你选择商用版本,例如RedHat的RHEL或者是SuSE都是很不错的选择!毕竟企业的生产环境要求的是可持续的高可用的业务运行状态,商用发行版本稳定性高,提供相应的商业支持,所以可以降低企业的风险喔!
最后给出一些学习Linux的建议
1.选择一本好书,一本好的工具书是你快速腾飞的翅膀。
2.从基础理论学起,枯燥的理论的掌握会给你Linux学习之路带来意想不到的好处。
3.掌握Linux的安装和基本命令,学会Linux系统的强大的vi文本编辑器和Shell脚本。
4.学会分享积极参加社区问题解答和讨论,这是一种积极的正能量。
5.不断实验,遇到问题不慌张,学会求助,北京IT培训认为man、社区、度娘是你解决问题的法宝。
Linux常用系统管理命令
一、 top
1.作用
top命令用来显示执行中的程序进程,使用权限是所有用户。
2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要参数
d:指定更新的间隔,以秒计算。q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。c:显示进程完整的路径与名称。S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。s:安全模式。i:不显示任何闲置(Idle)或无用(Zombie)的行程。n:显示更新的次数,完成后将会退出top。
4.说明
top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。
图1 top命令的显示
在图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。
PID(Process ID):进程标示号。USER:进程所有者的用户名。PR:进程的优先级别。NI:进程的优先级别数值。VIRT:进程占用的虚拟内存值。RES:进程占用的物理内存值。SHR:进程使用的共享内存值。S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。%CPU:该进程占用的CPU使用率。%MEM:该进程占用的物理内存和总内存的百分比。TIME+:该进程启动后占用的总的CPU时间。Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
空格:立刻刷新。P:根据CPU使用大小进行排序。M:根据使用内存大小进行排序。T:根据时间、累计时间排序。q:退出top命令。m:切换显示内存信息。t:切换显示进程和CPU状态信息。c:切换显示命令名称和完整命令行。W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
5.应用实例
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。
图2使用top命令监视指定用户
二、 free
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
2.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要参数
-b-k-m:分别以字节(KB、MB)为单位显示内存使用情况。-s delay:显示每隔多少秒数来显示一次内存使用情况。l-t:显示内存总和列。-o:不显示缓冲区调节列。
4.应用实例
free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
#free-m-s 3
使用这个命令后终端会连续不断地报告内存使用情况(以MB为单位),每3秒更新一次。
三、 kill
1.作用
kill命令用来中止一个进程。
2.格式
kill [-s signal|-p ] [-a ] pid…
kill-l [ signal ]
3.参数
-s:指定发送的信号。-p:模拟发送信号。-l:指定信号的名称列表。pid:要中止进程的ID号。Signal:表示信号。
4.说明
进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。
kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。
5.应用实例
(1)强行中止(经常使用杀掉)一个进程标识号为324的进程:
#kill-9 324
(2)解除Linux系统的死锁
在Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的PID,然后使用kill命令停止这个程序:
#kill-SIGKILL XXX
其中,XXX是包含有Mozolla浏览器的程序的进程标识号。
(3)使用命令回收内存
我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用(Zombie)的进程,此时可以使用下面命令:
#kill-9 XXX
其中,XXX是无用的进程标识号。
然后使用下面命令:
#free
此时会发现可用内存容量增加了。
(4)killall命令
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:
# killall-HUP inetd
四、查看磁盘盘剩余空间 df (df-h)
用法:df [选项]… [文件]…
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。
长选项必须用的参数在使用短选项时也是必须的。
-a,–all 包括大小为 0个块的文件系统-B,–block-size=大小块以指定大小的字节为单位-h,–human-readable 以容易理解的格式印出文件系统大小(例如 1K 234M 2G)-H,–si 类似-h,但取 1000的次方而不是 1024-i,–inodes 显示 inode信息而非块使用量-k 即–block-size=1K-l,–local 只显示本机的文件系统–no-sync 取得使用量数据前不进行 sync动作(默认)-P,–portability 使用 POSIX输出格式–sync 取得使用量数据前先进行 sync动作-t,–type=类型 只印出指定类型的文件系统信息-T,–print-type 印出文件系统类型-x,–exclude-type=类型 只印出不是指定类型的文件系统信息-v (此选项不作处理)
汇总:
top -c
free -m
kill -9 2312(说明:强制杀死进程 kill -9 pid)
df -h
Linux 命令行常用快捷键及汇总
常用快捷键:
Tab键:完成命令、文件名补全。
Ctrl+ c:取消当前输入命令。
Ctrl+ z:后台运行。
Ctrl+ l:清屏,相当于执行 clear命令。
Ctrl+ s:暂停当前终端。
Ctrl+ q:恢复当前终端。
Ctrl+ a:光标移动到行首,等同 Home键。
Ctrl+ e:光标移动到行尾,等同 End键。
Alt+ f:光标向前移动到下一个单词。
Alt+ b:光标往回移动到前一个单词。
Ctrl+ u:删除光标左边至行首的所有字符。
Ctrl+ k:删除光标到行尾的所有字符。
Ctrl+ w:删除光标左边至所在单词首的所有字符或光标左边至前一个单词。
Alt+ d:删除光标右边至所在单词尾的所有字符或光标右边至后一个单词。
Ctrl+ y:复制上一次删除或剪切的条目。
Alt+ u:将光标右边至所在单词尾的字母转换为大写。
Alt+ l:将光标右边至所在单词尾的字母转换为小写。
Alt+.:在光标处输入最近历史命令的最后一个字符串。
Ctrl+ r:依据用户输入匹配查找历史命令。
Ctrl+ g:退出历史搜索模式。
!num:执行历史记录中第 num条命令,num正整数为正序,负数为反序。
快捷键汇总:
Bang(!)命令:
!!:输出并执行最近已执行过的命令。
!num:执行历史记录中第 num条命令。
!num:p:输出第 num条命令,不执行。
!num:gs/str1/str2/:将第 num条命令中的 str1替换为 str2。
!string:输出最近执行过的以 string开头的命令。
!?string?:输出最近执行过的以 string开头的命令。
!string:p:输出最近执行过的以 string开头的命令。
^abc:删除最近执行命令中的 abc,执行命令。
\^foo\^bar:将最近执行命令中的 foo替换为 bar,执行命令。
!$:执行最近执行命令中的最后一个参数。
!*:执行最近执行命令中的所有参数。
!*:p:输出最近执行命令中的所有参数。
移动光标:
Ctrl+ a:光标移动到行首。
Ctrl+ e:光标移动到行尾。
Ctrl+ xx:在输入的命令行首与行尾切换跳转。
Ctrl+ f:光标向前移动一个字符。
Ctrl+ b:光标向后移动一个字符。
编辑命令:
Tab键:命令、文件名补全。
Ctrl+ d:删除一个字符。
Ctrl+ h:退格删除一个字符。
Ctrl+ u:删除光标左边至行首的所有字符。
Ctrl+ k:删除光标到行尾的所有字符。
Ctrl+ w:删除光标左边至所在单词首的所有字符或光标左边至前一个单词。
Alt+ d:删除光标右边至所在单词尾的所有字符或光标右边至后一个单词。
Ctrl+ y:复制上一次删除或剪切的条目。
Ctrl+ t:光标在行尾时,交换前两个字符位置;否则交换光标处字符与前一字符位置,并光标向右移动。
Alt+ t:交换光标所在单词与前一个单词位置;交换其前后两个单词位置;交换其前最后两个单词位置。
Alt+ u:将光标右边至所在单词尾的字母转换为大写。
Alt+ l:将光标右边至所在单词尾的字母转换为小写。
Alt+.:在光标处输入最近历史命令的最后一个字符串。
查找历史命令:
Ctrl+ p:调出前一条命令。
Ctrl+ n:调出下一条命令。
Ctrl+ r:依据用户输入匹配查找历史命令。
控制命令:
Ctrl+ c:取消当前输入命令。
Ctrl+ s:暂停当前终端。
Ctrl+ q:恢复当前终端。
Ctrl+ z:后台运行。
Ctrl+ l:清屏并重新显示当前命令行内容。
控制终端:
[Ctrl]+ [Alt]+ [Delete]:关机并重新引导系统。
[Ctrl]+ [Alt]+ [Fn]/ [Alt]+ [Fn]:切换虚拟终端。
[Alt]+ [Tab]:在图形化桌面环境中切换任务。
[Ctrl]+ [Alt]+ [Backspace]:杀死当前 X会话,返回登录会话。
其它快捷键:
Esc键:显示所有的支持的终端命令。
Esc+ b:移动到当前单词的开头。
Esc+ f:移动到当前单词的结尾。
Esc+ t:颠倒光标所在处及其相邻单词的位置。
Esc+ d:删除单词,直到单词结束,往右侧(还有剪切功能)。
Esc+ c:使下一个单词首字母大写,光标前进一个单词。
Esc+ u:使下一个单词所有字母大写,光标前进一个单词。
Esc+.:上一个命令的后面的参数。
Esc+操作次数操作动作:指定操作次数,重复执行指定的操作。