都知道linux下shell命令很重要,但无奈使惯了windows的用户接触命令是在不感冒,不过慢慢来吧,凡事都得有一个过程。
学linux命令最好先了解一下编辑器,因为会涉及到系统文件的配置编辑,linux用的最多的当属vi,现在vi的改进版是vim,在最新的linux的版本下vi命令已经是vim命令的别名,也就是vim已经完全替代率vi,vim比vi改进的地方是增加了一些功能,主要的是代码编辑能力,比如不同编程语言的语法颜色显示等。
学习vim建议先理清它的几种模式,这样比较清晰易懂一些,可以参看《鸟哥的linux私房菜》中的讲解,比较清楚,网址 http://vbird.dic.ksu.edu.tw/linux_basic/linux_basic.php#part3。
说了这么多,开始介绍linux shell命令有关知识。
学习shell命令,想要搞清楚什么是shell,英文直译过来是“壳”,shell确实就像是操作系统的壳,负责把操作系统包起来,连接用户与系统内核。
shell的工作机制是 用户输入命令 -> shell调用相关命令对应的应用程序 -> 相关程序调用系统内核 -> 执行完成显示结果。
shell虽然没有图形界面那么直观,但是因为图形界面的封装,不同版本有所不同,反而增加了变化,而shell的相关命令基本不变,且在命令行界面下,系统的运行速度等体验要明显好于图形界面,所以如果熟悉shell命令后会明显感觉到命令行的好处。
linux shell命令的通用形式
命令 -选项 文件/目录
如:ls -a /home
ls是命令, -a是选项, /home是目录。
命令查询:man,info
man 命令
解释,man命令会查询所要查询的命令的相关用法,例如 man date,用来查询“date”命令的用法。
info命令的用法与man命令类似,但二者显示结果的方式有所区别,可亲自尝试感受之。
关机命令:sudo shutdown -h now
解释:sudo用于提升权限(关机需要root权限),-h选项表示halt,即关机选项,还有重启选项-r,即reboot缩写,now表示立即关机,在linux下可设置关机时间。
注意:关机前,请执行sync命令,改命令是用来同步你的数据,比如你正在编写的数据,可能操作系统为了速度,暂时只是将修改后的内容暂存在内存中,还没来得及写到硬盘上,所以关机前执行sync命令,可以明确告诉操作系统,如果还有此类情况,立即执行写硬盘,存数据,保证数据在关机后不会丢失。
重启命令:sudo reboot
解释:机器重启。
切换用户:su 用户名
解释:用于在命令行下切换命令,按回车执行后,会提示输入密码,然后即可以那个用户身份登录到系统。
退出当前用户:exit
解释:切换到新用户后,要退回到原先的用户,则使用exit命令。
切换工作目录:cd 目录
解释:cd即为“change directory”的缩写,用于切换用户当前所在的目录,接受绝对目录与相对目录形式。
显示目下文件:ls 目录
解释:在屏幕上显示所输入的目录下的文件与目录,shell会根据文件与目录区别颜色,该命令有选项可以显示文件与目录的详细信息,具体man ls。
显示文件内容:cat 文件名
解释:cat用于打印文件内容到屏幕上,可以规定打印的行数。
显示文件内容前几行:head 文件名
解释:显示文件的前默认行数,可以规定行数。
显示文件内容最后几行:tail 文件名
解释:使用同head命令类似。
文件编辑有不止一种方式:
1. nano,该程序可用于编辑文件,小巧方便,但功能就没有那么强大,用法:nano 文件名。
2. vim,功能强大,可用于一般文件,程序文件等的编辑。
用法:vim 文件名。
vim可以实现打开,编辑,保存,重命名,粘贴,复制,多文档编辑等操作。具体参见http://vbird.dic.ksu.edu.tw/linux_basic/0310vi_2.php。
文本字符处理:grep 选项 文件
grep支持基本正则表达式,支持扩展的正则表达式需使用grep -e,或使用egrep。
grep支持管线命令。