Linux课程知识点总结(二)

七、Shell实用功能

7.1 命令行自动补全

在Linux系统中,有太多的命令和文件名称需要记忆,使用命令行补全功能[Tab]可以快速的写出文件名和命令名

7.2 命令历史记录

在操作Linux系统的时候,每一个操作的命令都会记录到命令历史中,在以后可以通过命令历史查看和使用以前操作的命令。

bash启动的时候会读取/.bash_history文件,并将其载入到内存中,$HISTFILE变量就用于设置/.bash_history文件,bash退出时也会把内存中的历史记录回写到~/.bash_history文件中。

使用history命令可以查看命令历史记录,每一条命令前面都会有一个序列号标示。

命令语法:

history [选项]

7.3 命令排列

如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。

(1)使用“;”

使用“;”命令时先执行命令1,不管命令1是否出错,接下来就执行命令2。

命令语法:

命令1; 命令2;命令3;命令4

(2)使用“&&”

使用“&&”命令时只有当命令1正确运行完毕后,才能执行命令2 。

命令语法:

命令1 && 命令2 && 命令3 && 命令4

(3)使用“||”

命令1 || 命令2 ||命令3 || 命令4

7.4 命令替换

在Linux系统中,Shell命令的参数可以由另外一个命令的结果来替代,这种称之为命令替换。

1.使用“$( )”

命令语法:

命令1 $(命令2)

2.使用 “``

命令语法:

