网站首页 > 技术文章 正文
作为一个Java开发人员,我们的服务基本上都是部署在Linux环境,所以常用的Linux命令必须掌握。本文不对所以的命令进行详细的解释, 只给出关键的命令, 如果当你看了一眼想不起它的详细用法, 那就说明是时候再去学习巩固一下了。这只是我对部分知识的一个整理,方便后面学习和查阅。
查询命令帮助手册
man <command>
进程相关
查看Java进程
ps -ef | grep java
查看端口属于哪个进程
lsof -i :8080
杀掉进程
kill -9 pid #强制
网络网关
显示网络设备信息
ifconfig
下载网络文件
wget download_url
访问访问地址
curl www.example.com
地址检测
ping www.just-ping.com
登录远程主机
telnet IP
SSH 远程登录
ssh username@IP -p 端口号
权限相关
切换用户
su -username
获得权限
sudo
修改文件/目录权限
chmod 777 file.txt
使脚本具有执行权限
chmod +x ./test.sh
修改密码
passwd
资源占用查看
显示磁盘空间的使用情况
## du的英文原义为“disk usage” du -h
磁盘空间占用信息
disk free
# 以千字节为单位显示磁盘空间信息
df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 51474044 10046024 38806656 21% /
devtmpfs 498632 0 498632 0% /dev
tmpfs 508256 60 508196 1% /dev/shm
tmpfs 508256 312 507944 1% /run
tmpfs 508256 0 508256 0% /sys/fs/cgroup
tmpfs 101652 0 101652 0% /run/user/0
kbytes 文件系统中可用空间的总大小
used 已用空间量
avail 可用空间量
capacity 已用空间量,表示为总容量的百分比
mounted on 挂载点
如果用户删除了一个正在运行的应用程序所打开的某个目录下的文件:
du命令返回的值,显示出减去了该文件后的总大小
df命令返回的值,则不显示减去该文件后的大小(文件句柄还在被使用),
直到该运行的应用程序关闭了这个打开的文件(才会真正释放空间)
查看内存使用
free -m
查看程序的cpu、内存使用情况
top` `top -Hp pid
查看端口占用情况
netstat -ntl -a或--all:显示所有连线中的Socket; -n或--numeric:直接使用ip地址,而不通过域名服务器 -t或--tcp:显示TCP传输协议的连线状况 -l或--listening:显示监控中的服务器的Socket
JAVA JVM相关
查看yum库中的Java安装包
yum -y list java*
使用yum安装Java
yum -y install java-1.8.0-openjdk* 注:“*”表示将java-1.8.0-openjdk的所有相关Java程序都安装
显示进程信息
jps
查看JVM参数
jinfo pid
查看GC日志
jstat -options 可用选项 jstat -gccause 19692 1s 每秒输出GC情况
线程dump
jstack -l pid jstack -l pid > /home/pid.log
堆转储
jmap -histo:live <pid> jmap -dump:live,format=b,file=d:/19692_dump <pid>
后台运行进程
nohup java -jar a.jar &
编译JAVA代码
javac fileName.java
运行JAVA文件
java fileName
代码反编译
javap -c fileName
文件
创建空白文件
touch a.txt
创建文件夹
mkdir
删除文件或目录
rm
复制文件
cp source dest
移动文件
mv file dir/file
重命名文件
mv a.txt b.txt
远程拷贝
scp
查看文件,包含隐藏文件
ls -al
当前工作目录
pwd
查找文件
find
查找并删除指定目录小于100k的文件:
find /usr/local/test -size -100k -exec rm {} \;
解压 tar包
tar –xvf file.tar
unzip解压
unzip test.zip
文本查看
查看整个文本
cat a.txt
分页查看文本
more a.txt
查看文本文档的前N行
head -n 20 a.txt
查看文本文档的最后N行
tail -n 20 a.txt
持续动态刷新显示文本内容
tail -f a.logtailf a.log
浏览文本
less a.log
从文本按指定字段查找
grep "key" a.log
统计文本出现的次数
grep "o" pom.xml| wc -l grep "o" pom.xml -c
使用正则表达式匹配邮箱 -o显示只匹配的地方 grep -E -o '([a-zA-Z0-9_\-\.\+]+)*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}' all.txt
其他
Linux 命令学习网站
https://explainshell.com/
后记
其实在工作中需要用到的Linux 命令远不止于此, 需要学习的命令还有很多很多, 学习没有终点, 我们要做的就是多思考, 多学习, 多总结, 加油 !
作者:精灵王
来源:https://www.cnblogs.com/admol/p/5082123.html
猜你喜欢
- 2024-10-19 Java高频面试题之Linux(java面试 linux)
- 2024-10-19 性能测试能力提升-JVM GC监控和优化
- 2024-10-19 排查GC问题常用的工具(排查问题的方式有哪些)
- 2024-10-19 开发好物推荐8之自动化部署插件,再也不用登录SSH
- 2024-10-19 20道阿里巴巴中高级java面试题详解,把这些弄懂offer拿到你手软
- 2024-10-19 Java Web实战篇:发布和运维必备的12条Linux命令
- 2024-10-19 Java工程师常用Linux命令大全(linux javac)
- 2024-10-19 玩转linux下启动jar和关闭jar方式(java程序员必看)
- 2024-10-19 超详细的EFK安装部署教程--环境准备篇
- 2024-10-19 为什么阿里架构师是这样定位Java性能问题的?这几点总结的很详细
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)