linux文件系统:
常用命令:
一、帮助命令:
-
type:查看命令类型
-
which:查找命令所在路径
-
info :查看命令文档
-
alias :创建一个命令的别名
二、管理命令
-
cp: 复制文件和目录
-
mv:移动或重命名文件和目录
-
mkdir:创建目录
-
rm:移除文件和目录
三、查看命令
-
cat: 由第一行开始显示文件内容;
-
tac:从最后一行开始显示,可以看出 tac 是 cat 的倒着写;
-
nl:显示的时候,顺道输出行号!(仅对非空白行显示);
-
head、tail:只看头或尾几行,只显示10行;
-
more:一页一页的显示文件内容;
-
less:与 more 类似,但是比 more 更好的是,可以往前翻页;
四、链接命令
实例 效果 ln file1 link1 为file1创建硬链接link1 ln –s file1 link2 为file1创建符号链接link2
五、进程命令
-
ps:显示所有进程运行情况
-
jps:显示所有java进程的pid
-
top:实时显示当前所有任务资源占用情况
-
jobs: 列出所有活动作业的状态信息
-
kill:杀死进程
-
&:后台执行代码;eg:top &(指后台实时显示)
六、重定向
-
“>”:标准输出重定向,覆盖原内容;
-
“>>”:标准输出重定向,添加到文件末;
-
“|”:管道,把一个命令的标准输出传送到另一个命令的标准输入中;
与重定向相关的函数:
-
sort:对文本排序;
-
wc:打印文件中的行数、字数、字节数;
-
grep:打印匹配行;
-
七、通配符
-
*:匹配任意个字符;
-
?:匹配任意一个字符;
-
[characters]:匹配任意一个属于字符集中的字符,加上“!”则是不属于;
实例:
通配符 含义 a* 以a开头的任一文件 b*.txt 以b开头,.txt结尾的任一文件 data? 以data开头,后面跟一个字符的任一文件 [abc]* 以abc中任一个字母开头的任一文件
Linux Vim编辑器
一般快捷编辑
快捷键 | 作用 |
---|---|
yy | 复制光标所在的那一行(常用) |
dd | 删除光标所在的那一行(常用) |
p/P | p 为将已复制的数据在光标下一行贴上,P则为贴在光标上一行 |
G | 跳到最后一行 |
指令模式快捷键
快捷键 | 作用 |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串 |
?word | 向光标之上寻找一个名称为 word 的字符串 |
n | 重复前一个搜寻的动作 |
N | 与 n 刚好相反,为『反向』进行前一个搜寻动作 |
:w | 将编辑的数据写入硬盘档案中(常用 |
:q | 离开 vi (常用) |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
- 替换命令 :%s/oldStr/newStr/gc
代码 | 说明 |
---|---|
: | 冒号说明下面是一条命令 |
% | 要操作的行数,%表示从第一行到最后一行;1,3表示从第一行到第三行;2,$表示从第二行到最后一行; |
s | 指替换操作 |
/oldStr | 将要被替换的字符串”oldStr” |
/newStr | 替换使用的新字符串”newStr” |
g | 代表全局,如果没有,则只替换每行第一个被找到的匹配项 |
c | 每次替换前会询问用户是否执行替换,没有则直接替换 |
移动光标:数字 + ↑↓←→;
搜索字符串:/ + 字符串 ;
替换操作:选择行数、s/oldStr/newStr/gc
- 实例:
Q:将第10行到第50行的所有man,换成MAN,并逐一询问是否确认替换:
A::10,50s/man/MAN/gc
(g表示选择10到50行的全部man,若不加,则只替换每行的第一个man;)
vim操作练习:
-
在 /tmp 这个目录下建立一个名为 vitest 的目录;
-
进入 vitest 这个目录当中;
-
将 /etc/man_db.conf复制到vitest目录底下;
-
使用 vim开启本目录下的 man_db.conf这个档案;
-
在 vi 中设定一下行号;
-
移动到第 60 行,向右移动 40 个字符,请问你看到的是什么字符?
-
移动到第一行,并且向下搜寻一下“extra”这个字符串,请问他在第几行?
-
接着下来,将 50 到 100 行之间的“man”改为“ MAN”,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按y, 结果会在最后一行出现改变了几个 man 呢?
-
修改完之后,突然反悔了,要全部复原,有哪些方法?
-
复制 66到 71 这六行的内容(含有 MANPATH_MAP),并且贴到最后一行之后;
-
5 到 19 行之间的数据是开头为 # 符号的批注数据,要如何删除?
-
将这个文件另存成一个 man.test.config 的文件;
-
去到第 30 行,并且删除 14 个字符,结果出现的第一个单字是什么?
-
在第一行新增一行,该行内容输入” I am a student,I come from HS”;
5 到 19 行之间的数据是开头为 # 符号的批注数据,要如何删除?
-
将这个文件另存成一个 man.test.config 的文件;
-
去到第 30 行,并且删除 14 个字符,结果出现的第一个单字是什么?
-
在第一行新增一行,该行内容输入” I am a student,I come from HS”;
-
保存后离开!