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. k8s+docker_part2

    docker+k8s 目录 docker+k8s 1 简介 1.1 docker是什么 1.2 为什么要用docker 1.2.1 docker容器虚拟化的好处 1.2.2 docker在开发和运维中 ...

  2. IdentityServer4系列 | 快速搭建简易项目

    一 .前言 从上一篇关于 常见术语说明中,主要是对IdentityServer4的说明,以及其中涉及常见的术语的表述说明,包括对身份认证服务器.用户.客户端.资源以及各个令牌等进行对比区别说明. 而在 ...

  3. Zookeeper(5)---分布式锁

    基于临时序号节点来实现分布式锁 为什么要用临时节点呢?如果拿到锁的服务宕机了,会话失效ZK自己也会删除掉临时的序号节点,这样也不会阻塞其他服务. 流程: 1.在一个持久节点下面创建临时的序号节点作为锁 ...

  4. 老猿学5G扫盲贴:中国移动网络侧CHF主要功能及计费处理的主要过程

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  5. PyQt(Python+Qt)学习随笔:QHeaderView.ResizeMode取值及含义

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 关于ResizeMode的使用请参考<PyQt(Python+Qt)学习随笔:QTableWi ...

  6. POJ_1961

    Period Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 19817   Accepted: 9640 Descripti ...

  7. pl/sql12;pl/sql14激活注册码

    搜集的plsql 12激活码: Product Code(产品编号):4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number(序列号):601769 pass ...

  8. go学习第四天

    昨天通宵加班,暂停了一天学习,今天再偷懒下,学习半个小时

  9. 老男孩培训作业day1

    作业一:博客(开通博客园) 作业二:编写登录接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典(列表和字典的相互 ...

  10. 推荐系统实践 0x0d GBDT+LR

    前一篇文章我们介绍了LR->FM->FFM的整个演化过程,我们也知道,效果最好的FFM,它的计算复杂度已经达到了令人发指的\(n^2k\).其实就是这样,希望提高特征交叉的维度来弥补稀疏特 ...