【Linux】Linux常用操作

终端命令格式

command [-options] [parameter]
command : 命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略
parameter:传递命令的参数,可以是0个、1个或者是多个
[ ]:代表可选

 

 

常用命令

命令      对应的英文         作用
ls          list                 查看当前文件夹下的内容
pwd       print work directory     查看当前所在的文件夹
cd[目录名]     change directory        切换文件夹
touch[文件名]    touch               如果文件不存在,新建文件
mkdir[目录名]    make directory         创建目录
rm          remove                 删除指定的文件名
clear         clear                 清屏

 

 

查询终端命令的帮助信息
command --help 显示command命令的帮助信息
man command manual的缩写,查询command命令的使用手册 q退出帮助
man的操作
键 显示手册的下一屏
Enter键 一次滚动手册一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word关键字

 

Linux下文件和目录的特点
Linux文件或者目录名称最长可以有265个字符
以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
. 代表当前目录
.. 代表上一级目录

 

ls常用选项
参数 含义
-a 显示指定目录下的所有子目录与文件,包括隐藏文件
-l 以列表的方式显示文件的详细信息
-h 配合-l以人性化的方式显示文件的大小

ls通配符的使用
* 代表任意个数个字符
? 表达任意一个字符,至少一个
[ ] 代表可以匹配字符组中的任意一个
[abc] 匹配a、b、c中的任意一个
[a-z] 匹配a到z范围中的任意一个

 

计算机中文件大小的表示方法
单位 英文 含义
字节 B(Byte) 在计算机中作为一个数字单元,一般以8位二进制数
千 KB(Kibibyte) 1KB = 1024 B,千字节(1024=2^10)
兆 MB(Mebibyte) 1MB =1024 KB,百万字节
千兆 G(Gigabyte) 1GB = 1024 KB, 十亿字节
太 T(Terabyte) 1TB = 1024 KB
拍 P(Petabyte) 1PB = 1024 TB
艾 E(Exabyte) 1EB = 1024 PB
弹 Z(Zettabyte) 1ZB = 1024 EB
尧 Y(Yottabyte) 1YB = 1024 ZB

 

cd
cd ~ 切换到当前用户的主目录(/home/用户主目录)
cd . 保持在当前目录不变
cd .. 切换到上一级目录
cd - 可以在最近两次工作目录之间来回切换


相对路径/绝对路径
相对路径 在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
绝对路径 在输入路径时,最前面是/或者是~,表示从根目录/家目录开始的具体目录位置

touch
如果文件不存在,可以创建一个空白文件
如果文件已经存在,可以修改文件的末次修改日期

mkdir
创建一个新的目录
-p 可以递归创建目录

rm
删除文件或者目录, 删除后不可恢复
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹时必须加此参数拷贝和移动文件 命令 对应英文 作用 tree[目录名] tree 以树状图列出文件目录结构 

 rm -rf 目录

 

DC@DConfigPC /cygdrive/d/tmp/test3
$ rm new
rm: 无法删除'new': Is a directory

 

DC@DConfigPC /cygdrive/d/tmp/test3 
$ rm -r new                       删除目录,必须加  -r  

 

 

cp 源文件 目标文件 copy 复制文件或者目录
mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名

 

 

 


tree
已树状图列出文件目录结构
-d 只显示目录

cp
将给出的文件或者目录复制到另一个文件或目录中,相当于DOS下的copy命令
-f 已经存在的目标文件直接覆盖,不会显示
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则直接拷贝   拷贝目录,不加此参数不会拷贝目录


将递归复制该目录下的所有目录和文件,目标文件必须为一个目录名

将test3目录下的所有文件复制到test1 目录中

 

