开发中linux常用的一些命令:
1. cd
进入指定目录,例如:cd /usr/local
2. pwd
查看当前目录,例如:pwd
3. mkdir
新建文件夹,例如:mkdirtest
4. ls or ll
显示当前目录下的文件和文件夹,例如:ls
5. cp
复制文件或文件夹,格式为:cp 源文件路径 新文件路径
例如:cp /usr/local/test.txt /home/newfile.txt
如果是复制整个文件夹,需要加上 –r,代表嵌套复制
例如:cp -r /usr/local /home/newfold
6. rm
删除文件或文件夹,格式为:rm 文件路径
例如:rm/usr/local/aaa.log
如果是删除整个文件夹,一般需要加上–rf ,代表强制级联删除
例如:rm –rf/usr/local
7. mv
移动文件或文件夹,也用来重命名文件或文件夹,
格式为:mv 源文件路径 新文件路径
例如:mv /usr/local/test2.txt /home/newtest2.txt
如果是移动文件夹,一般需要加上 –r,代表嵌套移动,
例如:mv –r /usr/local /home/newlocal
若是重命名,路径写成一样,文件名不同即可
8. cat
一次性查看文件内容,常用管道和more,less命令一起使用,
格式为:cat 文件路径
例如:cat ./test.txt
例如:cat ./test.txt | less
关于more和less命令,主要是用来上下翻页查找文本
9. tail
查看文本末尾几行内容,开发中常用来检测日志,
格式:tail -f /usr/local/test.log
参数 –f 代表不断查看该文本的末尾几行,可以指定查看末尾几行,
但一般是用不上,还有可以直接用tailf /usr/local/test.log,
还有一种情况就是,当测试服务器上同时很多人在调试接口时,
一般来说眼睛是跟不上日志的刷新速度的,这是我们可以把监测到的
日志信息存到文本中,就可以直接在文本中查找了,
例如:tail –f/usr/test.log > /usr/target.log,
单个的 > 符号代表覆盖输出,两个 > 代表追加输出,看个人需求了
10. vi
linux很经典的编辑器,功能强大,当然现在也有很多人用vim,
格式:vi 文件路径,文件若不存在会创建新文件,保存后相当于新建了
一个文件。进入vi编辑模式后,按CTRL + F是向下翻屏(翻页),CTRL + B是
向上翻屏,大写G是跳到文本最后一行快捷键,SHIFT + G是返回第一行快捷键,
返回第一行快捷键有时候需要按两次G才能返回第一行,
搜索文本命令,例如:/keyword(向下搜索),?keyword(向下搜索),
搜索过程中,按n为当前方向继续搜索,按N为反方向继续搜索,
vi下有几种模式,常用的就是输入i,即insert模式。之后按ESC退出当前模式,
输入:q代表正常离开vi,:q!代表强制离开(不保存修改),:wq代表保存并退出vi
11. tar
压缩和解压缩tar包,常用压缩格式:tar –zcvf /usr/aaa.tar.gz,
常见解压缩格式:tar –zxvf/usr/bbb.tar.gz,
.gz代表用gzip格式压缩,如果是aaa.tar这种压缩包,
那么命令就类似这样:tar –xvfaaa.tar,-z代表以gzip格式压缩或解压缩
12. rpm
RPM 全名是『 RedHat Package Manager 』简称则为 RPM,一些软件是以这种包来进行安装的,常用的格式:rpm /usr/saaa.rpm
13. unzip
解压缩zip包,用zip命令可以压缩zip包,但一般不在linux打zip包,所以zip命令不常用,格式和unzip是一样的。一般打补丁都是打zip包,在windows下打包好,在linux下解压缩
14. kill
和netstat经常一起使用,通过netstat查看进程ID,再通过kill命令杀掉进程,
常用格式为:kill 进程ID
15. grep
类似全文检索的一个命令,在指定目录下查找包含某个关键词的文件,使用场景一般是在搜索日志文件,一般日志都会按大小,时间来划分,当日志大量输出时,如果用vi或者less等命令,就要一个一个文件的去搜索,很麻烦。
常用格式:grep 关键词 要搜索的路径,
例如:grep ‘test’ /usr/*
16. ifconfig
查看当前IP情况,和windows中的ipconfig类似,
例如:ipconfig
17. netstat
查看当前网络状态,和windows中的netstat类似,
例如:netstat -anp
18. top
查看当前内存使用状况,防止内存溢出,
例如:top
19. df
查看当前磁盘使用状况
例如:df
20. ping
和windows中的ping类似,尝试和某个主机连接,
例如:ping 127.0.0.1
21. clear
清理屏幕,其实就是把光标移到最后一行,往上移动,还是会看到之前的命令记录的,有点伪清理的感觉。
例如:clear
22. reset
重置,这就是真正的清理屏幕了。相当于重新连接了一次,并且进入到原先的目录,
例如:reset
23. reboot
重启服务器,
例如:reboot
24. chgrp
变更文件所属群组,这里不细说,需要的话可以百度一下
例如:chgrp 新群组 文件(文件夹)
25. chmod
修改文件或文件夹的权限,
例如:chmod 777 /usr/local/aaa.txt,
涉及到linux权限知识,需要的话可以百度一下
26. chown
改变文件的所有者和群组,
例如:chown test:root test.txt,
将test.txt文件的所有者改为test,所在群组改为root,此命令也是
涉及到权限问题,不细讲
27. jps
显示当前所有java进程,还是蛮有用的,可以知道我们有哪些java程序在运行,
进程ID是多少,方便我们jstack或者kill
28. jstack
用于打印java进程的堆栈信息(threaddump文件),格式为:jstack 进程ID,
例如:jstack 21542,
例如:jstack 21354 > 20160101.txt,
一般线程死锁,内存溢出等问题都可以通过该命令生成thread dump文件去排查问题
29. ln
创建快捷方式(软链接),格式:ln –s 目标文件夹 快捷方式名,
例如:ln –s /usr/local/nginx gonginx,
那么就会在当前目录下创建一个名为gonnginx的快捷方式
再说一下几个符号:
| :管道符号,可以把管道前的输出流转成管道后的输入流,简单的例子就是
cat aaa.txt | less,就是把cat出来的文本数据当成是less的参数去处理。
> :输出符号,将指定内容输出或追加(>>)到指定文件。
; :分隔符号,可以同时执行多个命令。比如:mkdir aaa;mkdir bbb,就是
同时创建两个文件夹。
最后:
在/etc/profile文件里,加上一段话,
catlog(){tail –f/usrllocal/tomcat/log/catalina.out}
alias cl = ‘catlog’
source一下/etc/profile文件,让修改内容生效,
输入命令cl,就会进入监测日志的页面,没错,这就是自定义命令。
我们可以自定义一下常用的命令,方便我们开发,测试,和部署,
比如输入cdtom,直接进入tomcat目录,
比如输入runtom,直接启动tomcat,
比如输入stoptom,直接停掉tomcat,等等,是不是很方便,
具体的自定义命令,可以去百度查查资料。
许多命令都可以结合在一起使用:
比如:runtom;catlog,两个都是自定义命令,相当于启动tomcat并监测日志,
比如:可以自定义一个命令,把指定目录的补丁打到指定的位置,并重启tomcat