欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux 常用命令记录

程序员文章站 2022-04-21 16:06:02
如下命令都是在使用Linux类系统中常用到的,因为我不不想记任何命令,所以我就把一些我觉得常用的都记录下来,方便日后查询,这篇文章不定期更新上一些新命令。分类是根据我自己的喜好\经验来分类的,可能和别人的分类方式有些许不一样。 更改系统状态类命令 init 使用这类命令,一般需要root权限; 查看 ......

如下命令都是在使用linux类系统中常用到的,因为我不不想记任何命令,所以我就把一些我觉得常用的都记录下来,方便日后查询,这篇文章不定期更新上一些新命令。分类是根据我自己的喜好\经验来分类的,可能和别人的分类方式有些许不一样。

更改系统状态类命令

init

使用这类命令,一般需要root权限;

init 0 # 关机
init 6 # 重启
reboot #重启


查看系统资源类命令

op常用

vmstat

# vmstat [refresh delay] [refresh frequency]

vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 2298560 201728 748024    0    0     2     1   29   23  0  0 100  0  0
 0  0      0 2298428 201728 748024    0    0     0     0  266  270  0  0 100  0  0
 0  0      0 2298428 201728 748024    0    0     0     0  247  236  0  0 100  0  0

free

# free

              total        used        free      shared  buff/cache   available
mem:        4037772      789260     2298740       22276      949772     2952424
swap:       2094076           0     2094076


操作文件类命令

rd常用

tail

用于持续观察日志文件变化。

使用案例:

# 语法
tail -f /log_name_path 

# ctrl + c is quit


tail -f /log_name_path* | grep 关键字
# 只展示和关键字相关的日志记录

zip

单词速记 zipper 是拉链,拉上拉链不就是要打包文件吗。un 有否定含义的前缀,upzipper是解开了拉链,不就是要把包好东西都倒出来吗。

# 压缩并指定目录
zip -r /home/kms/kms.zip /home/kms/server/kms

# 解压并指定目录
unzip /home/kms/kms.zip -d /home/kms/server/kms


通信类命令

rd、op、security常用

scp

$scp -r root@88.88.88.88:/tmp/filename ./tmp
password:


查找类命令

一般用于组合其他命令来使用;

grep

如果有需求是在linux终端下进行代码审计时,系统也没有ide工具,想要搜索在项目目录内,那些文件里面写了调用过当前函数、变量的字符。

grep -in "函数/变量" -r ./home/my/www/cms

-i     在进行比较时忽略字母的大小写。
-n    在每一行之前放置文件中相关的行号。每个文件的起始行号为 1,在处理每个文件时,行计数器都将被复位。
- r    从什么目录路径开始搜索

shopt

简单来说就是增强版的命令行,原本的命令行是不能使用正则匹配模式的,通过shopt可以使用了。

shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性。
shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

案例:

# 语法
shopt -s extglob #开启shopt命令
shopt -u extglob #关闭shopt命令


# 开启之后
# 删除文件名不以jpg结尾的文件
rm -rf !(*jpg) 

# 删除文件名以jpg或png结尾的文件
rm -rf *@(jpg|png)

# 删除当前文件夹下全部文件,除了css、js
shopt -s extglob
rm -rf !(css | js)
shopt -u extglob 

能匹配的5种模式:
?(pattern-list) - 所给模式匹配0次或1次
*(pattern-list) - 所给模式匹配0次以上包括0次
+(pattern-list) - 所给模式匹配1次以上包括1次
@(pattern-list) - 所给模式仅仅匹配1次
!(pattern-list) - 不匹配括号内的所给模式

zsh版的shell使用shopt时需要注意:
遇到如下报错时,

zsh: no matches found: !(js|css)

解决,

# 切换到bash:
exec bash

# 然后
source ~/.bashrc

# 使用完shopt,可以在切换回zsh模式
exec zsh

因为zsh使用env配置文件~/.zshrc,而不是~/.bashrc,导致zsh没有这个功能。