Linux常用指令

Java程序员必须掌握的常用Linux命令。
Java程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作。小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令。

Linux常用指令

ls          显示文件或目录
     -l       列出文件详细信息l(list)
     -a       列出当前目录下所有文件及目录,包括隐藏的a(all)     
mkdir         创建目录
     -p       创建目录,若无父目录,则创建p(parent)
cd            切换目录
touch         创建空文件
vim / vi      创建/编辑文件
     insert   编辑     
     :q       退出     
     :q!      强制退出     
     :wq      保存并退出     
     esc      退出编辑
echo          创建带有内容的文件
cat           查看文件内容
tar           打包压缩
     -c       建立压缩档案     
     -x       解压缩文件     
     -z       gzip压缩文件     
     -j       bzip2压缩文件     
     -v       显示所有过程     
     -f       使用档名    
cp            拷贝
     -r       递归拷贝目录
mv            移动或重命名
rm            删除文件
     -r       递归删除,可删除子目录及文件
     -f       强制删除     
chmod         变更文件或目录的权限
kill          杀进程
find          在文件系统中搜索某文件
wc            统计文本中行数、字数、字符数
grep          在文本文件中查找某个字符串
rmdir         删除空目录
tree          树形结构显示目录,需要安装tree包
pwd           显示当前目录
ln            创建链接文件
date          显示系统时间
more / less   分页显示文本文件内容
head / tail   显示文件头、尾内容
sudo          用来以其他身份来执行命令,预设的身份为root
su            换当前用户身份到其他用户身份
stat          显示指定文件的详细信息,比ls更详细
who           显示在线登陆用户
whoami        显示当前操作用户
hostname      显示主机名
uname         显示系统信息
top           动态显示当前耗费资源最多进程信息
ps            显示瞬间进程状态     
     -e       显示所有进程     
     -f       全格式
du            查看目录大小
     -s       只显示目录大小的总合     
     -h       带单位显示目录大小
df            查看磁盘大小df     
     -h       带有单位显示磁盘信息     
free          查看内存情况
     -b       单位(bytes)     
     -k       单位(KB)     
     -m       单位(MB)     
     -g       单位(GB)
ifconfig      查看网络情况
ping          测试网络连通
netstat       显示网络状态信息
     -ano     查看某个端口是否被占用     
     -tlnp    根据端口查找PID
man           查看Linux中的指令帮助
clear         清屏
kill          杀进程
reboot        重启系统
shutdown
     -r       关机重启
     -h       关机不重启
     now      立刻关机

1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。

find . -name “*.xml” 递归查找所有的xml文件

find . -name “*.xml” |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件

grep -H ‘spring’ *.xml 查找所以有的包含spring的xml文件

find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件

ls -l | grep ‘.jar’ 查找当前目录中的所有jar文件

grep ‘test’ d* 显示所有以d开头的文件中包含test的行。

grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。

grep ‘[a-z]{5}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

2.查看一个程序是否运行 ps –ef|grep tomcat 查看所有有关tomcat的进程

3.终止线程 kill -9 19979 终止线程号位19979的进程

4.查看文件,包含隐藏文件 ls -al

5.当前工作目录 pwd

6.复制文件 cp source dest 复制文件 cp -r sourceFolder targetFolder 递归复制整个文件夹 scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝

7.创建目录 mkdir newfolder

8.删除目录 rmdir deleteEmptyFolder删除空目录 rm -rf deleteFile 递归删除目录中所有内容

9.移动文件 mv /temp/movefile /targetFolder

10.重命令 mv oldNameFile newNameFile

11.切换用户 su -username

12.修改文件权限 chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行

13.压缩文件 tar -czf test.tar.gz /test1 /test2

14.列出压缩文件列表 tar -tzf test.tar.gz

15.解压文件 tar -xvzf test.tar.gz

16.查看文件头10行 head -n 10 example.txt

17.查看文件尾10行 tail -n 10 example.txt

18.查看日志类型文件 tail -f exmaple.log//这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。

