linux常用命令

命令可以通过–help查看参数使用

ls

查看目录文件

cd

改变目录
例:
cd … 到上级目录
cd - 进入上次工作路径

pwd

打印当前工作目录

mkdir

创建文件夹
例:
mkdir -p /test/test1 能一次建好不存在的目录(-p代表–parent)

vi

文本编辑
例:
vi a.txt

find

用来在指定目录下查找文件
例:
find . -name “*.conf” (查找当前目录及其子目录下所有conf后缀文件)

rm

删除文件/文件夹
例:
rm -r -f test 强制并递归删除test文件夹(-r代表–recursive,-f代表–force)

mv

移动文件/文件夹
例:
mv a.txt …/ 移动a.txt到上级目录

cp

拷贝文件/文件夹

less

分页查看文件
例:
less a.log

/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复向下/向上搜索(与 / 或 ? 有关)
N:重复反向向下/向上搜索(与 / 或 ? 有关)
shift+g 跳到文件末尾
b: 往前翻一页
f: 往后翻一页
q 退出less 命令

tail

查看文件末尾内容
例:
tail -f -100 a.log | grep -5 "hello"循环查看a.log末尾100行,从100行中查找匹配hello字符串,展示字符串所在位置的上下5行
(-f代表–follow,| 为管道符,将前面命令执行的结果作为参数到后面命令执行,但多数命令并不支持管道,这就要用到后面说的xargs命令)

df

显示磁盘使用情况
例:
df -l 显示本地磁盘使用情况(-l代表–local)
-h可以转换为易读的单位

grep

grep(Global Regular Expression Print) 全局正则表达式搜索,在一个或多个文件中搜索字符串模板
例:
grep -C3 “test” *.log(在当前文件夹下的所有log文件搜索“test”字符串,并显示前后三行)
ps -ef | grep java (通过管道符在ps输出内容中查找java进程)

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹

ps

查看进程信息(pid,ppid,进程执行时的命令)
例:
ps -ef

top

显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等
例:
top -p 1(查看进程id为1的进程相关信息)
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

前五行是当前系统情况整体的统计信息区。

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

14:06:23 — 当前系统时间

up 70 days, 16:44 — 系统已经运行了70天16小时44分钟(在这期间系统没有重启过的吆!)

2 users — 当前有2个用户登录系统

load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程),具体信息说明如下:

系统现在共有206个进程,其中处于运行中的有1个,205个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息,具体属性说明如下:

5.9%us — 用户空间占用CPU的百分比。
3.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
90.4% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.2% si — 软中断(Software Interrupts)占用CPU的百分比
备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

第四行,内存状态,具体信息如下:

32949016k total — 物理内存总量(32GB)
14411180k used — 使用中的内存总量(14GB)
18537836k free — 空闲内存总量(18GB)
169884k buffers — 缓存的内存量 (169M)
第五行,swap交换分区信息,具体信息说明如下:

32764556k total — 交换区总量(32GB)
0k used — 使用的交换区总量(0K)
32764556k free — 空闲交换区总量(32GB)
3612636k cached — 缓冲的交换区总量(3.6GB)
第六行,空行。

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

kill

结束进程
例:
kill -9 PID(是操作系统从内核级别强制杀死一个进程,进程立即结束运行,不能被阻塞或者忽略)
kill -15 PID(可以理解为操作系统发送一个信号告诉应用主动关闭,信号只是通知对应的进程要进行"安全、干净的退出",程序接到信号之后,退出前一般会进行一些"准备工作",如资源释放、临时文件清理等等,如果准备工作做完了,再进行程序的终止。但是,如果在"准备工作"进行过程中,遇到阻塞或者其他问题导致无法成功,那么应用程序可以选择忽略该终止信号,JVM进程在接收到kill -15信号通知的时候,开发者也是可以自定义做一些额外的事情,通过JDK中提供的shutdown hook实现的。JDK提供了Java.Runtime.addShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子)
JVM关闭钩子例子:

public class ShutdownHookTest {
    public static void main(String[] args) {
        boolean flag = true;
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            System.out.println("hook execute...");
        }));
        while (flag) {
            // app is runing
        }
        System.out.println("main thread execute end...");
    }
}

free

显示系统内存使用情况

netstat

显示网络状态
例:
netstat -tunlp | grep 8080(查看占用端口8080的进程,而后可以根据显示的pid处理进程)

xargs

给命令传递参数的一个过滤器,也是组合多个命令的一个工具。能够捕获一个命令的输出,然后传递给另外一个命令。之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数。
例:
ls -a | grep a(是对ls输出的文本进行匹配)
ls -a | xargs grep a(是对ls输出文本中的每个文件/文件夹的内容进行匹配)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值