Linux Command Line 学习笔记4
说明;写Linux Command Line 学习笔记系列文章本意只是记录自己学习《Linux Command Line 》 这本书的过程中看到的一些自己没有留意到的地方,因此绝大多数内容只是记录了相关知识点而没有实际扩展内容,纯粹是为了自己后期回顾时有迹可循。另外,因为直接看的原版书,所以有些地方中英混杂。更详细地学习建议去阅读原书即可。
The Environment
-
shell 会话中维护着大量的信息称为环境
-
查看环境变量
printenv
或者printenv USER
set |less
按照字母顺序显示
echo $HOME
-
别名不能用上述方法查看
alias
-
建立shell环境
-
shell会话类型
登陆
非登陆 -
登录shell后会读取的启动文件
/etc/profile
应用于所有用户的全局配置脚本。~/.bash profile
用户私人的启动文件。可以用来扩展或重写全局配置脚本中的设置。~/.bash login
如果文件~/.bash profile
没有找到,bash 会尝试读取这个脚本。~/.profile
如果文件~/.bash profile
或文件~/.bash login
都没有找到,bash 会试图读取这个文件。 -
非登陆shell读取文件
/etc/bash.bashrc
应用于所有用户的全局配置文件。
~/.bashrc
用户私有的启动文件。可以用来扩展或重写全局配置脚本中的设置。对普通用户来说十分重要。
-
-
修改shell环境
通常,添加目录到PATH 变量或定义额外环境变量放置到.bash profile 文件中
对于其它的更改,要放到.bashrc 文件
-
文本编辑器
不管什么时候你修改配置文件时,给你所做的更改加上注释都是一个好主意
Shell 脚本和bash 启动文件都使用
#
符号来开始注释。 -
激活修改
source .bashrc
无需重新登陆窗口
A Gentle Introduction To vi
-
这里所指的vi其实全部是vim
-
最重要的一点是知道如何退出vi
-
vi是一个模式编辑器,在命令模式中几乎每个按键都是命令
-
进入插入模式后可以写入文本
-
保存工作
:wq
-
Moving The Cursor Around
l 向右移动一个字符 h 向左移动一个字符 j 向下移动一行 k 向上移动一行 0 (零) 移动到当前行行首 ˆ 移动到当前行第一个非空字符 $ 移动到当前行末尾 w 移动到下一个单词或标点符号的开头 W 移动到下一个单词开头,忽略标点 b 移动到上一个单词或标点符号开头 B 移动到上一个单词的开头,忽略标点符号 Ctrl-f or Page Down 向下翻页 Ctrl-b or Page Up 向上翻页 numberG 移动到第number行。例如,1G 移动到文件的第一行。 G 移动到文件末尾。
-
Basic Editing
-
i
命令进入编辑模式,但是光标无法进入行尾 -
追加文本
a
命令,当光标在行尾时越过行尾进入插入模式
A
命令,移动到当前行末尾进入插入模式追加文本 -
打开一行
在两行之间插入一个空白行并进入插入模式
o
当前行下方打开一行
O
当前行上方打开一行 -
删除文本
x 当前字符 3x 当前字符及其后的两个字符 dd 当前行 5dd 当前行及随后的四行文本 dW 从光标位置开始到下一个单词开头 d$ 从光标位置开始到当前行尾 d0 从光标位置开始到当前行首 dˆ 从光标位置开始到文本行第一个非空字符 dG 从当前行到文件末尾 d20G 从当前行到文件第20行
-
剪切复制和粘贴
剪切:
d
命令,删除的部分被复制到一个粘贴缓冲区
粘贴:p
命令,把剪切板中文本粘贴到光标位置之后,大P
命令把文本粘贴到光标之前复制:
y
yy 当前行 5yy 当前行及随后的四行文本 yW 从当前光标位置到下一个单词的开头 y$ 从当前光标位置到当前行的末尾 y0 从当前光标位置到行首 yˆ 从当前光标位置到文本行的第一个非空字符 yG 从当前行到文件末尾 y20G 从当前行到文件的第20行
-
连接行
J
命令(大写),两行变为一行
-
-
查找替换
查找一行:f
命令;fa
查找a字符,;
重复查找
查找文件:/
命令;/a
,n
进行重复查找 -
全局查找替换
:%s/Line/line/g
;1,4s/a/A/
:
冒号运行ex 命令。%
指定要操作的行数。%
表示从第一行到最后一行。操作范围也可以用
1,5
来代替,或者用1,$
来代替,从第一行到文件的最后一行。如果省略了文本行的范围,那么操作只对当前行生效。s
指定操作。在这种情况下是,替换(查找与替代)。/Line/line
查找类型与替代文本。g
全局,对文本行中所有匹配的字符串执行查找和替换操作。省略g
,则只替换每个文本行中第一个匹配的字符串。- 确认模式
%s/Line/line/gc
(末尾加c)replace with Line (y/n/a/q/l/^E/^Y)? y 执行替换操作 n 跳过这个匹配的实例 a 对这个及随后所有匹配的字符串执行替换操作 q or esc 退出替换操作 l 执行这次替换并退出。l 是“last”的简写 Ctrl-e, Ctrl-y 分别是向下滚动和向上滚动。用于查看建议替换的上下文
- 确认模式
-
多文件编辑
vi a b
同时打开a和b首先进入a中,输入
:n
进入b输入
:N
进入a:buffer
查看正在编辑哪些文件- 两文件之间复制
:buffer 1
进入a 文件,yy 复制一行
:buffer 2
进入b文件,p 粘贴 - 在一个文件中插入另一个文件
打开a
文件
输入:r b
(r 表示read)
- 两文件之间复制
-
保存文件
:wq
保存并退出
:w a1
将正在编辑的a文件保存为副本a1(但此后编辑的还是a文件)
加入靠谱熊基地,和大家一起交流