命令1`命令2

7.5 命令别名

在需要执行某一个非常长的命令时,所有的命令以及命令的选项、参数都要一一输入,很枯燥也容易出现错误。可以为常用命令定义快捷方式,这些快捷方式可以用比较简单的命令别名来定义。

1、创建别名

使用alias命令可以为命令定义别名。如果命令中有空格的话,就需要使用双引号(比如在命令与选项之间就有空格)。

命令语法:

alias [别名]=[需要定义别名的命令]

2.取消别名

当用户需要取消别名的定义时,可以使用unalias命令。

命令语法:

unalias [别名]

7.6 文件名匹配

文件名匹配使得用户不必一一写出文件名称就可以指定多个文件。这将用到一些特殊的字符,称之为通配符。

1通配符“*”

“*”可匹配一个或多个字符。

2通配符“?”

在匹配时,一个问号只能代表一个字符。

7.7 管道

Linux系统的理念是汇集许多小程序,每个程序都有特殊的专长。复杂的任务不是由大型软件完成,而是运用Shell 的机制,组合许多小程序共同完成。管道就在其中发挥着重要的作用,它可以将某个命令的输出信息当作某个命令的输入,由管道符号“|”来标识。

命令语法:[命令1] | [ 命令2] | [ 命令3]

7.8 重定向

希望将命令的输出结果保存到文件中,或者以文件内容作为命令的参数,这时就需要用到重定向。重定向不使用系统的标准输入端口、标准输出端口或是标准错误端口,而是进行重新的指定。

重定向有四种方式:输出重定向、输入重定向、错误重定向以及同时实现输出和错误的重定向。

错误重定向,即将某一命令执行的出错信息输出到指定文件中。

命令语法:

[命令] 2> [文件]

另外一种特殊的错误重定向是错误追加重定向,即将某一命令执行的出错信息添加到已经存在的文件中。

命令语法

[命令] 2>> [文件]

同时实现输出和错误的重定向,即可以同时实现输出重定向和错误重定向的功能。

命令语法:

[命令] &> [文件]

八、Vi编辑器

进入插入模式:

命令 功能
i 从光标当前所在位置之前开始插入
a 从光标当前所在位置之后开始插入
I 在光标所在行的行首插入
A 在光标所在行的行末尾插入
o 在光标所在的行的下面新开一行插入
O 在光标所在的行的上面新开一行插入
s 删除光标位置的一个字符,然后进入插入模式
S 删除光标所在的行,然后进入插入模式

光标移动:

命令 功能
↑键(向上箭头 ) 使光标向上移动一行
↓键(向下箭头 ) 使光标向下移动一行
←键(向左箭头) 使光标向左移动一个字符
→键(向右箭头 ) 使光标向右移动一个字符
k 使光标向上移动一行
j 使光标向下移动一行
h 使光标向左移动一个字符
l 使光标向右移动一个字符
nk 使光标向上移动n行,n代表数字
nj 使光标向下移动n行,n代表数字
nh 使光标向左移动n个字符,n代表数字
nl 使光标向右移动n个字符,n代表数字
H 使光标移动到屏幕的顶部
M 使光标移动到屏幕的中间
L 使光标移动到屏幕的底部
Ctrl+b 使光标往上移动一页屏幕
Ctrl+f 使光标往下移动一页屏幕
Ctrl+u 使光标往上移动半页屏幕
Ctrl+d 使光标往下移动半页屏幕
0(数字0) 使光标移到所在行的行首
$ 使光标移动到光标所在行的行尾
^ 使光标移动到光标所在行的行首
w 使光标跳到下一个字的开头
W 使光标跳到下一个字的开头,但会忽略一些标点符号
e 使光标跳到下一个字的字尾
E 使光标跳到下一个字的字尾,但会忽略一些标点符号
b 使光标回到上一个字的开头
B 使光标回到上一个字的开头,但会忽略一些标点符号
( 使光标移动到上一个句首
) 使光标移动到下一个句首
{ 使光标移动到上一个段落首
} 使光标移动到下一个段落首
G 使光标移动到文件尾(最后一行的第一个非空白字符处)
gg 使光标移动到文件首(第一行第一个非空白字符处)
space键(空格键) 使光标向右移动一个字符
Backspace键 使光标向左移动一个字符
Enter键 使光标向下移动一行
Ctrl+p 使光标向上移动一行
Ctrl+n 使光标向下移动一行
n| 使光标移动到第n个字符处,n代表数字
nG 使光标移动到第n行首,n代表数字
n+ 使光标向下移动n行,n代表数字
n- 使光标向上移动n行,n代表数字
n$ 使光标移动到以当前行算起的第n行尾,n代表数字

命令模式命令:







Linux课程知识点总结(二)的更多相关文章

  1. Linux课程知识点总结(一)

    Linux课程知识点总结(一) 一.Linux系统的简介 1.1 什么是Linux Linux是一个免费的多用户.多任务的操作系统,其运行方式.功能和Unix系统很相似,但Linux系统的稳定性.安全 ...

  2. 14门Linux课程,打通你Linux的任督二脉!

    Linux有很多优点:安全.自主.开源--,也正是这些优点使得很多人都在学Linux. 虽说网上有大把的Linux课程资源,但是对很多小白来说网上的课程资源比较零散并不适合新手学习. 正因为此,总结了 ...

  3. Linux课程学习之我思

    陈民禾,原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000,我的博客中有一部分是出自M ...

  4. 20135302魏静静——linux课程第三周实验及总结

    linux课程第三周实验及总结 一.实验:跟踪分析Linux内核的启动过程 使用gdb跟踪调试内核从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxKer ...

  5. 20135302魏静静——linux课程第五周实验及总结

    linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...

  6. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  7. Linux课程---10、权限管理(权限有哪几种)

    Linux课程---10.权限管理(权限有哪几种) 一.总结 一句话总结: r 读 w 写 x 执行 1.drwxr-x---  2 root root  4096 Jan 20 19:39 mnt ...

  8. Linux课程---9、安装RPM包(RPM的全称是什么)

    Linux课程---9.安装RPM包(RPM的全称是什么) 一.总结 一句话总结: redhat package management 1.在Packages中查找和php相关的文件如何查找? ls ...

  9. Linux课程---8、Linux启动流程

    Linux课程---8.Linux启动流程 一.总结 一句话总结: grub启动引导界面(比如装了多系统,选择系统),找到linux内核 启动init程序,加载各种驱动 1.进入grub界面选择相应的 ...

随机推荐

  1. How tomcat works(深入剖析tomcat)servlet容器

    How tomcat works (5)servlet容器阅读笔记 第四章阅读了tomcat默认连接器的实现,当时connector中的使用的容器是自定义的容器,也是非常之简单奥,一个人就干完了所有的 ...

  2. java面试复习重点:类的管理及常用工具,教你抓住面试的重点!

    java复习: 类的管理及常用工具类 包 写在程序文件的第一行 一个Java 源文件中只能声明一个包, 且声明语句只能作为源文件的第一条指令 导入类能导入非public类,但是不能用因为在其他包缺省的 ...

  3. vs2019 Com组件初探-通过IDispatch接口调用Com

    vs2019 Com组件初探-简单的COM编写以及实现跨语言调用 上一篇实现了如何编写基于IDipatch接口的COM以及vbs如何调用编写的COM 本次主要是实现VBS的CreateObject函数 ...

  4. webpack系列:webpack小老弟接了个简单活

    webpack深入浅出系列:进阶篇 前沿,本篇文章的讲解思路是以webpack的五大核心为线索,以webpack对象为第一视角来讲述(以前记得看过一个文笔非常厉害的技术啊婆写的,非常有趣.然后我就想着 ...

  5. Java解决大文件读取的内存问题以及文件流的比较

    Java解决大文件读取的内存问题以及文件流的比较 传统方式 读取文件的方式一般是是从内存中读取,官方提供了几种方式,如BufferedReader, 以及InputStream 系列的,也有封装好的如 ...

  6. Fiddle抓包应用概述

    抓包: 抓包(packet capture)就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全.抓包也经常被用来进行数据截取等.说简单点就是抓取前端发送给服务器的数据 ...

  7. IAR环境定义位变量标志位 STM8 MSP430通用

    首先建立一个公共点H文件,加入通用代码如下 typedef union { struct { unsigned char b0:1; unsigned char b1:1; unsigned char ...

  8. 题解 CF1428G Lucky Numbers (Easy Version and Hard Version)

    这题没有压行就成 \(\texttt{Hard Version}\) 最短代码解了( 要知道这题那么 \(sb\) 就不啃 \(D\) 和 \(E\) 了. \(\texttt{Solution}\) ...

  9. day013|python之模块02&目录01

    1 from...import 1.1 概念 1.1.1 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...

  10. 深入理解Java虚拟机(八)——类加载机制

    是什么是类加载机制 Java虚拟机将class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程就是类加载机制. 类的生命周期 一个类从加载到内存 ...