终端命令格式

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 以树状图列出文件目录结构

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 文件名 +行数
如果只带上+ ,而不指定行号,会直接定位到文件末尾

异常处理
如果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

【Linux】Linux常用操作的更多相关文章

  1. linux学习(2):linux服务器常用操作和命令

    linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单 ...

  2. Linux下常用操作

    ************************ 镜像操作 ************************************* screen -s name 新建 screen -r name ...

  3. Linux 基本命令-----常用操作分类

    Linux/Unix 命令格式: 命令名 [选项] [参数] 注:[]中的内容代表内容可以省略 例:$ ls $ ls -l #-l 是选项 开始符号: 文件名 或 文件夹名 .当前文件夹 ..上一级 ...

  4. linux 文件常用操作

    linux 文件基本操作 新建文件:touch test 不会替换重名文件,并且linux一切都是文件,文件夹和文件不能重名 新建文件夹:mkdir test使用 -p 参数,同时创建父目录(如果不存 ...

  5. Linux下常用操作汇总

    查看linux操作系统位数 (1) 终端输入: file /sbin/init 如 显示: /sbin/init: ELF 32-bit LSB executable, Intel 80386, ve ...

  6. linux服务器常用操作和命令

    1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://e ...

  7. Linux服务器常用操作

    Context 客户端:MacOS Terminal终端 服务器端:Linux v2.6 更新项目 进程 查看:ps -ef | grep * 杀死:kill -9 <pid> 数据库 备 ...

  8. linux查看常用操作

    linux下查看文件夹以及文件的大小: df命令可以显示目前所有文件系统的可用空间及使用情形 df -h Filesystem Size Used Avail Use% Mounted on /dev ...

  9. Linux一些常用操作

    1.linux swap分区 可采用文件的方式 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 mkswap /var/swap swapon / ...

  10. linux vi常用操作

    1.基本操作 进入vi vi 或者 vim 进入一个文件或者新建一个文件 例如:vim 11.txt vi有3种模式 一般模式:刚进入时.按esc时. 编辑模式:按下字母[i, I, o, O, a, ...

随机推荐

  1. Vue 结合 echarts 原生 html5 实现拖拽排版报表系统

    前言 不知道各位 coder 有没有碰到过许多重复的业务需求,比如排版相类似的报表,只不过是顺序稍微换了一下,就是一个新的页面,虽然基于模板思想来写的话也能减少不少代码,但是相对的不那么方便,笔者最近 ...

  2. MySQL权限原理及删除MySQL的匿名账户

    MySQL权限系统的工作原理 MySQL权限系统通过下面两个阶段进行认证: (1)对连接的用户进行身份认证,合法的用户通过认证,不合法的用户拒绝连接: (2)对通过认证的合法用户赋予相应的权限,用户可 ...

  3. CentOS 7 网络优化(升级内核、开启 BBR)

    我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考<Linux 下的一些简单的 TCP 优化> ...

  4. Character Array and Character Pointer

    最近复习数据结构实验时,碰到这么一行代码,看的有点不爽. typedef char** HuffmanCode; 借此梳理下数组和指针. int* p; //指针变量p中存的地址代表的内存单元中的数据 ...

  5. Jenkins 介绍

    持续集成: 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证 ...

  6. 绕WAF文章收集

    在看了bypassword的<在HTTP协议层面绕过WAF>之后,想起了之前做过的一些研究,所以写个简单的短文来补充一下文章里“分块传输”部分没提到的两个技巧. 技巧1 使用注释扰乱分块数 ...

  7. TSP变形(三进制状压)

    题目:HDU3001 #include <bits/stdc++.h> using namespace std; ],vis[][],dis[][]; ][]; void init()// ...

  8. Spring官网阅读(七)容器的扩展点(二)FactoryBean

    在上篇文章中我们已经对容器的第一个扩展点(BeanFactoryPostProcessor)做了一系列的介绍.其中主要介绍了Spring容器中BeanFactoryPostProcessor的执行流程 ...

  9. java基础 之 从Class.forName()跟.class的区别看类的初始化

    代码如下: public class Test { public static void main(String[] args) throws Exception { System.out.print ...

  10. 【Hadoop离线基础总结】oozie任务串联

    目录 需求 1.准备工作目录 2.准备调度文件 3.开发调度的配置文件 4.上传资源文件夹到hdfs对应路径 5.执行调度任务 需求 执行shell脚本 → 执行MR程序 → 执行hive程序 1.准 ...