系统相关
首页 > 系统相关> > Java开发掌握这些Linux命令就够了

Java开发掌握这些Linux命令就够了

作者:互联网

一、导学

 

 

掌握Linux命令是高级Java工程师必备的技能之一,但并不是每个人都能完全掌握,绝大部分Java初中级工程师只知道少数的cd/ls/mkdir/rm等非常简单的命令,但是只会这些命令是完全不够的,如果想要提升技术壁垒,晋升成为大牛程序员,掌握最实用的Linux命令是不可或缺的。文本作者结合多年企业开发经验,将最实用的Linux命令进行了清晰的分类,逐条罗列,对照反复练习即可快速掌握。熟练使用文本提到的命令能有效提升运维技能并帮助各位提高工作效率。

 

 

提示:

 

 

 

 

二、安装服务命令

 

 

在日常开发和部署的工作中,安装服务是非常常见的操作,一般来说当我们执行某个命令提示不存在命令时,都需要进行服务安装,一般安装命令有2种:在线安装和离线安装。对比来说,如果网速还不错的话,推荐使用在线安装更加方便。

 

 

1. 在线安装

 

 

yum install -y vim

 

 

示例含义:在线安装vim服务

 

 

注意:如果要加速yum在线下载需要修改yum源为国内源

 

 

2. 离线安装

 

 

rpm -ivh  tomcat.rpm

 

 

示例含义:离线安装tomcat服务

 

 

注意:rpm文件安装包需要上传到服务器上,再执行安装命令

 

 

三、文件操作命令

 

 

文件操作命令是Linux中使用最为频繁的命令,众多命令中还包含非常出名的Linux三剑客grep、awk、sed,在文中也有介绍。

 

 

1. 创建文件

 

 

创建方式1:touch命令直接创建

 

 

 

 

创建方式2:vi命令修改后保存

 

 

 

 

创建方式3:echo命令输出写入文件

 

 

 

 

2. 编辑文件

 

 

 

 

3. vi或vim内查找关键词

 

 

用法:vi或vim打开文件后(不要进入到编辑模式)输入英文的?或/,后面跟上要搜索的关键词即可

 

 

 

 

4. 命令光标的移动

 

 

这个命令非常实用,有时候当我们输入一段比较长的命令时,光标已经到最后了,但发现前面的命令写错了,一般的做法是按照向左箭头按键一直往左移动光标,改完由按向右监听按键一直向右移动光标,这个效率太慢了,以下快捷键能快速解决这个问题,能直接达到命令最前面和最后面。

 

 

 

 

5. vi或vim设置或取消行号

 

 

vi或vim打开文件后,根据要求分别输入如下命令(不要进入到编辑模式)

 

 

 

 

shell :set nu

 

 

 

 

shell :set nonu

 

 

6. vi或vim 调到末行及首行

 

 

vi编辑文件时,如果内容太长,想要快速将光标跳转到文件头部或尾部,使用下面按键

 

 

 

 

7. vim或vim删除行

 

 

不进入编辑模式,在要删除的行敲击 dd

 

 

8. vi或vim复制行

 

 

不进入编辑模式,在要删除的行敲击 4 yy,标识从当前行开始复制4行,再移动光标到指定位置按p键粘贴

 

 

9. 不编辑查看文件全部内容

 

 

cat abc.txt

 

 

10. 不编辑查找文件内容

 

 

 

 

shell grep "heima" abc.txt

 

 

 

 

shell cat abc.txt |grep "heima"

 

 

这里用到了Linux三剑客之一的筛选命令grep,主要用于筛选文本

 

 

10. 统计某个关键字在文件中出现的次数

 

 

 

 

shell grep "heima" abc.txt |wc -l

 

 

 

 

shell grep "heima" abc.txt |wc -l

 

 

11. 查看文件首行或尾行

 

 

 

 

shell head -3 abc.txt

 

 

 

 

shell tail -3 abc.txt

 

 

 

 

shell tail -3f abc.txt

 

 

12. 替换文件内某个关键字

 

 

sed作为Linux三剑客之一,是使用的最流行的替换命令,主要用于替换本文中的内容

 

 

sed -i s/heima/itcast/g abc.txt

 

 

示例含义:替换abc.txt文件内所有heima为itcast

 

 

13. 重命名文件

 

 

 

 

shell mv abc.txt bcd.txt

 

 

 

 

shell rename abc bcd abc.txt

 

 

14. 输出格式固定的文件中第几行第几列数据

 

 

awk作为Linux三剑客之一,主要用于输出固定格式文件的内容

 

 

假设文本文件内每行数据的格式如: 姓名,年龄,城市,注意分隔符是逗号

 

 

 

 

