Linux 学习笔记之超详细基础linux命令 Part 4
Linux学习笔记之超详细基础linux命令
by:授客
QQ:1033553122
---------------------------------接Part
3------------------------------
别名
方法:alias
[别名=
'标准Shell命令']
功能:查看、设置别名。无参数的alias命令可以查看用户可使用的所有别名以及其对应的标准Shell命令,反之则设置别名
说明:用alias命令设置的用户别名命令,其有效期间仅持续到用户退出登录为止这段时间。如果希望别名命令在每次登录时都有效就应该将alias命令写
入用户主目录下的.bashrc
例子:查看当前用户可使用的别名
[laiyu@localhost ~]$
alias
alias l.='ls -d .*
--color=auto'
alias ll='ls -l
--color=auto'
alias ls='ls
--color=auto'
alias vi='vim'
alias which='alias |
/usr/bin/which --tty-only --read-alias --show-dot
--show-tilde'
说明:which和ls既是命令别名又是标准命令
说明:当别名命令和标准命令同时,别名命令优先于Shell命令执行,这种情况下,如果要执行标准的Shell命令,需要在命令名前添加“\”字符,即输入“\ls”命令将执行标准的Shell命令
例子:
[laiyu@localhost ~]$
\ls
Desktop
Downloads
etc
file1
file3
Music
Public
Videos
Documents err
file
file2
list
Pictures
Templates
[laiyu@localhost ~]$
ls
Desktop
Downloads
etc
file1
file3
Music
Public
Videos
Documents err
file
file2
list
Pictures
Templates
说明:\ls中显示的目录没有颜色,ls中显示的目录有颜色
例子:设置别名命令vi,其功能时在vi中打开file文件
[laiyu@localhost ~]$ alias
vi = 'vi file'
alias vi='vim'
bash: alias: =: not
found
bash: alias: vi file: not
found
[laiyu@localhost ~]$ alias
vi='vi file'
说明:“=”前后不能有空格
自动补全
方法:【Tab】键实现
功能:自动补全文件或目录名
例子:当前目录下有如下文件和子目录,要查看list文件的内容
[laiyu@localhost ~]$
ls
Desktop
Downloads
etc
file1 file3 Music
Public
Videos
Documents err
file
file2
list
Pictures
Templates
[laiyu@localhost ~]$ cat
l
注意:不需要输入完整的命令“cat list”,只要输入“cat
l”,然后按【Tab】键。由于当前目录下以“l”开头的文件只有list文件,于是系统自动补
全为“cat
list”,按【Enter】键执行命令
例子:当前目录中文件和子目录信息如上例所示,查看err文件的信息
[laiyu@localhost ~]$ cat
e
err etc/
[laiyu@localhost ~]$ cat
e
说明:当前目录中以e字母开头的文件有两个,要查看err文件的内容。输入”cat
e“命令,按【Tab】键,由于系统不能确定用户要查看的文件,因此命令行不发生改变。再按一次【Tab】键,系统将符合条件到文件全部显示出来供用户选择。
自动补全命令名
实现:【Tab】键实现。用户输入命令的开头字母,然后连续按两次【Tab】键,系统会列出符合条件到所有命令以供参考,用户输入剩余部分即可执行。
例:自动补全以”ca“开头的命令
用户输入开头字母“ca”,然后连续按两次【Tab】键,系统会列出符合条件到所有命令以供参考,用户输入剩余部分即可执行。
[laiyu@localhost ~]$
ca
cacertdir_rehash
canberra-gtk-play
cas
cal
cancel
cas-admin
caller
cancel.cups
case
callgrind_annotate
capsh
cat
callgrind_control
captoinfo
catchsegv
注:总结,就是说,按【Tab】键,能识别多少,自动补全多少
复制与黏贴
字符终端下
方法:vi、vim编辑文件,【Esc】进入命令行模式,
1)光标移动到要复制的内容区
2)复制整行,连续按两次yy
3)剪切整行,连续按两次dd
4)黏贴复制或剪切的内容,按小写【p】键,黏贴到光标所在行的下一行,按大写【P】键,黏贴到光标所在行的上一行
文本编辑器vi[rehl提供vim]
vi的工作模式
1.命令行模式
说明:启动vi后进入到工作模式。该模式下输入任何字符都被当作命令解释,不会在屏幕上显示
2.文本编辑模式
说明:在命令模式下输入i(insert),a(after)等命令后进入文本编辑模式。此时输入到任何字符都被vi当作文件内容显示在屏幕上。按【Esc】键从文本编辑模式返回到命令模式。
3.最后行模式
说明:在命令模式下,按【:】键进入最后行模式。此时vi会在屏幕的底部显示”:“符号作为最后行模式到提示符,等待用户输入命令。命令执行完毕后自动返回命令行模式。
启动vi
方法:vi
[文件]
功能:如果不指定文件,则新建一个文本文件,退出vi时必须指定文件。如果启动vi时指定文件,则新建或打开指定文件
例子:打开已有文件list
[laiyu@localhost ~]$ vi
list
说明:vi界面分为编辑区和状态区,命令区。状态区和命令区在最下面,用于输入命令或者显示当前正则编辑的文件的文件名称,状态,行数和字符数,结果显示~表示为空行
编辑文本文件
方法:在命令行模式下,输入i,I,o,O,a,A键中任意一个即可从从命令行模式转为编辑模式
说明:
i
从当前的光标位置开始输入字符串
I
光标移动到当前行的行首(第一个字符的位置),开始输入字符
a
从当前的光标的下一个位置,开始输入字符
A
光标移动到当前行的行尾(最后一个字符的后一位)
o
在光标所在行之下新增一行
O
在光标所在行之上新增一行
说明:在状态/命令区出现---INSERT---字样
查找字符串
方法:在命令行模式下,输入以下命令可以查找到指定的字符串
/字符串
按【/】键,在状态/命令区出现“/”字样,继续输入要查找的内容,按【Enter】键,vi将从光标的当前位置开始的文件向文件尾查找。如果找到,光标将停在该字符串的首字母
?字符串
按【?】键,状态/命令区出现“?”字样,继续输入要查找的内容,按【Enter】键,vi将从光标的当前位置开始向文件头查找,如果找到,光标将停留在该字符串的首字母
n
继续查找满足条件的字符串
N
改变查找方向,继续查找满足条件的字符串
撤销和重复
方法:在命令行模式下,输入以下命令可以撤销或重复编辑工作
u
按【u】键撤销上一步的操作
.
按
【.】键重复上一步的操作
命令行下的其它操作
dw
删除光标所在位置,及光标位置往后的所有字符,遇到空格或者.则停止往后删除
r
替换光标处的字符:光标移动到要修改的字符,然后按键[r],输入要替换的目标字符,该命令不会跳转到插入模式
w
使光标移动到下个单词的首字符,单词由空格分割,英文点也算一个单词,如果是最后一个单词,继续按w则停留在最后一个单词的末尾字符
b
使光标移动到当前光标所在单词的首字符,同w相反,它是反向移动的
0
零会使光标移动到光标当前所在行的行首,首字符
$
使光标移动到光标当前所在行的行尾,尾字符
G
键入大写的G,使得光标移动到文件最后一行
NG
键入数字,然后键入大写G,使得光标移动到指定行,如10G,移动到第十行
Ctrl+G
统计光标所在位置的行数和列数报告
Ctrl+f
使得光标往前移动一屏幕的内容(编辑文件内容较多的时候用)
Ctrl+b
使得光标往后移动一屏幕的内容(编辑文件内容较多的时候用)
Ctrl+u
向文件首翻半屏
Ctrl+d
向文件尾翻半屏
文本块操作
在最后行模式下对多行文本进行复制,移动,删除和字符串替换等操作
方法:
:set nu
每一行前出现行号
:set nonu
不显示行号
说明:这里仅是显示,保存后cat命令查看,是看不到行号的
:n1,n2 co n3
将第n1行到第n2行之间(包括n1,n2行本身)的所有文本复制到第n3行下
:n1,n2 m n3
将第n1到第n2行之间(包括n1,n2行本身)的所有文本移动到n3之下
:n1,n2 d
删除第n1到第n2行之间(包括第n1,n2行本身)
说明:行号从1开始算起的
:n1,n2
s/字符串1/字符串2/g
将第n1行到第n2行之间所有用到字符串1的地方用字符串2替换
:% s/字符串1/字符串2/g
文件中所有用到字符串1的地方用字符串2替换
Linux 学习笔记之超详细基础linux命令 Part 4的更多相关文章
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 14
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 10
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 8
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 7
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 6
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...
随机推荐
- 聊聊我面试过的一个最奇葩的 Java 程序猿!
上周我聊了聊最让我反感的 10 种程序猿,无奈一个小时就进行了删除,详细原因就不说了,容易招黑. 今天聊的我面试过的最奇葩的一个程序猿,绝对是奇葩中的奇葩,简直是程序猿中的另类,最让我反感的程序猿又添 ...
- laravel5实现第三方登录(微信)
背景 最近手头一个项目需要实现用户在网站的第三方登录(微信和微博),后端框架laravel5.4. 实现过程以微信网页版第三方登录,其他于此类似,在此不做重复. 准备工作 网站应用微信登录是基于OAu ...
- OpenGL10-骨骼动画原理篇(1)
视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 本例程展示如何建立骨骼动画,有些人叫蒙皮动画 定义如下: 当前 ...
- Baffle.js – 用于实现文本模糊效果的 JavaScript 库
Baffle.js 是一个 JavaScript 库,设计用来模糊和揭开DOM元素的文本. 这些元素可以是一个 CSS 选择器的形式.一个节点列表或者一个单节点. 你也可以传递一个选择对象给插件. 在 ...
- 微信小程序https配置
先简单说下什么是https,https与http区别 ,以及https的原理 什么是https 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输 ...
- 理解node的模板引擎
1.1.3:分析模板引擎 1.什么是模板引擎 模板引擎是一个将页面模板和要显示的数据结合生成HTML页面的工具 可以这么理解,如果说Express中的路由控制方法是MVC中的控制器的话,那么模板 ...
- 分布式版本控制系统GIT的使用
一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subver ...
- SPI 驱动框架
SPI 驱动框架 1. 枚举过程 drivers/spi/spi.c: spi_register_board_info /* 对于每一个spi_master,调用spi_match_master_to ...
- 菜鸟入门【ASP.NET Core】3:准备CentOS和Nginx环境转(转)
基本软件 VMware虚拟机 centos:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-170 ...
- [PHP] 算法-复制复杂链表的PHP实现
复杂链表的复制: 1.在旧链表中每个结点的后面复制出一个结点,隔代 2.把旧链表的随机指向部分,复制到新添加的结点上 3.把新结点从旧链表中拆分出来成新链表 1. linklist=head whil ...