0 写在前面
本文参阅韦东山新1期视频的前5部分,重点讲解前3部分
1)Linux入门命令
2)Vi编辑器
3)Linux进阶命令
我把1)和 3)结合作为“常用命令”讲解
1 Linux常用命令
1.1 入门命令(非小白可跳过)
Linux命令格式:命令 [选项] [参数]
入门命令:1) man --help info
2) ls pwd mv cp mkdir rmdir rm touch cat gedit vi
0)man [页数] 命令 ——掌握Linux命令的神器,可查看命令文档,共有10页,不同页侧重点不同
此外,还有些命令有 --help选项帮助理解 ,而 info 命令,类似man,不过不够直观,推荐用man
1)ls: list directory 列车当前目录的内容(注意:不包含隐藏文件)
常用选项: -l -a -h
2) pwd: print working directory 显示当前工作目录路径
工作目录:顾名思义,你当前所操作(工作)的目录
3)mkdir : 创建目录
常用选项: -p 可创建多级目录,如 mkdir -p dir1/dir2 (p: parents 的缩写)
4) rmdir:删除一个“空”目录。 注意:非空目录不能删除,必须加 -r 选项,表示递归删除,r是递归缩写
5)mv:修改文件/目录名、移动路径
6)touch:创建文件,注意Linux下文件名区分大小写,这点跟window不同
7)cat:查看文件,类似的命令有more less head tail 等后面用到再讲解
常用选项: -n :显示行号
8)rm:删除一个文件或目录
常用选项:-r:递归操作,r:interactive 递归的缩写
-i:删除前提示是否删除
-f:不显示提示,强制删除
9)cp:复制一个文件或目录
注意:复制目录时,用 -r 选项递归复制
还有一个 -i 选项,用于提示是否覆盖同名的文件,此外还有 -f -d等选项,待用到时讲解
10) clear:清楚屏幕当前内容,只是翻页而已,能查看之前命令操作
11)reset:清楚屏幕当前内容,不能后翻之前命令操作
12)cd:切换当前所在路径
cd ~ 当前用户的家目录 . 当前目录 .. 上级目录 - 上一次的路径 / 根目录
切换目录时,多使用tab键,确保切换路径存在
温馨提醒:命令千万条,多练第一条。上面纯粹做了梳理,没有例子,也就提示要自己手敲进一步理解了。
补充两点:(摘自里面的笔记,个人觉得入门必须要清楚这些)
a)在shell中输入字符串并回车的过程:
1. shell根据第1个字符串去环境变量PATH所指定的目录中找到同名的应用程序
2. 然后执行它
我们可以设置PATH环境变量添加我们的目录:
export PATH=$PATH:/my/dir
b)command not found的原因:
1. PATH所确定的目录中无此程序
2. 它不是可执行的程序
1.2 进阶命令
进阶命令:find grep which whereis 压缩解压命令(gzip bzip2 tar)
1)find:查找符号条件的文件
格式:find 目录名 选项 查找条件
常用选项:
-name 表名以名字查找文件,如 find ~/ -name "test.txt"
另外,查找条件可用匹配符,如 “*.txt” 所以.txt后缀的文件
-mtime -N : 查找N天内变动过的文件,如 find /home -mtime -2
注意:没指定查找目录时,默认当前目录,如 find -name "*.txt" 默认当前目录下查找所有.txt后缀文件
2)grep: 查找文件中符号条件的字符串
格式:grep [选项] [查找模式] [文件名]
常用选项:
-n:显示目标位置的行号
-r: 递归查找
-w: 全字匹配
啰嗦一句,不带参数的选项是可合并的,如 -rn
来个例子: grep -n "abc" test1.txt
3)压缩解压命令(重点)
3.0) 压缩的概念
1)压缩的目的:
在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。
接受者接受文件后,解压即可。
2)压缩的类型
有损压缩、无损压缩。
a)有损压缩:
如mp4视频文件,即使压缩过程中,减少了很多帧的数据,
对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。
b)无损压缩:
如普通文件的压缩,为了保证信息的正确传递,
不希望文件经过压缩或解压后,出现问题
单个文件:gzip bzip2 多个文件和目录:tar
3.1)单个文件:gzip 和 bzip2 的常用选项
1.gzip
常用选项:-l(list) 列出压缩文件的内容
-k(keep) 在压缩或解压时,保留输入文件
-d(decompress) 将压缩文件进行解压缩,注意,不加-d默认是压缩
2.bzip2
常用选项:-k(keep) 在压缩或解时,保留输入文件
-d(decompress) 将压缩文件进行解压缩,同理,不加-d 默认是压缩
小结:
gzip和bzip2都不能压缩/解压目录
gzip适合压缩单个较小文件。反之,bzip2适合压缩较大的单个文件
3.2) 多个文件和目录:tar
tar常用选项:
-c(create) 表示创建用来生成文件包
-x: 表示提取,从文件包中提取文件
-z: 使用gzip方式进行处理,它与c结合表示压缩,与x结合表示解压缩
-j: 使用bzip2方式进行处理,它与c结合表示压缩,与x结合表示解压缩
-v:(verbose) 详细报告tar处理的信息
-C <指定目录> 解压到指定目录
tar 只是个打包程序,配合 gzip 或 bzip2 使用,有以下两种情况
1)tar打包, gzip 压缩/解压
2)tar打包,bzip2压缩/解压
4)which、whereis
which 和 whereis 都是用来查找命令/应用程序 的位置的,而不是定位文件或其它
如 which ls 定位ls命令的绝对路径
相比which,whereis 除显示命令所在绝对路径,还能显示命令帮助文档所在绝对路径
注意:默认搜素路径是系统环境变量PATH
5) file : 识别文件类型
举例:(摘自韦东山老师的笔记)
file ~/.bashrc 为ASCII 编码的text类型
file ~/.vimrc 为UTF-8 Unicode 编码的text类型
file ~/Pictures/* 如图形文件JPEG/PNG/BMP格式
file ~/100ask/ 为directory表明这是一个目录
file /bin/pwd 出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/* 出现character special(字符设备文件)
2 VI基本使用
2.0 VI编辑器的配置
cd /etc/vim
cp vimrc ~/.vimrc
cd ~
gedit .vimrc
在文件末尾添加如下内容:
"关闭兼容功能
set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch
2.1 三种模式
1)一般模式:光标移动、复制、粘贴、删除
2)编辑模式:编辑文本
3)命令行模式:查找和替换
小技巧:不知道哪行时,敲ESC切换回一般模式
(因为:ESC后,编辑/命令行模式-->一般模式, 一般模式-->一般模式)
2.2 复制、粘贴、撤销、编辑
2.2.1 编辑(在编辑模式)
1)进入编辑模式:
i(在光标前开始插入文本)
a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)
2)光标移动: hjkl 对应 左下上右 ,注意在“一般模式下”操作
3)快速定位:(注意:以下操作是在一般模式下)
文件头、文件尾:1gg 、G
某一行:ngg (n是数字,表示某一行)
某一列:0:开头 $:结尾 fx:下一个字母为x的位置
编辑完后 :wq :q! :w :q
2.2.2 复制、粘贴、删除、撤销(在一般模式)
复制:nyy :n代表复制当前行以下n行,只用yy,则只复制当前行
y是yank 的缩写,有复制意思,没用c:copy 是因为c被表示为change
粘贴:p
删除:ndd, 同理 nyy, 删除光标所在位置字符可用 x
撤销:u
注意:以上操作在一般模式下进行
2.3 查找、替换(在命令行模式)
查找有两种:
1)/查找字符串 : 从当前行向下查找
2)?查找字符串:从当前行向上查找
以上两种查找按enter之后,可用 n 重复上次查找命令,向下查找,而N 则重复上次查找命令,但向下查找
替换::%s/p1/p2/g 将文件中所有p1均用p2替换
s:substitute 替换
g:global 全局
c: confirm 确认,如 :%s/p1/p2/gc 替换时需要确认
小结:
掌握以上Vi操作足够了,不够用时再查找命令即可。网上一堆关于VI操作的总结。