command [options] [arguments] []表示是可选的
,即组成结构为:命令 [选项] [参数]
man命令
是Linux下的帮助指令,经过man指令能够查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。-a
:在全部的man帮助手册中搜索-k
:根据关键字搜索联机帮助,是一种模糊搜索-f
:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息-P
:指定内容时使用分页程序-M
:指定man手册搜索的路径数字
:指定从哪本man手册中搜索帮助关键字
:指定要搜索帮助的关键字man -k
:经常使用来搜索,结合管道使用。例句以下:man -k k1 | grep k2 | grep 2
man命令
几乎是万能的,但它却不是最高效的。因为它给出的帮助信息很长,在短期内很差理解,因此在这种状况下,用cheat命令
更方便,cheat命令
简单来讲,就是告诉你一个命令如何使用。它没有提供其余额外多余的信息,只经过使用实例告诉你一个命令如何使用。grep命令
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep
全称是Global Regular Expression Print
,表示全局正则表达式版本,它的使用权限是全部用户。grep [options]
-c
:只输出匹配行的计数-I
:不区分大小写(只适用于单字符)-h
:查询多文件时不显示文件名-l
:查询多文件时只输出包含匹配字符的文件名-n
:显示匹配行及行号-s
:不显示不存在或无匹配文本的错误信息-v
:显示不包含匹配文本的全部行grep -nr XXX /usr/include(XXX为所要找的宏)
find命令
用来在指定目录下查找文件。任何位于参数以前的字符串都将被视为欲查找的目录名。若是使用该命令时,不设置任何参数,则find命令
将在当前目录下查找子目录与文件。而且将查找到的子目录和文件所有进行显示。find pathname -options [-print -exec -ok ...]
pathname
:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录print
:find命令将匹配的文件输出到标准输出exec
:find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为'command' { } \;,注意{ }和\;之间的空格ok
:和-exec
的做用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每个命令以前,都会给出提示,让用户来肯定是否执行-name
:按照文件名查找文件-perm
:按照文件权限来查找文件mtime -n +n
:按照文件的更改时间来查找文件, - n表示文件更改时间距如今n天之内,+ n表示文件更改时间距如今n天之前-newer file1 ! file2
:查找更改时间比文件file1新但比文件file2旧的文件-type
:查找某一类型的文件,诸如:b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号连接文件,f - 普通文件-size n
:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计-depth
:在查找文件时,首先查找当前目录中的文件,而后再在其子目录中查找locate命令
实际上是find -name
的另外一种写法,可是要比后者快得多,缘由在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地全部文件信息。Linux系统自动建立这个数据库,而且天天自动更新一次,因此使用locate命令查不到最新变更过的文件。为了不这种状况,能够在使用locate以前,先使用updatedb命令,手动更新数据库。locate [选择参数] [样式]
-e
:将排除在寻找的范围以外-1
:若是是1则启动安全模式,在安全模式下,使用者不会看到权限没法看到的档案。这会使速度减慢,由于 locate
必须至实际的档案系统中取得档案的权限资料-f
:将特定的档案系统排除在外,例如咱们没有到必要把proc
档案系统中的档案放在资料库中-q
:安静模式,不会显示任何错误讯息-n
:至多显示 n个输出-r
:使用正规运算式 作寻找的条件-o
:指定资料库存的名称-d
:指定资料库的路径-h
:显示辅助讯息-V
:显示程式的版本讯息whereis命令
是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis
程序还具备搜索源代码、指定备用搜索路径和搜索不寻常项的能力。whereis命令
只能用于程序名的搜索,并且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。若是省略参数,则返回全部信息。whereis [-bmsu] [BMS 目录名 -f ] 文件名
-b
:定位可执行文件-m
:定位帮助文件-s
:定位源代码文件-u
:搜索默认路径下除可执行文件、源代码文件、帮助文件之外的其它文件-B
:指定搜索可执行文件的路径-M
:指定搜索帮助文件的路径-S
:指定搜索源代码文件的路径which指令
会在PATH变量指定的路径中,搜索某个系统命令的位置,而且返回第一个搜索结果。which
是根据使用者所配置的PATH
变量内的目录去搜寻可运行档的,因此,不一样的PATH
配置内容所找到的命令是不同的。which 可执行文件名称
-n
:指定文件名长度,指定的长度必须大于或等于全部文件中最长的文件名-p
:与-n参数相同,但此处的包括了文件的路径-w
:指定输出时栏位的宽度-V
:显示版本信息linux
i
:在当前光标处进行编辑a
:在光标后插入编辑q!
:强制退出,不保存:q
:退出:wq!
:强制保存并退出:wq
:保存并退出:w <文件路径>
:另存为x
:删除游标所在的字符dd
:删除整行nG(n Shift+g)
:光标移动到第n行nyy
:复制光标所在及其后的整行共n行p
:表明粘贴至光标后:set autoindent(ai)
:设置自动缩进:set cindent(cin)
:设置C语言风格缩进:set nu
:以显示行号gcc -c 文件名.c ar rcsv libxxx.a xxx.o
gcc -o 文件名 文件名.c -L. -lxxx
//连接到静态库-L
:在库文件的搜索路径列表中添加dir目录-l
:在头文件的搜索路径列表中添加dir目录gcc -fPIC -c xxx.c
gcc -shared -o libxxx.so xxx.o
gcc -o main main.c -L. -lxxx
cp (lib+name).so /lib
gcc -g xxx.c -o xxx
gdb xxx
(gdb) l
:进行行号提示(gdb) b n
:在第n行设置断点(gdb) r
:运行代码,运行至断点处(gdb) n
:单步运行(gdb) c
:使程序继续往下运行,直到再次遇到断点或程序结束(gdb) q
:退出GDB(gdb) watch n
:在"n"设置了观察点,观察变量的变化状况b 函数名 条件表达式
b 行数或函数名 条件表达式
b 行数或函数名 if表达式
tbreak 行数或函数名 条件表达式
高深的东西,结果这种思想在上学期的Java到这学期的Linux中渐渐发生了转变,能够说是从老师的强制要求变成了我本身的一个习惯。这git
实际上是一个很重要的转变,在某种程度上说他实际上是改变了个人思惟方式,让我开始具有一种程序员的谨慎、严密,具备逻辑性的思惟。这对我之后的工做是颇有帮助的。程序员
我是挺讨厌这种方式的,因此上学期的Java也就是浑浑噩噩的度过,最后看到班里满分的同窗羡慕又无奈。这学期我看到有同窗的博客里写感受本身选错了专业,对如今的正则表达式
课程很没兴趣,想要去研究文学。其实我也曾经有过相似的烦恼,但仔细想一想,编程、代码,这些看似无聊而机械的课程其实深层次锻炼了咱们的理性思惟,扎扎实实shell
坐在电脑面前,安静本分的敲几行代码,比什么都来得实在。所以,说随遇而安也好,说浪子回头也好,反正我这学期已经在尽己所能的学习这门课程了。数据库
每周你们提的多的问题和百度不到的问题老师能够上课同一讲解,每一个人私下里问老师很麻烦,关键是不少同窗想学但惧怕问问题的时候犯低级错误。编程