近期自己学习了一下Linux,写这篇博客以便于对自己的一个总结,记录自己的学习情况,奥利给!
想对Linux熟练掌握,就必须学会它的操作命令,虽然可能会花费一些时间,不过从长远的角度来说,这的确是一件事半功倍的事情,它会让我们更了解Linux,更灵活地去使用Linux。
个人感觉刚开始学习Linux一定要注意,学习命令并不意味着要掌握全部命令和每个命令的全部选项,这并不是必要的,先熟练掌握最常用的命令就好了,之后的一些可以通过man或者help读源文档查看使用方法。
1. 文件和目录
cd:用于工作路径的切换,这里我们需要了解一下绝对路径和相对路径
绝对路径:从“/”开始的路径称为绝对路径
相对路径:如果路径不是从根写起,则是相对路径
特殊目录的表示方法及含义
特殊目录的表示方法 | 含义 |
---|---|
. | 当前目录 |
. . | 上级目录 |
~ | 当前登录用户的宿主目录 |
~用户名 | 进入~后用户的宿主目录 |
注:cd命令而不加任何参数会马上回到用户的主目录
pwd:显示工作路径
ls:查看目录中的文件
# ls [-选项] 文件名或者目录名
选项 | 说明 |
---|---|
-l | 显示出查看内容的详细信息 |
-a | 显示所有文件,包括隐藏文件 |
-R | 显示当前目录下的所有内容,包括子目录内容也一起显示出来 |
-F | 显示目录中的文件 |
*[0-9]* | 显示包含[]内内容的文件名和目录名 |
mkdir:创建目录
# mkdir 目录
我们也可以一次性创建俩个或者多个,例如
# mkdir a1 a2
我们也可以通过-p创建目录树
# mkdir -p /tmp/a/b
rm:删除文件
# rm [-选项] 文件名或目录名
选项 | 说明 |
---|---|
-f | 强制删除,有i也不行!!! |
-i | 提示是否删除 |
-r | 删除目录以及其中所有的文件和子目录 |
-v | 显示文件删除进度 |
rmdir:删除目录
注:使用rm和rmdir是建议在/tmp(回收站)目录下使用,因为很多时候可能误删,用的时候要注意
cp:复制或者生成一个不同名但是内容相同的文件
复制
# cp 源文件名 目标路径
生成一个不同名但是内容相同的文件
# cp 源文件名 目标文件名
mv:移动文件(目录)或者是给文件(目录)改名
移动文件(目录)
# mv 要移动的文件 目标路径
文件(目录)改名
# mv 原文件名 新文件名
cat:显示文件内容
# cat 文件名
这个命令用法很灵活,可以配合重定向和管道使用,小伙伴们可以自己去了解一下
head:从头查看文件内容
# head [-n] 文件名
n为数字,设定的行数
注:如果没有指定n的话,默认是显示前十行
tail:从尾部查看文件内容
用法参考head即可
more:分页显示文件
# more 文件名
touch:创建空文件或改变文件创建时间
# touch 文件名
选项 | 说明 |
---|---|
-a | 仅修改atime时间 |
-m | 仅修改mtime时间 |
vim:编辑器,相当于windows下的记事本,它是vi的增强版,与vi编辑器完全兼容,而且实现了很多增强功能(重点 ※※)
vim分为普通模式、编辑模式、命令模式
为了让小伙伴们更好了理解,我画了一个特别丑的图,哈哈哈
命令模式(:):
:w 保存文件但不退出vim
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
grep、sed、awk 一起说(Linux三剑客 特别特别特别重要※※※):
Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令,提到三剑客小伙伴们就需要自己去了解一下正则表达式和扩展正则,注意只有三剑客才能读懂它俩
grep(老三)家族:由grep, egrep, fgrep 三个子命令组成,适用不同的场景
grep:原生的grep命令,使用“标准正则表达式”作为匹配标准。
egrep:扩展的grep命令,相当于$(grep -E),使用“扩展正则表达式”作为匹配 标准。
fgrep:简化版的grep命令,不支持正则表达式,但搜索速度快,系统资源使用率低
# gerp [参数] 匹配模式 [查找的文件]
参数部分(options):
-i:忽略大小写
–color:高亮匹配上的字符串
-v: 显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串
-E:使用扩展的正则表达式
匹配模式部分(PATTERN):
以字符串的方式给定匹配模板,可以使用普通字符串及正则表达式
查找的文件部分(FILE):
需要查找内容的文件
sed(老二):一个流编辑器、行编辑器
# sed [option] 'script' [input file]...
option部分:
-n:不输出模式空间中的内容到stdout
-e:可以在sed命令中指定多个script脚本,多点编辑功能
-f:输入sed脚本,脚本中写着编辑命令
-r:支持使用扩展的正则
-i:直接编辑源文件
script部分:
地址定界编辑命令(和vim命令相似)
awk(老大):报表生成器,主要用于格式化输出,格式化文本输出器
# gawk [option] 'program' FILE
option部分:
-F:指名输入字段的分隔符;
-v:用来实现自定义变量var=value;
三剑客的功能非常强大,但我也只是刚刚开始学习,相对了解的也比较少:grep擅长查找功能,sed擅长取行和替换,awk擅长取列
2.文件查找命令
find:用来在指定目录下查找文件
# find paths expression [action]
常用的搜索条件:
-name pattern
-path pattern
-lname pattern
file:显示文件的类型
# file [option] [file]
which:显示命令的全路径
# which [option] [programname]