Linux常用命令
全局替换::%s/需要替换字符/替换目标字符/g
vim:编辑文档
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
(1)编辑
- r:替换一个字符,首先按Esc退出编辑状态---->>>然后按r---->>>进入编辑状态
- J:将下一行和当前行连接为一行,不进入编辑模式
- cc:删除当前行并进入编辑模式
- cw:删除当前字,并进入编辑模式
- c$:擦除从当前位置至行末的内容,并进入编辑模式
- s:删除当前字符并进入编辑模式
- S:删除光标所在行并进入编辑模式
- xp:交换当前字符和下一个字符
- u:撤销
- ctrl + r:重做
- .:重复上一个编辑命令
- ~:切换大小写,当前字符
- g~iw:切换当前字的大小写
- gUiw:DD将当前字符变成大写
- guiw:将当前字符变成小写
- >>:将当前行右移一个单位
- <<:将当前行左移一个单位(一个tab符)
- ==:自动缩进当前行
(2)插入模式
- i:从当前光标处进入插入模式
- I:进入插入模式,并置光标与行首
- a:追加模式,置光标与当前光标之后
- A:追加模式,置光标与行末
- o:在当前行之下新加一行,并进入插入模式
- O:在当前行之上新加一行,并进入插入模式
- Esc:退出插入模式
(3)标记文本
- v:进入可视模式,单字符模式
- V:进入可视模式,行模式
- ctrl + v:进入可视模式,列模式,类似于UE的列模式
- o:跳转光标到选中块的另一个端点
- U:将选中块中的内容转成大写
- O:跳转光标到块的另一个端点
- aw:选中一个字
- ab:选中括号中的所有内容,包括括号本身
- aB:选中{}括号中的所有内容
- ib:选中括号中的内容,不含括号
- iB:选中{}中的内容,不含{}
(4)对标记进行动作
- >:块右移
- <:块左移
- y:复制块
- d:删除块
- ~:切换块中内容的大小
(5)退出编辑
- :w --->>>将缓冲区写入文件,即保存修改
- :wq --->>>保存修改并退出
- :x --->>>保存修改并退出
- :q --->>>退出,如果对缓冲区进行修改过,则会提示
- :q! --->>>强制退出,放弃修改
- :wq! ---->>>强制保存退出
(6)查找替换(出于vim编辑命令时)
- /pattern --->>> 向后搜索字符串pattern
- ?pattern --->>>向前搜索字符串
- n --->>>下一个匹配(如果是/搜索,则是向下的下一个,如果是?搜索则是向上的下一个)
- N --->>>上一个匹配(同上)
- :%s/old /new/g --->>>搜索整个文件,将所有的old替换为new
- :e:刷新日志
- Shift + g:跳到日志底部
:%s/old/new/gc --->>>搜索整个文件,将所有的old替换为new,每次替换都需要确认是否替换
(7)复制粘贴
- dd --->>>删除光标所在行
- dw --->>>删除一个字(word)
- x --->>>删除当前字符
- X --->>>删除前一个字符
- D --->>>删除到行末
- yy --->>>复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
- yw --->>>复制一个字
- y$ --->>>复制到行末
- p --->>>粘贴粘贴板的内容到当前行的下面
- P --->>>粘贴粘贴板的内容到当前行的上面
- ]p --->>>有缩进的粘贴,vim会自动调节代码的缩进
(8)移动光标
- h-j-k-l:上左右下移动
- ctrl + f:上翻一页
- ctrl + b:下翻一页
- %:跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
- w:跳到下一个字首,按标点或单词分割
- W:跳到下一个字首,长跳,如end-of-line被认为是一个字
- e:跳到下一个字尾
- E:跳到下一个字尾,长跳
- b:跳到上一个字
- B:跳到上一个字,长跳
- 0:跳至行首,不管有无缩进,就是跳到第0个字符
- ^:跳至行首的第一个字符
- $:跳至行尾
- gg:跳至文件的第一行
(9)在屏幕上移动
- H:移动光标到当前屏幕上最上边的一行
- M:移动光标到当前屏幕上中间的一行
- L:移动光标到当前屏幕上最下边的一行
(10)mkdir:新建目录
- rdir:删除目录---->>>>只能删除空目录
(11)touch:新建文件
********************************************************************************************************************************
(12)rm:删除文件或目录
- rm 文件名:删除文件
- rm 目录名:递归删除文件和目录
- rm -f 文件名:强制删除文件
- rm -rf 目录名:强制删除文件和目录
********************************************************************************************************************************
(13)cat:查看文件内容,从头到尾查看
- cat 文件名:查看文件内容
- cat -n 文件名:查看文件内容,并列出行号
********************************************************************************************************************************
(14)more:分屏显示文件内容
- more 文件名:
- 空格键:向上翻页
- b键:向下翻页
- q键:退出查看
********************************************************************************************************************************
(15)head:显示文件头
- head 文件名:默认显示文件前10行
- head -n 20 文件名:显示前20行
- head -n -20 文件名:显示最后20行
- Ctrl + c:强制终止查看模式
- Ctrl + l:清屏
********************************************************************************************************************************
(16)cp:copy,拷贝文件或目录
- cp 源文件 目标位置:复制
- cp 源文件 目标位置/目标名称:复制并改名
- cp -r 复制目录
********************************************************************************************************************************
(17)mv:移动文件或目录
- mv /amp/sit/61004 /amp/uat:将amp下sit中的61004文件或目录复制到amp下的uat中
- mv /amp/sit/61004 /amp/uat/new_61004:移动并改名
********************************************************************************************************************************
(18)ps:查看Linux中的进程和端口号
- ps -a:查看所有菜单
- ps -u:以用户格式显示
- ps -x:显示后台进程运行参数
- ps -d:显示进程信息,显示格式为:创建人 创建时间 进程号
- ps -ef | grep java:查看正在运行的java进程
********************************************************************************************************************************
(19)netstat:查看Linux中与http和tcp相关的信息
- netstat -t:仅显示和tcp相关的
- netstat -u:仅显示和udp相关的
- netstat -n:不限制别名,能显示数字的全部转换为数字
- netstat -l:仅显示出listen(监听)状态的
- netstat -p:显示建立这些连接的程序
- netstat -ntlp:查看当前所有tcp端口
********************************************************************************************************************************
(20)kill:关掉进程
- kill -9 pid:根据pid关掉相应的进程
********************************************************************************************************************************
***********************************************************************************************************
(1)打印当前所在路径 : pwd
(2)显示文件大小:df -h
(3)显示文件大小:du -h
(4)如果只想查看当前目录占用空间的大小,不查看子目录或者子文件占用空间大小:du -sh
(5)显示当前目录的所有文件夹:ll(或ls)
(6)查看当前java进程:ps -ef|grep java
***********************************************************************************************************
(22)远程拷贝
(1)scp命令:secure copy的简写,用于Linux下远程拷贝文件 ----->>>命令格式:scp 【参数】 【原路径】 【目标路径】
【参数】:-r:递归复制整个目录
-P:port,指定数据传输的端口号
【scp应用实例:从本地复制到远程】 D:\MyData\huangdh7\Desktop\scp\new_iac_scanner-0.0.1-SNAPSHOT.war
【scp实例应用:复制文件】
scp local_file remote_username@remote_ip : remote_folder ----->>>>指定了远程目录,文件格式不变
D:\MideaSoftwareInstallPackage\Linux\openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz /svr/java
或
scp local_file remote_username@remote_ip : remote_file ----->>>>修改原文件名
或
scp local_file remote_ip : remote_folder/remote_file
【scp实例应用:复制文件】
scp -r local_folder remote_username@remote_ip : remote_folder
或
scp -r local_folder remote_ip : remote_folder
【scp实例应用:从远程复制到本地】
【scp实例应用:复制文件】
scp root@ 192.168.120.204:/opt/soft/nigx.tar.gz(远程目录) /opt/soft(本地目录)
【scp实例应用:复制目录】
scp -r root@remote_ip:/opt/soft/mongodb(远程目录) /opt/soft(本地目录)
(2)cp命令:copy --->>>>只在本机进行拷贝,不能跨服务
(23)服务启动与终止
(1)启动和停止服务:sh start.sh -------------------- sh stop.sh
(24)echo命令
********************************************************************************************************************************
(25)WC命令:word count(字符统计)
作用:统计行数、统计单词个数、字符个数
格式:wc [选项] [文件]
选项:
-l:统计行数
-c:统计字符个数
-w:统计单词个数
********************************************************************************************************************************
(26)管道符:|
作用:将前面的命令的执行结果传递到后面的命令,让后面的命令进行二次处理