服务端开发需要掌握的常用命令
目录
- 常用命令整理
- 1.创建文件夹
- 2.编辑文本
- 3.tail实时观察
- 4.查看更多实时日志
- 5.解压tar文件
- 6.删除文件
- 7.查看进程
- 8.杀死进程
- 9.统计某个关键词在文件里出现的次数
- 10.目录操作命令
- 11.复制和粘贴
- 12.查看java的安装路径
- 13.查看所有用户
- 14.补全命令
- 15.备份文件
- 16.查看当前路径
- 17.查看当前目录下所有文件
- 18.新建文件命令(注意不是文件夹)
- 19.linux下使用 du查看某个文件或目录占用磁盘空间的大小
- 20.查看系统磁盘使用量
- 21.利用递归将一个目录下的所有文件拷贝到另一个目录
- 22.复制文件到某个目录下并重命名文件
- 23.root给bp3用户授予目录权
- 24.给.sh文件添加x执行权限
- 25.root给用户设置密码
- 26.启动start.sh脚本
- 27.查看某个文件的创建时间
- 28.查看当前登录的账户
- 29.查看日志里特定的错误信息
- 30.查看cpu核数
- 31.内存泄漏排查命令
- 32.查看目录属于哪个磁盘分区
- 33.Xshell拖拽文件直接上传至Linux
- 34.linux下查看JDK安装目录
- 35.公司外网给权限特别严的情况下一些使用命令:
常用命令整理
1.创建文件夹
mkdir /home/java 在home目录下新建一个java
2.编辑文本
1.vi / vim nohup.out 进入文本编辑状态
2.键入“i” 光标变成可输入
3.键入“ESC” 退出光标输入状态
4.shift + “:” 准备退出状态
wq! 保存修改内容并强制退出
q! 不保存修改内容强制退出
wq 保存修改内容退出
q 不保存修改内容退出
u 复原前一个动作。(常用!!)
3.tail实时观察
tail -100f nohup.out
实时观察nohup.out文件倒数100行数据
tail -f nohup.out | grep -i "error"
实时观察并带关键字为error
4.查看更多实时日志
more nohup.out
ctrl + s 暂停刷新
ctrl + q 继续终端
more about nohupt.out | grep Exception 根据搜索关键字查询完整日志
更实用的less命令:
[root@study ~]# less /etc/man_db.conf
可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件。
空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字符串 :向下搜寻『字符串』的功能;
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
g :前进到这个资料的第一行去;
G :前进到这个数据的最后一行去 (注意大小写);
q :离开 less 这个程序;
注意:这里有技巧,我们平时查看日志内容时太大了,我们需要看最近的输出的日志,所以需要从底部往上看能翻页看。
因此,我们可以less nohup.out, 然后按下G调到底部,再用PageUp一页一页往上翻。
tail -100f nohup.out 实时监测输出的倒数100行数据。
more 和 less 都可以结合grep使用
例如:more about | grep ERROR
5.解压tar文件
tar -zxvf
6.删除文件
rm -rf log.error 删除log.error文件
7.查看进程
ps -ef | grep java 查看java进程
8.杀死进程
kill -9 3250 杀掉进程id为3250的进程
killall java 杀死所有java进程
9.统计某个关键词在文件里出现的次数
grep "Total" nohup.out | wc -l 统计nohup.out日志文件里出现“Total”的次数
10.目录操作命令
cd .. 是回到上一级目录
cd / 是回到根目录
cd . 当前目录
11.复制和粘贴
ctrl + insert 复制
shift + insert 粘贴
12.查看java的安装路径
which java
13.查看所有用户
cat /etc/passwd
14.补全命令
键入Tab
15.备份文件
我们要备份start.sh 为bak.start.sh 然后还是放在home文件下
执行命令:cp start.sh /home/bak.start.sh
16.查看当前路径
键入pwd
17.查看当前目录下所有文件
ls 或 ll
18.新建文件命令(注意不是文件夹)
touch a.txt 新建一个a.txt文件
19.linux下使用 du查看某个文件或目录占用磁盘空间的大小
du -ah --max-depth=1
20.查看系统磁盘使用量
df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
du -sh [目录名] 返回该目录的大小
du -sm [文件夹] 返回该文件夹总M数
21.利用递归将一个目录下的所有文件拷贝到另一个目录
cp -r /usr/elastic/elasticsearch-6.4.2 /data/elastic/
将/usr/elastic/elasticsearch-6.4.2所有文件递归拷贝到 /data/elastic/目录下
22.复制文件到某个目录下并重命名文件
cp 1.txt /data/test/2k.txt
复制1.txt文件到 /data/test/ 目录下 ,并重命名为2k.txt
23.root给bp3用户授予目录权
chown -R bp3 /home/es/elasticsearch-xxxx/
24.给.sh文件添加x执行权限
chmod u+x hello.sh
给hello.sh文件添加执行权限
25.root给用户设置密码
passwd bp3
给bp3用户设置密码
26.启动start.sh脚本
sh start.sh
27.查看某个文件的创建时间
stat test
查看test文件的创建时间
28.查看当前登录的账户
who is me
查看test文件的创建时间
29.查看日志里特定的错误信息
grep "发送队列超出两倍处理能力" nohup.out
查看nohup.out出现的发送队列超出两倍处理能力错误
grep -10 "inactive" nohup.out
查询某个关键字的上下几行,这里是inactive关键字上下10行信息
grep -i -10 "inactive" nohup.out
忽略关键字查询某个关键字的上下几行,这里是inactive关键字上下10行信息
grep -C N "关键字" nohup.out | tail -M (其中 M=2*N+1,也就是显示当前关键字行和上下N行,所以就是2*N+1)
管道符后面,加上head/tail命令代表,头部和尾部。
关键字第一次或最后一次出现位置,上下多少行。
按分钟段:
grep '2019-06-02 11:4[1-2]' nohup.out
按秒数查时间段:
grep '2019-08-02 11:42:[01-59]' nohup.out
30.查看cpu核数
键入:top
再按下数字1,会显示cpu核数
31.内存泄漏排查命令
1.键入top:查看内存使用率,然后再键入1,查看cpu使用率
2.还可以通过 top -Hp pid 查看具体线程使用系统资源情况
3.jstat -gc pid
使用 jstat 查看堆内存的使用情况
S0C:年轻代中 To Survivor 的容量(单位 KB);
S1C:年轻代中 From Survivor 的容量(单位 KB);
S0U:年轻代中 To Survivor 目前已使用空间(单位 KB);
S1U:年轻代中 From Survivor 目前已使用空间(单位 KB);
EC:年轻代中 Eden 的容量(单位 KB);
EU:年轻代中 Eden 目前已使用空间(单位 KB);
OC:Old 代的容量(单位 KB);
OU:Old 代目前已使用空间(单位 KB);
MC:Metaspace 的容量(单位 KB);
MU:Metaspace 目前已使用空间(单位 KB);
YGC:从应用程序启动到采样时年轻代中 gc 次数;
YGCT:从应用程序启动到采样时年轻代中 gc 所用时间 (s);
FGC:从应用程序启动到采样时 old 代(全 gc)gc 次数;
FGCT:从应用程序启动到采样时 old 代(全 gc)gc 所用时间 (s);
GCT:从应用程序启动到采样时 gc 用的总时间 (s)。
4.jstack pid
命令查看线程的堆栈信息,查看是否发生死锁
5.jmap -heap pid
来查看堆内存初始化配置信息以及堆内存的使用情况
6.jmap -histo:live pid | more
查看堆内存中的对象数目、大小统计直方图,如果带上 live 则只统计活对象
7.jmap -dump:format=b,file=heap.hprof pid
jmap 命令把堆内存的使用情况 dump 到文件中,然后使MAT工具进行分析
32.查看目录属于哪个磁盘分区
1.df -hl
查看磁盘空间大小
2.df -hl data,具体查看data目录属于哪个磁盘分区
[root@VM-0-5-centos /]# df -hl data
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 2.2G 45G 5% /
33.Xshell拖拽文件直接上传至Linux
安装:yum install lrzsz
linux到window: sz
window下的文件夹:
1.不能直接拖拽,需要先将文件夹压缩成tar.gz格式,window解压缩工具一般都支持。
2.然后到linux文件夹下,使用命令tar -zxvf解压。
34.linux下查看JDK安装目录
1.如果配置了环境变量$JAVA_HOME:
echo $JAVA_HOME:
/usr/local/JDK_18151/
2.没配置环境变量:
which java:
/usr/local/JDK_18151/bin/java //先定位到java程序的执行路径
ls -lrt /usr/local/JDK_18151/bin/java: //-lrt(详细,相反次序,建立时间)
/usr/local/JDK_18151/bin/java
ls -lrt /usr/local/JDK_18151/bin/java:
/usr/local/JDK_18151/bin/java
所以安装目录就是在/usr/local/JDK_18151/
35.公司外网给权限特别严的情况下一些使用命令:
1.sudo -s //直接切换为root权限账号
2.sudo + 命令 //以当前账号执行一些命令