日常开发中,如果不是直接使用linux作为工作PC,仅仅是连接至系统环境进行一些运维和问题排查工作,用的linux命令并不多,下面只是列了几个常用的,说明了命令的基本作用和简单的使用,具体的使用参数和更多的命令可以查阅Linux命令大全(手册)。
常用命令
pwd
:查看当前路径grep **
管道,文本搜索,全面的正则表达式支持,所以使用时注意一些正则字符要用‘\’修饰。
//查询上下
git log |grep “xxxx” -C 5
//查询往后 after
git log |grep “xxxx” -A 5
//查询往前 before
git log |grep “xxxx” -B 5find
:find命令可以根据给定的路径和表达式查找文件或目录,grep虽然可以搜索,但是仅限于文本(名称搜索),而find可以从大小,属性,访问时间,类型等多个维度进行文件搜索。ls
:查看当前目录下的所有文件,可以用ls | grep ***
来过滤cd
: 切换目录cp
: 复制文件或目录mkdir
: 创建目录touch
: 创建一个文件mv
: 移动或者改名文件rm xxx.xxx
删除指定文件ln
:文件连接,分为硬连接和软连接,硬连接相当于java里面将重新定义一个变量指定目标变量,软连接相当于window的创建快捷方式ps
查看系统进程信息,一般用ps -ef
这两个参数查看进程表,或者ps -ef | grep java
查看java相关的进程(不过java提供了jps
命令更好)。ping [ip]
: 测试主机之间的网络连通性,如果不设置次数会一直ping,可以通过ctrl+c 退出ssh
:远程登录服务器,类似于windows的远程桌面连接who am i
: 查看当前用户cat xxx.xxx
: 查看文件内容,可以和grep结合进行文件展示,不过一般用于小文件,因为这个命令会一次性显示所有的内容,所以文件很大的话就只能看一段时间的滚屏,对于大文件,可以用more命令,分屏展示zcat xxx.xxx
: 和cat一样,不过是针对的压缩文件more xxx.xxx
: 显示文件内容,不是一次性显示,通过按键按一次滚动一屏(行)。less
: 显示文件内容,不是一次性显示,通过按键按一次滚动一屏(行),和more作用很相似,但是less不仅可以像more一样像下滚动,而且可以向上滚动。tail xxx.xxx
: 查看文件尾部内容,-n可以设置显示行数, -f还可以滚动显示head xxx.xxx
: 查看文件开头的几行echo
:输出字符串或者提取shell变量的值。前面半句相当于print,但是目标是一个字符串 后半句一部分也相当于print,不过目标是变量,这个变量即可以是自己定义的,也可以是系统变量vi
:文本编辑,相当于打开了目标文件的文本编辑器。编辑完成后先按esc,再输入 :x,再按Enter就完成了保存。sed
: 脚本式的文本编辑,可以用脚本批量执行编辑动作yum
: 软件安装,更新,卸载的命令history
:列出之前使用所有命令- top:重要,可以用来排查CPU问题
- jstack命令:重要,可以用来排查CPU问题
- jps命令:重要,用来排查问题
- jmap命令:重要,用来排查OOM问题
快捷键
ctrl+z
:退出当前正在执行的命令,如果一个命令执行时间过长可以用这个命令退出,此时任务处于挂起状态,可以使用fg/bg命令重新唤醒,fg命令在前台重新启动被中断的任务,bg则是把被中断的任务放在后台执行ctrl+d
: 退出命令,不是运行中的,比如你执行了一个命令,这个命令让你输入东西,但是你又不知道,可以用这个快捷键退出q
: 按键也会作为一些命令的退出,比如top命令ctrl+c
: 中断正在执行的命令,这个直接kill掉了,相当于windows任务管理器终止进程↑↓
:这两个按键可以调取之前执行的命令ctrl+r
: 用来查询过去使用过的命令,history命令会列出之前使用所有命令,这个快捷键就是从这个结果集里查询ctrl+L
:清除空控制台(屏幕)ctrl+u
: 从光标位置剪切到行首ctrl+k
: 从光标位置剪切到行尾ctrl+w
: 减去光标左侧的一个单词ctrl+Y
: 粘贴 ctrl+u(k,w)剪切的命令,也可以直接鼠标右键操作ctrl+A
: 光标跳到命令行开头ctrl+E
: 光标跳到命令行结尾ctrl+D
: 关闭shell会话