Linux命令格式
command [-options] [parameter1]…
说明:
- command:命令名,相应功能的英文单词或单词缩写
- [-options]:选项,可以用来对命令进行控制,也可以省略,【】代表可选
- parameter1…:传给命令的参数,可以是一个或多个
目录相关的命令
pwd
打印当前工作目录的名字
cd 后面可跟相对路径和绝对路径
cd 切换到当前用户的主目录
cd ~ 切换到当前用户的主目录
cd . 切换到当前目录
cd (两个点)切换到上级目录
cd - 可进入上一个进入的目录
mkdir
用法:mkdir [选项]…目录…
通过mkdir命令可以创建一个新的目录,但不能与已经有的目录或文件同名。并且目录创建者必须对目录具有写权限
快速创建100个目录:mkdir 目录名{1…100}
创建目录树:mkdir -p dir1/dir2/dir3
创建目录a和目录b:mkdir a b
rmdir
用法:rmdir[选项]…目录…
删除指定的空目录
使用示例:
rmdir test 删除test目录
rmdir /tmp/test 删除tmp目录下的test
rmdir dir{1…100} 删除目录1-100
rmdir “a b” 删除a b这个目录
rmdir a b c 删除a b c这三个目录
文件相关命令
ls
用法:ls[选项]…[文件]…
ls常用参数:
-a 显示指定目录下所有子目录与文件,包含隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l以人性化的方式显示文件大小
touch
用法:touch[选项]…文件…
(1)如果文件不存在,创建新文件
(2)如果文件存在,更新文件时间
示例:
touch file 创建file空文件,如果file存在,则更新文件时间
touch file{1,2,3} 同时创建file1,file2,file3三个空文件
touch “file{1,2,3}” 创建file{1,2,3}一个空文件
cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令
-a 复制时保持文件的原有属性
-f 删除已经存在的目标文件而不是提示
-i 交互式复制,在覆盖目标文件之前给出提示要求用户确认
-r 若给出的源文件是一个目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v 显示拷贝进度
rm
可以通过rm删除文件或目录,使用rm要小心,因为删除之后不能恢复。为防止文件被删除,要加-i参数以逐个确认要删除的文件
常见参数及含义
-i 以进行交互方式执行
-f 强制删除,忽略不存在的文件,无需提示
-r 递归的删除目录下的内容,删除文件夹时必须加此参数
mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名
-f 禁止交互式操作,如有覆盖也不会给提示
-i 确认交互式操作
-v 显示移动进度
文件内容查看命令
cat
cat将文件内容一次性输出到终端
缺点:终端显示的内容有限,如果文件太长无法全部显示
示例:
cat -n 对所有输出进行编号
cat -b 查看内容并且给非空行进行编号
less
less命令将文件内容分页显示到终端,可以自由上下浏览
head
- head命令从文件头部开始查看前n行的内容
- 如果没有指定行数,默认显示前10行内容
命令格式:
head -n[行数] 文件名
tail
- 从文件尾部向上查看最后n行的内容
- 使用方式:tail -n[行数] 文件名
- 如果没有指定行数,默认显示最后10行内容
du
du命令用于查看某个目录大小
du命令的使用格式如下:
du [选项] 目录或文件名
-a 递归显示指定目录中各文件和子目录中文件占用的数据块数
-s 显示指定文件或目录占用的数据块
-b 以字节为单位显示磁盘占用情况
-h 以K,M,G为单位,提高信息的可读性
df
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。
-a 显示所有文件系统的磁盘使用情况
-m 以1024字节为单位显示
-h 以K,M,G为单位,提高信息的可读性
vim基本操作
首先我们在自己的目录下新建一个share目录
进入自己目录:cd ~
创建share: mkdir share
1、打开文件
vim filename: 打开或新建文件 ,若文件存在,则打开,不在就新建。如果想让文件显示行数 :进入末行模式(按:进入),然后输入:set nu
2、编辑文件
如果通过vi打开一个已经存在的文件,首先进入命令行模式,此时输入的任何字符都视为命令,不能输入内容。在命令模式输入i
3、保存文件
一定要先退出插入模式(按ESC进入命令模式),然后(小写状态下),shift+zz(按住shift+按两下z键),(或者大写状态下:ZZ)即可保存退出当前文件
第一步:进入命令模式:Esc
第二步:shift+z z
vim实用操作
命令模式下的操作
(1)切换到编辑模式下
按键 | 功能 |
---|---|
i | 光标位置当前处插入文字 |
I | 光标所在行首插入文字 |
o(字母) | 光标下一行插入文字 |
O | 光标上一行插入文字 |
a | 光标位置右边插入文字 |
A | 光标所在行尾插入文字 |
s | 删除光标后边的字符,从光标当前位置插入 |
S | 删除光标所在当前行,从行首插入 |
(2)光标移动
按键 | 功能 |
---|---|
Ctrl+f | 向前滚动一个屏幕 |
Ctrl+b | 向后滚动一个屏幕 |
gg | 到文件第一行行首 |
G | 到文件最后一行行首,G必须为大写 |
mG或mgg | 到指定行,m为目标行数 |
0(数字) | 光标移动到行首(第一个字符位置) |
$ | 光标移动到行尾 |
l(小写L) | 向右移动光标 |
h | 向左移动光标 |
k | 向上移动光标 |
j | 向下移动光标 |
^ | 光标移动到行首(第一个有效字符位置) |
复制粘贴
按键 | 功能 |
---|---|
[n]yy | 复制从当前行开始的n行 |
p | 把粘贴板上的内容插入到当前行 |
(4)删除
按键 | 功能 |
---|---|
[n]x | 删除光标后n个字符 |
[n]X | 删除光标前n个字符 |
D | 删除光标所在行开始到此行尾的字符 |
[n]dd | 删除从当前行开始的n行(准确来讲,是剪切,剪切不粘贴为删除 |
dG | 删除光标所在开始到文件尾的所有字符 |
dW | 删除光标开始位置的字,包含光标所在字符 |
d0(0为数字) | 删除光标前本行所有内容,不包含光标所在字符 |
dgg | 删除光标所在开始到文件首行第一个字符开始的所有字符 |
(5)撤销恢复
按键 | 功能 |
---|---|
.(点) | 执行上一次操作 |
u | 撤销前一个命令 |
ctrl+r | 反撤销 |
100+. | 执行上一次操作100次 |
(6)查找
按键 | 功能 |
---|---|
/字符串 | 从当前光标位置向下查找(n,N查找内容切换) |
?字符串 | 从当前光标位置向上查找 (n,N查找内容切换) |
(7)替换
按键 | 功能 |
---|---|
r | 替换当前字符 |
R | 替换当前行光标后的字符(Esc退出替换模式) |
(8)可视模式
按键 | 功能 |
---|---|
v | 按字符移动,选中文本,可配合h,j,k,l选择内容,使用d删除,使用y复制 |
Shift+v | 行选(以行为单位)选中文本,可配合h,j,k,l选择内容,使用d删除,使用y复制 |
Ctrl+v | 列选(以列为单位)选中文本,可配合h,j,k,l选择内容,使用d删除,使用y复制 |
末行模式下的操作
(1)保存退出
按键 | 功能 |
---|---|
:wq | 保存退出 |
:x(小写) | 保存退出 |
:w filename | 保存到指定文件 |
:q | 退出,如果文件修改但没保存,会提示无法退出 |
:q! | 退出不保存 |
(2)替换
按键 | 功能 |
---|---|
😒/abc/123/ | 光标所在行的第一个abc替换为123 |
:/abc/123/g | 光标所在行的所有abc替换为123 |
:1,10s/abc/123/g | 将第一行至第十行之间的abc全部替换为123 |
:%s/abc/123/g | 当前文件的所有abc替换为123 |
:%s/abc/123/gc | 同上,但每次替换需要用户确认 |
:1,$s/abc/123/g | 当前文件的所有abc替换为123 |
(3)分屏
按键 | 功能 |
---|---|
:sp | 当前文件水平分屏 |
:vsp | 当前文件垂直分屏 |
:sp文件名 | 当前文件和另一个文件水平分屏 |
:vsp文件名 | 当前文件与另一个文件垂直分屏 |
ctrl-w-w | 多个窗口切换光标 |
:wall/:wqall/:qall | 保存/保存退出/退出所有分屏窗口 |
vim -O a.c b.c | 垂直分屏 |
vim -o a.c b.c | 水平分屏 |
想看命令类型:type 命令
想看该命令在哪: which 命令