后端开发人员必备的linux经常使用命令清单与实例,这是我在公司给团队小伙伴一次技术小分享。内容深刻浅出,简单明了,放出来给你们分享。新手司机能够收藏、学习,老司机能够批评指正。
(本文持续更新中^_^
)
系统信息监控/查看
ps
是Process Status
的缩写,ps
命令用来列出系统中当前运行的那些进程的快照。java
-a
显示同一终端下的全部程序-A
显示全部进程-e
等于“-A
”-f
显示程序间的关系,pid
& ppid
-H
显示树状结构-u
指定(当前)用户的全部进程示例linux
ps -ef
ps -aux
top
性能分析工具,可以实时显示系统中各个进程的资源占用情况,相似于Windows的任务管理器正则表达式
top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 3.4%sy, 0.0%ni, 90.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32949016k total, 14411180k used, 18537836k free, 169884k buffers Swap: 32764556k total, 0k used, 32764556k free, 3612636k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28894 root 22 0 1501m 405m 10m S 52.2 1.3 2534:16 java
netstat
查看访问网络链接状态后端
-a
或–all
显示全部连线中的Socket
-n
或–numeric
直接使用IP地址,而不经过域名服务器-p
或–programs
显示正在使用Socket
的程序识别码和程序名称-t
或–tcp
显示TCP
传输协议的连线情况-u
或–udp
显示UDP
传输协议的连线情况示例服务器
netstat -apn | grep 8080
netstat -apnt | grep 8080
编辑器
vi
编辑器经常使用命令网络
a
查看app
/word
n
N
替换tcp
u
、ctrl
+ r
复制编辑器
粘贴工具
p
删除
x
、X
diw
、daw
dd
添加行
O
o
ctrl
+ d
, ctrl
+ u
:set nu
ctrl + g
行
0
$
gg
G
句
(
)
段
{
}
屏幕
ctrl
+ v
ctrl
+ e
ctrl
+ u
ctrl
+ d
ctrl
+ b
ctrl
+ f
保存退出
w
保存q
退出q!
不保存,强制退出磁盘文件有关
df
检查linux
服务器的文件系统的磁盘空间占用状况
-T
文件系统类型-h
方便阅读方式显示,1K=1024-H
等于“-h
”,可是计算式,1K
=1000
,而不是1K
=1024
-l
只显示本地文件系统列表-k
区块为1024
字节-a
所有文件系统列表示例
df -hl
查看当前目录下全部目录、文件的大小du
查看文件和目录磁盘使用的空间
-a
显示当前目录以及子目录下全部的文件大小-h
自动转换单位 M
,GB
-s
统计总大小示例
du -a
du -sh
当前目录大小find
查找文件,配合正则使用更佳
-name
名字-size
大小-type
类型示例
find /home/server -name server.xml
查找/home/server
下名字为server.xml
的文件find . -type d | sort
查找当前全部目录并排序find . -size +1000c -print
查找当前目录大于1K的文件tail
从指定点开始将文件写到标准输出
示例
tail -20f app.log
tar
打包工具
-c
新建压缩文件,与 x
逆操做-v
显示操做过程-f
指定压缩文件-x
解压缩文件 与 c
反向操做-z
支持gzip解压文件示例
tar -xvf name.tar.gz
解包tar -cvf name.tar.gz /dir
打包,未压缩tar -zxvf name.tar.gz
解包,gzip解压缩tar -zcvf name.tar.gz /dir
打包,gzip压缩grep
文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行信息打印出来。
-A
前多少行,不包括当前行-B
后多少行,不包括当前行-C
先后多少行,不包括当前行-c
统计行数-i
忽略大小写示例
grep -C 10 keywords fileName.log
在文件fileName.log
查找关键词keywords
先后10行wc
是 Word Count
缩写,统计指定文件中的字节数、字数、行数,并将统计结果显示输出
-c
统计字节数-l
统计行数-m
统计字符数。这个标志不能与 -c 标志一块儿使用-w
统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串-L
打印最长行的长度示例
wc -m
xargs
替换工具,读取输入数据从新格式化后输出。简单的理解就是经过指定的分隔符(默认空格
)切割(split
)字符串,而后把处理后的多列数据做为参数,做为下一个指令的参数
传入。
-a
即--arg-file=FILE
从指定文件读取内容-d
即--delimiter=CHARACTER
指定分隔符,默认空格-n
多行显示,指定一行显示的列数示例
echo '--help' | xargs cat
即cat --help
jps | awk '{print $1}' | xargs kill -9
关闭全部Java
进程用户相关操做
su
- 或 su - root
切换到root
用户exit
退回到上一个用户whoami
查看当前用户useradd
添加用户,全部用户在配置文件:/etc/passwd
-g
组别编号,缺省时表当前用户组-u
用户编号-d
家目录,默认在/home
示例
useradd -g 666 -u 666 -d /home/Aron Aron
新建Aron
用户user modify
修改用户
-g
组编号-u
用户编号-d
家目录-l
新名字示例
usermod -g 666 -u 666 -d /home/Aron -l Aron2 Aron
注意修改家目录时须要手动建立userdel
删除用户
-r
删除用户同时删除其家目录示例
userdel Aron
userdel -r Aron
删除用户同时删除其家目录设置用户密码
示例
passwd Aron
chmod
即change mode
,改变文件模式。
chmod [-cfvR] [--help] [--version] mode file...
,其中,mode
是权限设定字串,格式为[ugoa...][[+-=][rwxX]...][,...]
,说明:ugoa
中的u
为当前用户,g
当前用户组,o
其余用户组,a
全部用户-c
若该文件权限确实已经更改,才显示其更改动做-f
若该文件权限没法被更改也不要显示错误讯息-v
显示权限变动的详细资料-R
对目前目录下的全部文件与子目录进行相同的权限变动(即以递回的方式逐个变动)示例
chmod ugo+r file1.txt
将文件file1.txt
设置为全部人可读chmod u+r,g+w,o+r file1.txt
将文件file1.txt
设置为当前用户可读,同组可写,其余组可读chmod -R a+rw /home/server
将目录/home/server
以递归形式设置为全部人可读写chgrp
即change group
改变用户组,语法chgrp [-R] newGroup fileOrDirector
-R
递归方式查找子目录示例
chgrp Aron app.java
chgrp -R Aron /data
chown
即change owner
改变拥有者
chown [-R] newUser fileOrDirector
chown [-R] newUser:newGroup fileOrDirector
示例
chown Aron app.java
chown Aron:AronGroup app.java