shell awk '{print;}' aaa.txt

 

 

 

 

shell awk -F ',' '{print $3}' aaa.txt

 

 

-F后紧跟的是每行内容的分割符号

 

 

 

 

shell awk -F ',' '{print $(NF-1)}' aaa.txt

 

 

 

 

shell awk -F ',' '{print $2}' aaa.txt|head -2

 

 

15. 根据名称查找某目录下的文件

 

 

find test/ -name abc*

 

 

示例含义:查找test目录下,所以文件名包含abc的文件

 

 

16. 查找文件并删除

 

 

find test/ -name "abc*" | xargs rm -rf

 

 

示例含义:查找test目录下,所以文件名包含abc的文件并执行删除操作

 

 

17. 查找30天前创建的文件并删除

 

 

find test/ -mtime +30 -type f | xargs rm -rf

 

 

示例含义:查找test目录下,所有创建时间超过30天的文件并执行删除操作

 

 

18. 下载文件

 

 

 

 

shell wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.9/bin/apache-tomcat-8.5.9.tar.gz

 

 

 

 

shell axel -n 10 https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.9/bin/apache-tomcat-8.5.9.tar.gz

 

 

示例含义:开启10个线程一起下载一个文件,注意这种下载效率会比单线程快很多

 

 

 

 

四、压缩解压命令

 

 

压缩解压命令在开发中比较常见,一般开发部署遇到的压缩包主要以zip和tar包为主,掌握这2种压缩文件的压缩和解压命令就足够了。

 

 

1. zip

 

 

 

 

shell zip -r xxxx.zip xxxx

 

 

实例含义:将xxx的全部内容压缩为xxx.zip

 

 

 

 

shell unzip -d xxxx xxxx.zip

 

 

2. tar.gz

 

 

 

 

shell tar -zcvf test.tar.gz test/

 

 

 

 

shell tar -zxvf test.tar.gz test

 

 

五、系统命令

 

 

系统命令是我们日常排查服务器问题及进行系统设置时使用比较多的命令,这些命令要求熟记于心

 

 

1. 查看网卡信息

 

 

ip addrifconfig

 

 

2. 修改密码

 

 

修改当前用户密码:

 

 

passwd

 

 

修改其他用户密码:

 

 

password deploy

 

 

3. 重启系统

 

 

reboot

 

 

4. 重启网卡

 

 

service network restart

 

 

5. 关闭防火墙

 

 

systemctl stop firewalldsystemctl disable firewalld

 

 

6. 查看内存大小

 

 

 

 

shell free -m

 

 

 

 

free -g

 

 

7. 查看磁盘空间

 

 

 

 

shell df -h /

 

 

 

 

shell du -sh test/

 

 

 

 

shell du -sh abc.txt

 

 

8. 查看cpu使用情况

 

 

top

 

 

9. 跨服务器传输文件

 

 

 

 

六、文件权限命令

 

 

1.为文件添加权限

 

 

比如我们在任意目录下执行ls -al,将看到文件或目录最前面显示效果如下

 

 

444 r--r--r--600 rw-------644 rw-r--r--666 rw-rw-rw-700 rwx------744 rwxr--r--755 rwxr-xr-x777 rwxrwxrwx

 

 

解读下这个展示效果的含义,其实都是文件系统权限相关内容:

 

 

从左至右,先是3个数字,代表文件权限然后是9个字母(或者连字符),其中 1-3位数字代表文件所有者权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限,而具体的权限是由数字来表示的。

 

 

 

 

通过4、2、1的组合,得到以下几种权限:

 

 

 

 

2. 为某个目录添加执行权限

 

 

chmod a+x -R test

 

 

3. 以root身份执行命令

 

 

su chmod a+x  -R test

 

 

七、进程命令

 

 

服务部署时使用比较多的命令就是进程命令,这些命主要是围绕着查看进程、确认进程存活情况及杀掉进程等操作

 

 

1. 查看进程

 

 

ps -ef|grep java

 

 

示例含义:查看所有运行中的进程信息中包含java的进程

 

 

2. 查看端口是否占用

 

 

lsof -i:8080

 

 

示例含义:确认8080端口是否被占用,如果命令执行完有响应数据列表,则表示已占用

 

 

3. 确认端口是否开启*

 

 

telnet 192.168.200.130 8080

 

 

示例含义:确认192.168.200.130的8080端口是否能连通,能连通就会进入黑窗口有光标,否则会卡主到超时

 

 

4. 杀掉进程

 

 

kill -9 1011

标签:文件,shell,Java,就够,命令,abc,Linux,test,txt
来源: https://www.cnblogs.com/root-123/p/16574594.html