本文思维导图:
@TOC
Tips:
*号匹配。 功能:可以匹配任何东西。比如:可以看到,*号可以匹配任何东西,
2.ctrl + c指令:终止因为程序或者指令异常,而导致我们无法进行指令输入。
3.Linux下一切皆文件
对于显示器来说,显示器文件有写方法(fwrite),有读方法(fread),但是读方法为空。 对于键盘文件来说,键盘文件有读方法(fread),有写方法(fwrite),但是写方法为空。 对于普通文件,则也都有正常的读写方法。
7.man指令(重要):
语法:man [选项] 命令 功能 :man指令相当于手册,可以查询一些指令的用法 比如:man ls ,查询ls指令的相关用法
常用选项: -k 根据关键字搜索联机帮助 num 只在第num章节找 -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。 解释一下,面手册分为8章 1 是普通的命令 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件) 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 6 是给游戏留的,由各个游戏自己定义 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
echo指令和输出重定向,追加重定向,输入重定向
echo指令可以把后面的内容原封不动地显示出来。 本质是echo指令向显示器中打印,所以还可以向文件中打印内容。
语法: echo "内容" > 指定文件
echo指令会自动换行 通过echo介绍一个新概念: 什么是输出重定向? 比如:
echo ”Hello World“ > code.c
echo本来是将"Hello World"写入到显示器文件的,但是通过 > 后,重定向写入到了 code.c文件中。 重定向过程中,会做两件事情:
1.清空文件 2.写入新内容
相当于每输出重定向一次,旧的内容就会被覆盖。
1.清空文件有一种简化的写法:
(大于号)> + 文件名
2.创建新文件可以使用 > + 文件名
(输出重定向)> + 文件名
而追加重定向就是,直接在文件内容的末尾继续进行写入,不清空文件。
比如:
echo ”Hello World“ >> code.c (变成了两个 >>)
输入重定向
cat < out.c
将out.c文件的内容输入到cat指令中,cat指令再输入到显示器文件中。
8、cp指令(重要)
cp指令:
语法:cp 选项 src dest (原文件和目标文件不能相同) 功能:将src文件的内容拷贝到dest文件中。 可以拷贝到上级目录,也可以拷贝到下级目录。使用绝对路径或则相对路径即可实现。
常用选项: -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
9.mv指令(重要)
mv指令:
mv 选项 src dest 功能:1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。 2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。 3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
注意:mv指令本质上就是剪切+重命名
只不过当我们仅仅移动到上级目录时,mv把src文件/目录的名字改成了自己的名字;当我们从当前目录移动到当前目录时,直接剪切到当前目录,并将名字改成原来的名字。
注意:如果将一个目录移动到上级目录,并且想将该目录重命名为新的名字,但是这个新名字在上级目录已存在,此时不再是将这个原来的目录移动到上级目录然后重命名成新名字了,而是将该目录移动到上级的新的名字的那个目录里面了。
此时dir1直接别剪切到了dir11里面,而不是剪切到上级目录并且改名成dir11.
即为上面所述的功能的第三点。
10.cat指令
语法:cat [选项][文件]功能: 查看目标文件的内容 常用选项: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行
注意:cat 指令和 ll 指令和echo 指令是三个完全没有关系的指令。
cat指令是将文件内容写入到显示器文件中ll指令是将文件属性写入到显示器文件中 echo指令是把它后面的东西写入到显示器文件中
11.more指令
语法:more [选项][文件]功能:more命令,功能类似 cat 常用选项: -n 对输出的所有行编号 q 退出more
12.less指令(重要)
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。 less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。 选项: -i 忽略搜索时的大小写 -N 显示每行的行号 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) q:quit
什么是管道指令?
"|" 是管道,是一种符号,会被系统解释为“管道文件“。 一个进程或者程序将数据内容写入到管道文件中,另一个文件进程或数据再从这个管道文件中读取出来,这个过程就是管道指令需要做的。
一般管道文件先加载到内存缓存中修改后再加载回磁盘文件。
到底什么是指令?
1.指令的本质是可执行程序,和我们自己写的代码编译好生成的可执行程序没有本质区别。
指令的本质就是一个文件——可执行程序文件,安装在系统的某种路径下罢了。
总结
本文讲述了几个指令和一些小贴士,后续会跟进指令(3)。