若是使用GUI,Linux和Windows没有什么区别。Linux学习应用的一个特色是经过命令行进行使用。javascript
登陆Linux后,咱们就能够在#或$符后面去输入命令,有的时候命令后面还会跟着选项
(options)或参数
(arguments)。即Linux中命令格式为:html
command [options] [arguments] //中括号表明是可选的,即有些命令不须要选项也不须要参数
选项
是调整命令执行行为的开关,选项
不一样决定了命令的显示结果不一样。java
参数
是指命令的做用对象。linux
如ls命令,ls
或ls .
显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的能够省略。咱们能够用ls -a .
显示当前目录中的全部内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的内容,以下图所示:正则表达式
以上简要说明了选项及参数的区别,但具体Linux中哪条命令有哪些选项及参数,须要咱们靠经验积累或者查看Linux的帮助了。shell
不论学习编程仍是Linux命令,掌握帮助文档的使用都是很重要的,是触类旁通的重要途径。 man
是manul的缩写,咱们能够经过man man来查看man
的帮助,以下图:编程
帮助文档包含:vim
1 Executable programs or shell commands(用户命令帮助) 2 System calls (系统调用帮助) 3 Library calls (库函数调用帮助) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd(配置文件帮助) 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard]
解释一下:数据结构
1是普通的Linux命令 2是系统调用,操做系统的提供的服务接口 3是库函数, C语言中的函数 5是指文件的格式,好比passwd, 就会说明这个文件中各个字段的含义 6是给游戏留的,由各个游戏本身定义 7是附件还有一些变量,好比向environ这种全局变量在这里就有说明 8是系统管理用的命令,这些命令只能由root使用,如ifconfig
其中1,2,3是咱们学习的重点,区别你们练习一下就知道了,好比printf是C语言的库函数,也是一个Linux命令,你们尝试一下man printf
,man 1 printf
,man 3 printf
,体会一下区别。函数
知道printf 命令也好,printf函数也好,查找帮助文档都很容易。man
有一个-k
选项用起来很是好,这个选项让你学习命令,编程时有了一个搜索引擎,能够触类旁通。 咱们经过一个例子来讲明,好比数据结构中学过排序(sort),我不知道C语言中有没有完成这个功能的函数,能够经过“man -k sort”来搜索,由于是找C库函数,咱们关注带3的,qsort好像是个好选项,以下图:
结合后面学习的grep 命令和管道,能够多关键字查找:
man -k key1 | grep key2 | grep key3 | ...
以下图,能够更好的找到qsort:
man 虽然很重要,但有些命令看了帮助还不会用,初学者须要例子,cheat就是这个身边的小抄。 cheat 命令不是Linux自带的,你们参考这篇文章(英文版)安装,实验楼课程实验系统中已经安装了。
cheat是做弊,小抄的意思。
cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令全部的选项和简短但尚可理解的功能。
使用cheat命令做弊是能够的。:)
和查找相关的核心命令还有find
,locate
,grep
,whereis
,which
,其中:
上面的命令包括man -k有一个共同特色就是基于“搜索”,学好了能够触类旁通,你们重点学习,掌握了他们,其余命令就能够自学了。你用 “man find”, “cheat find”试试。