19.使用超级管理员身份执行命令 sudo rm a.txt 使用管理员身份删除文件

20.查看端口占用情况 netstat -tln | grep 8080 查看端口8080的使用情况

21.查看端口属于哪个程序 lsof -i :8080

22.查看进程 ps aux|grep java 查看java进程 ps aux查看所有进程

23.以树状图列出目录的内容 tree a ps:Mac下使用tree命令

24.文件下载 wget http://file.tgz mac下安装wget命令 curl http://file.tgz

25.网络检测 ping www.just-ping.com

26.远程登录 ssh userName@ip

27.打印信息 echo $JAVA_HOME 打印java home环境变量的值

28.java 常用命令 java javac jps ,jstat ,jmap, jstack

29.其他命令 svn git maven
cmd命令和linux命令的区别
cmd命令和linux命令看起来很相似,都是在一个控制台输入一些特定的指令去完成一些特定的操作。可是用过的朋友就会发现这些指令是有很多不同的,可是到底有什么不同,要说又说不上来,所以要了解一下。

cmd命令的起源:DOS

DOS(Disk Operating System,磁盘操作系统),是Windows系统之前的一个操作系统名称,属於单用户单任务式的,特点通常是黑底白字,用户全靠键盘输入命令来完成所有工作。之后Windows诞生了,属于多用户多任务式的(系统名称都是多窗口),初期当然还得使DOS系统可用,再之后专门开辟个cmd窗口来模仿DOS界面及大多数的命令,也称为命令行,这就是cmd命令行的诞生。

Windows里面运行cmd出来的DOS不是真正的DOS,那是微软在windows里虚拟的DOS环境,是用来运行一些高级命令的,真正的DOS是脱离系统的。因为他本身就是一种操作系统。因此,可以得出一个结论就是:cmd是一个实现了DOS功能的接口,可以使用DOS的部分功能,支持DOS的部分指令。

cmd命令和linux命令的区别

1.最根本的区别是linux shell是linux操作系统的一个用户交互层;而cmd只是windows系统下的一个小小的应用。

2.shell是介于应用程序和内核之间的壳,所有应用程序要和内核交互都必须要通过shell,包括linux的图形桌面Xwindow;而cmd只是windwows下一个补充,cmd是否存在对windows系统并没有那么重要。

3.linux在没有图形界面下几乎可以完成任何事情,而且比图形桌面更简洁高效,还可以配合shell编程实现自动化;而cmd只是windows下的一个终端模拟器,相当于一个桌面应用,不能单独存在。

4.shell功能强大,体验极佳;cmd蹩脚难用,功能有限。其实windows一直改善cmd,但是总是不够强大,最后还是妥协引入shell,比如win7的powershell和win10的linux shell,尽管还是没有专业的shell强大。这个一定程度上说明了shell远比cmd要强大得多。

一些具体命令的不同
功能
cmd:
linux:
复制文件
cmd:copy
linux:cp
移动文件
cmd:move
linux:mv
列举文件
cmd:dir
linux:ls
清除屏幕
cmd:cls
linux:clear
退出
cmd:exit
linux:exit
显示修改日期
cmd:date
linux:date
删除文件
cmd:del
linux:rm
回响信息到屏幕
cmd:echo
linux:echo
用编辑器编辑文件
cmd:edit
linux:vi
比较文件内容
cmd:fc
linux:diff
在文件中查找字符串
cmd:find
linux:grep
显示命令帮助
cmd:命令/?
linux:man 命令
创建目录
cmd:mkdir
linux:mkdir
删除目录
cmd:rd
linux:rmdir
目录更名
cmd:move
linux:mv
拷贝目录
cmd:xcopy
linux:copy
查看文件
cmd:more
linux:less
重命名文
cmd:ren
linux:mv
切换目录
cmd:cd
linux:cd
显示时间
cmd:time
linux:date
显示已被使用的内存
cmd:mem
linux:free
在屏幕打印文件内容
cmd:type
linux:cat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章