cp ./test3/* ./test1   如果test3目录下有文件夹,将不会复制过去

cp -rf ./test3/* ./test1        全部复制并且不提示



mv

 

必选参数对长短选项同时适用。
--backup[=CONTROL] 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, --no-clobber 不覆盖已存在文件
如果您指定了-i、-f、-n 中的多个,仅最后一个生效。


移动文件或者目录,也可以给文件或目录重命名
-i 覆盖文件前提示

将test3中的所有文件及目录全部移动到test1 中,相当于剪切粘贴

 

mv ./test3/* ./test1

如果有相同文件夹,并且非空,会报错如下:

DC@DConfigPC /cygdrive/d/tmp
$ mv ./test3/* ./test1
mv: 无法将'./test3/FlashTool' 移动至'./test1/FlashTool': Directory not empty



查看文件内容
命令 对应英文 作用
cat 文件名 concatenate 查看文件内容、创建文件、文件合并、追加文件内容
more 文件名 more 分屏显示文件内容
grep 搜索文本 文件名 grep 搜索文本文件内容


cat
可以用来查看文件内容、创建文件、文件合并、追加文件内容等功能
会一次显示所有的内容,适合查看内容较少的文本文件
-b 对非空输出行编号
-n 对输出的所有行编号


more
可以用于分屏显示文件内容,每次只显示一页内容
适合查看内容较多的的文本文件
使用more的操作键
空格键 显示下一屏
Enter键 一次滚动一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串


系统中grep命令是一种强大的文件搜索工具
允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式,
选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写

常用的两种模式查找
^a 行首,搜索以a开始的行
ke$ 行尾,搜索以ke结束的行


其他命令
echo
会在终端中显示参数指定的文字,通常会和重定向联合使用

重定向
将命令执行结果重定向到指定文件
将本应该显示在终端上的内容 输出/追加到指定文件中

其中
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾

管道 |
将一个命令的输出,可以通过管道作为另一个命令的输入
可以理解现实生活中的管子,管子的一头塞东西,另一头取出来

常用的管道命令有
more 分屏显示
grep 在命令执行结果的基础上查询指定的文本



远程管理常用命令
关机重启
shutdown 选项 时间
可以安全关闭或者重新启动
-r 重新启动

不指定选项和参数,默认表示1分钟之后关闭电脑
远程维护服务器,最好不要关闭系统,而应该重新启动

例如
shutdown -r now
shutdown now
shutdown 20:30
shutdown +10 10分钟后自动关机
shutdown -c 取消之前的关机动作



查看或配置网卡信息
命令 对应英文名 作用
ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
ping ip地址 ping 检测到目标ip地址的连接是否正常


vi
打开和新建文件

浏览模式
vi 文件名进入编辑器浏览模式

编辑模式:

使用vi进入文件,点击i进入编辑模式

推出编辑模式保存:

点击ESC键后:

:q!  不保存文件,强制退出vi命令

:w   保存文件,不退出vi命令

:wq  保存文件,退出vi命令

 


如果文件存在会直接打开文件
如果文件不存在,会新建一个文件

打开文件并定位行
vi 文件名 +行数
如果只带上+ ,而不指定行号,会直接定位到文件末尾

异常处理
如果vi异常退出,在磁盘上可能会保存有交换文件
下次在使用vi编辑该文件时,会看到一些信息,按下字母d可以删除交换文件

vi三种工作模式
命令模式
打开文件首先进入命令模式,是使用vi的入口
通过命令对文件进行常规的编辑操作,例如:定位、翻页、复制、粘贴、删除。。。
在其他图形编辑器下,通过快捷键或者鼠标实现的操作,都在命令模式下实现的


行末模式
执行保存、退出等操作
要退出vi返回到控制台,需要在行末模式下输入命令
模式模式是vi的出口

末行模式命令 :
命令 英文 功能
w write 保存
q quit 退出,如果没有保存,不允许退出
q! quit 强行退出,不保存退出
wq write & quit 保存并退出
x 保存并退出


移动(基本)
1)上下左右
命令 功能 手指
h 向左 食指
j 向下 食指
k 向上 中指
l 向右 无名指

2)行内移动
命令 英文 功能
w word 向后移动一个单词
b back 向前移动一个单词
0 行首
^ 行首,第一个不是空白字符的位置
$ 行尾


3)行数移动
命令 英文 功能
gg go 文件顶部
G go 文件末尾
数字gg go 移动到数字对应的行数
数字G go 移动到数字对应的行数
:数字 移动到数字对应的行数

4)屏幕移动
命令 英文 功能
ctrl + b back 向上翻页
ctrl + f forward 向下翻页
H Head 屏幕顶部
M Middle 屏幕中间
L Low 屏幕底部

4.2)段落移动
vi使用空行来区分段落
命令 功能
{ 上一段
} 下一段


4.2)括号切换
在程序世界中,( ) { } [ ] 使用频率很高,而且都是成对出现
命令 功能
% 括号匹配及切换

4.4)标记

命令 英文 功能
mx mark 添加标记x,x是指a-z或者A-Z之间的任意一个字母
'x 直接定位到标记 x 所在的位置


选中文本(可视模式)
在v i中要选择文本,需要先使用visual命令切换到可视模式
vi中提供了三种可视模式,可以方便程序员选择 选中文本的方式
按ESC可以放弃选中,返回到 命令模式
命令 模式 功能
v 可视模式 从光标位置开始按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
ctrl + v 可视块模式 垂直方向选中文本

可视模式下,可以和 移动命令 连用,例如 :ggVG 能够选中所有的内容


撤销和恢复撤销

命令 英文 功能
u undo 撤销上次命令
ctrl + r redo 恢复撤销的命令

删除文本
命令 英文 功能
x cut 删除光标所在字符,或者选中文字
d(移动命令) delete 删除移动命令对应的内容
dd delete 删除光标所在行,可以ndd复制多行
D delete 删除至行尾
如果使用可视模式已经选中了一段文本,那么无论使用d还是x都可以
删除命令可以和移动命令连用,以下是常用的组合命令
dw 从光标位置删除到单词末尾
d0 从光标位置删除到一行的起始位置
d} 从光标位置删除到段落结尾
ndd 从光标位置向下连续删除n行
d代码行G 从光标所在的行 删除到 指定代码行之间的所有代码
d'B 从光标所在行 删除到 标记B 之间的所有代码

复制粘贴

复制 命令会将选中的文字保存在缓冲区
删除命令删除的文字会被保存在缓冲区
在需要的位置,使用粘贴命令可以将缓冲区的文字插入到光光标所在的位置
命令 英文 功能
y(移动命令) copy 复制
yy copy 复制一行,可以nyy复制多行
p paste 粘贴


替换
命令 英文 功能 工作模式
r replace 替换当前字符 命令模式
R replace 替换当前行光标后的字符 替换模式

缩排和重复执行
命令 功能
>> 向右增加缩进
<< 向左减少缩进
. 重复上次的命令
一次性在选中的代码前增加4个空格,就叫增加缩进
一次性在选中的代码前删除4个空格,就叫减少缩进
在可视模式下,缩排命令只需要使用一个<或者>


查找
/str 查找str
查找到指定内容后,使用next查找下一个出现的位置
n 查找下一个
N 查找上一个

单词快速匹配
命令 功能
* 向后查找就当前光标所在单词
# 向前查找就当前光标所在单词

查找并替换
在vi中查找和替换命令需要在行末模式下执行
记忆命令格式
:%s///g

全局替换
一次性替换文件中的所有出现的旧文本
: %s /旧文本/新文本/g

可视区域替换
先选中需要替换的文字的范围
:s/旧文本/新文本/g

确认替换
如果把末尾的g改为gc,在替换的时候,会提示 推荐使用
y yes 替换
n no 不替换
a all 退换所有
q quit 退出替换
l last 最后一个,并把光标移动到行首
^E 向下滚屏
^Y 向上滚屏



插入命令
命令 英语 功能
i insert 在当前字符前插入文本
I insert 在行首插入文本
a append 在当前字符后插入文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行前面插入一空行

编辑命令和数字连用
如输入10个*
输入10,表示要重复10次
输入I 进入编辑模式
输入* 也就是要重复的文字
按下ESC 返回到命令模式,返回后vi就会把2、3两步的操作重复10次


可视块 多行选中代码增加注释
1,移动到要增加注释的第一行代码,按下^来到行首
2,按Ctrl+v进入到可视块模式
3,使用 j 向下连续选中要添加的代码行
4,输入I 进入编辑模式,并在行首插入,注意一定要用I
5,输入 # 也就是注释符号
6,按下ESC返回到命令模式,返回之后vi会在之前选中的每一行代码前插入#


末行命令扩展
命令 英文 功能
:e edit 会打开内置的文件浏览器,浏览要当前目录下的文件
:n 文件名 new 新建文件
:w 文件名 write 另存为 但是仍然编辑当前文件,并不会切换文件

 

小技巧
放大缩小窗口 ctrl shift = 放大终端窗口的字体显示
ctrl - 缩小终端窗口的字体显示

自动补全 tab键
在敲出 文件/ 目录/ 命令 的前几个字母之后,按下tab键
如果输入的没有歧义,系统会自动补全
如果有歧义,再按一下tab键,系统会提示所有可能存在的额命令

曾经使用过的命令 按上/下光标键
可以在曾经使用过的命令之间来回切换
如果要退出选择,并且不想执行当前选中的命令,可以按ctrl + C

 

docker:

查看所有的docker容器,status字段可以看到当前容器所处的状态,up表示容器处于启动状态

 

docker ps -a

 

 

 进入docker容器

 

docker exec -it 5a6f6141a2b3 bash

 

列出user目录及其子目录下所有目录和文件的大小:

du -ah user

 

 

posted @ 2018-03-25 17:22  yanerfree  阅读(213)  评论(0编辑  收藏  举报