实用命令和技巧

1、找出当前系统CPU、内存使用量较高的进程

ps -aux | sort -rnk 3 | head -20  (3 换 4,为内存)

2、killall -0 和 kill -0的区别

kill [信号代码] 进程ID

注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止。

1
# kill -9 22761

与kill命令不同的是,killall 命令可以根据进程名称来杀死进程。kill 命令 则先需要找到进程的id。

1
2
3
4
5
6
7
8
9
#yum install  -y  psmisc(安装killall)
 
# pgrep -l magic_Linux
2 13020 magic_Linux01
3 22761 magic_Linux02
4 25279 magic_Linux03
5 27694 magic_Linux04
 
# killall magic_Linux02

3、xshell技巧

a、alt+shift+n  新建窗口

b、设置鼠标左键选中,邮件粘贴

c、新建窗口“+”消失快捷键恢复:
Ctrl+Shif+T

4、sort常用选项

-t,指定排序时所用的分隔符;-k,指定比较的列数,常与-t参数结合使用

1
2
3
4
5
sort -nt ":"  -k 2  file1
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

-r 以倒序(相反的顺序)输出排序结果

-u --unique,去掉重复的行输出排序结果,功能类似于uniq功能

-f  将小写字母当作大写字母对内容进行排序

-n --numeric-sort 根据字符串数值比较

1
2
3
4
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件

-h   --human-numeric-sort    使用易读性数字(例如: 2K 1G)

1
2
3
4
5
6
7
8
du -d1  -h  soft-packages/*   |  sort  -h
18M soft-packages/node_exporter.tar.gz
124M    soft-packages/go1.16.8.linux-amd64.tar.gz
175M    soft-packages/NVIDIA-Linux-x86_64-455.45.01.run
314M    soft-packages/NVIDIA-Linux-x86_64-510.60.02.run
344M    soft-packages/NVIDIA-Linux-x86_64-515.48.07.run
551M    soft-packages/dcgm-exporter.tar
585M    soft-packages/harbor-offline-installer-v2.4.1.tgz

sort -V 按照版本号进行排序

是Unix或Linux系统中的一个命令行选项,用于按照版本号进行排序。这个选项将每个输入行当做一个版本字符串,并按照这个版本字符串进行排序。

-V 选项会将数字、字母和其他字符识别为独立的字段,并按照这些字段的顺序进行比较。这使得它特别适合于对那些包含数字、特殊字符和字母的字符串进行排序,比如软件版本号。

5、显示运行 3 级别开启的服务:

1
ls /etc/rc3.d/S* |cut -c 15-   (从中了解到cut的用途,截取数据

6、杀掉80端口相关的进程

1
lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh

7、显示目录层级关系

1
2
3
4
5
find  .  *
 
tree
 
ls -Rl

8、windows和mac互传文件(前提是两者网段相同互通)

mac

1
python3 -m http.server

window(用pyhton也可以)

装一个fileserver

1
fileserver.exe   -port  端口   -path    路径

9、sudo  -i 和 su  -  root

1
2
3
4
5
6
7
8
su是superuser的前面两字母。
 
su root=su
su root和su一样:表示与root建立一个链接,通过root执行命令,其实就是进程的有效用户ID变成了root,unix校验进程的权限都是校验的有效用户ID,进程的实际用户ID还是当前登录系统的用户,主目录也还是当前登录系统的用户的主目录。
 
su  -  root需要密码
sudo -i  不需要密码
sudo -i表示以root身份登录,进程的实际用户ID和有效用户ID都变成了root,主目录也切换为root的主目录。

10、非交互式修改密码

1
2
echo  "password"  | passwd testuser --stdin > /dev/null 2>&1
echo testuser:password|chpasswd

chpasswd

批量更新用户口令的工具

先创建用户密码对应文件,格式为username:password,如abc:abc123,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令

1
chpasswd < user.txt

11、linux终端中启动 Visual Studio Code

1
# code .

12、ncdu

一个可以替代du命令的工具,ncdu命令是对传统du命令功能上的增强,不需要像du那样输入大量的命令,就可以计算文件及目录大小并可以按照大小或文件名进行排序。它是基于ncurses库开发的,因此还支持很多丰富的交互式命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ncdu还提供了许多操作文件和文件夹的选项-导航,排序甚至删除:
上键或k : 用于向上移动光标
下键或j  : 用于向下移动光标
右键或l  : 打开所选目录
< 或者 h  :  这将打开父目录
n - 按名称排序(再次按降序排列)
s - 按文件大小排序(再次按降序排列)
d - 删除所选文件或目录
g - 显示百分比和/或图表
t - 排序时在文件之前切换dirs
c - 切换子项目计数的显示
b - 当前目录中的Spawn shell
i - 显示有关所选项目的信息
r - 刷新/重新计算当前目录
q - 退出ncdu

13、格式化输出:column

1
cat dd.txt  | column -t

column -s 选项指定分隔符来分割(同时去掉分隔符)

1
2
3
4
5
6
7
8
9
# cat testcolumn
Jackie | 18 | male
Helen | 20 | female
Daniel Liu | 23 | male
 
# cat testcolumn | column -s '|' -t
Jackie        18    male
Helen         20    female
Daniel Liu    23    male

pr命令:可以将大文件分割成多个页面进行打印,并在每个页面上加上标题

-# 输出指定的列数。
-t 忽略页眉和页脚
-T 忽略页眉和页脚,去除所有分页记号

1
2
3
4
# find /usr/bin/ -executable -type f | pr -T -4 | column -t
/usr/bin/cp        /usr/bin/nl        /usr/bin/chcon     /usr/bin/which
/usr/bin/gzip      /usr/bin/tzselect  /usr/bin/sleep     /usr/bin/diff3
/usr/bin/alias     /usr/bin/nohup     /usr/bin/chgrp     /usr/bin/hostname

14、查看各文件夹大小  ls -lSh

1
2
3
4
5
6
7
8
9
10
11
du -h --max-depth=1|sort -nr
 
ls -lSh  (-r 逆序排)
总用量 279M
-rwxr-xr-x   1 op_admin op_admin 181M 2月   8 12:35 jdk-8u151-linux-x64.tar.gz
-rw-r--r--   1 op_admin op_admin  76M 2月   8 12:22 nacos-server-2.0.0-BETA.tar.gz
-rwxr-xr-x   1 op_admin op_admin  13M 1月  18 10:39 ~
-rw-rw-r--   1 op_admin op_admin 9.9M 3月  30 2016 cfssl_linux-amd64
drwxr-xr-x  13 op_admin op_admin  282 2月   4 19:00 seaweedfs
drwxr-xr-x. 11 op_admin op_admin  203 1月  15 16:51 workspace
-rw-rw-r--   1 op_admin op_admin  149 12月  4 14:22 ts.sh

按时间递归逆序查看某个目录的文件,汉数混合有奇效(比如第1组)

1
ls  -Rrt

递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径

1
find $PWD | xargs ls -ld

15、自动回答任何命令yes or no

1
yes | apt-get update。

16、wget 发送post请求

1
wget --post-data "item1=value1&item2=value2" url

示例:

1
wget --post-data "username=sg&password=123&content=%e6%b1%89%e5%ad%97&encode=utf8" http://m.sjn.com.cn/api/send/index.php

17sz下载文件乱码

1
sz -be -y filename

-a, –ascii

-b, –binary 用binary的方式上传下载,不解释字符为 ascii

-e, –escape 强制escape 所有控制字符,比如 Ctrl+x,DEL 等

-ary –o-sync

-a 表示使用ascii码格式传输文件,如果是Dos格式的文件,会转换为unix格式

-r 使用 Crash recovery mode. 即文件传输中断会重传

-y 表示文件已存在的时候会覆盖

–o-sync 采用同步写模式,以处理从缓存写到磁盘时中断丢失的情况

18、glances(htop的升级版)

安装

1
2
3
4
5
6
7
centos:
$ yum install -y glances
 
debian:
$ sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
$ sudo apt-get update
$ sudo apt-get install glances

快捷键

1
2
3
4
5
6
7
8
9
10
11
12
h : 显示帮助信息
q : 离开程序退出
c :按照 CPU 实时负载对系统进程进行排序
m :按照内存使用状况对系统进程排序
i:按照 I/O 使用状况对系统进程排序
p: 按照进程名称排序
d : 显示磁盘读写状况
w : 删除日志文件
l :显示日志
s: 显示传感器信息
f : 显示系统信息
1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
-b:显示网络连接速度 Byte/ 秒
-B @IP|host :绑定服务器端 IP 地址或者主机名称
-c @IP|host:连接 glances 服务器端
-d:关闭磁盘 I/O 模块
-e:显示传感器温度
-f file:设置输出文件(格式是 HTML 或者 CSV)
-m:关闭挂载的磁盘模块
-n:关闭网络模块
-p PORT:设置运行端口默认是 61209
-P password:设置客户端 / 服务器密码
-s:设置 glances 运行模式为服务器
-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767
-h : 显示帮助信息

19、隐私错误

 解决:鼠标移动到当前页面任一空白处,键盘敲击thisisunsafe即可

20、查找顶级目录

1
2
3
4
5
6
7
8
9
10
11
12
13
# find ./ -type d
./
./a
./a/a1
./a/a2
./b
./c
./c/c1
./c/c1/c2
./c/c1/c2/c3
 
# find ./ -type d | awk -F'/' '{print NF-1" "$0}'  | sort | tail -1 | awk  -F "/" '{print $NF}'
c3

释意:NF-1:以/为分割符,从第一个/号左边开始数,比实际的层数多1,所以需要减1

21、内存插法(双活)

遇到不熟悉的服务器固件升级、内存插法去对应的官网下载指导手册和包

华硕服务器主板:

内存条插法推荐方式:(16 MImms表示16根内存条)

22、ntsysv命令查看服务自启动

23、生成大文件

dd if

1
dd if=/dev/zero of=rumenz.img bs=2G count=1

使用 truncate 命令缩小文件

1
truncate -s 1G rumenz.img

fallocate 创建大文件的速度是最快的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
➜  shell_work fallocate --help
 
用法:
 fallocate [选项] <文件名>
 
为文件预分配空间或从文件回收空间。
 
选项:
 -c, --collapse-range 移除文件中的某个范围
 -d, --dig-holes      检测零并替换为空洞
 -i, --insert-range   insert a hole at range, shifting existing data
 -l, --length <数字>  范围操作的长度(字节数)
 -n, --keep-size      保持文件的显示大小
 -o, --offset <数字>  范围操作的偏移量(字节数)
 -p, --punch-hole     将某个范围替换为空洞(连带打开 -n)
 -z, --zero-range     清零并保证分配某个范围
 -x, --posix          use posix_fallocate(3) instead of fallocate(2)
 -v, --verbose        详尽模式
 
 -h, --help           display this help
 -V, --version        display version 

创建一个3g大文件

1
fallocate -l 3G ru.img

24、cat 查看文件内容不换行

1
2
3
cat __init__.py
import pymysql
pymysql.install_as_MySQLdb()root@arm:~/dockerfile/zjz_BBS/app01#

执行

1
unalias cat 

25、tldr 工具

tldr(Too Long; Didn’t Read)是一个社区开源的命令行实用工具,旨在为各种命令提供简明的使用说明

安装

1
2
3
4
sudo apt update
sudo apt install nodejs npm
 
sudo npm install -g tldr

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@node1 ~]# tldr find
 
  find
 
  在指定目录树下递归查找文件或目录。
  更多信息:https://manned.org/find.
 
  - 通过扩展名查找文件:
    find 指定目录 -name '*.ext'
 
  - 查找匹配多个路径或名称模式的文件:
    find 指定目录 -path '**/path/**/*.ext' -or -name '*pattern*'
 
  - 查找匹配指定名称的目录,不区分大小写:
    find 指定目录 -type d -iname '*lib*'
 
  - 查找匹配指定模式的文件,排除特定路径:
    find 指定目录 -name '*.py' -not -path '*/site-packages/*'
 
  - 查找符合指定大小范围的文件,将递归深度限制为 "1"
    find 指定目录 -maxdepth 1 -size +500k -size -10M
 
  - 对每个文件运行命令(在命令中使用 {} 代表当前文件):
    find 指定目录 -name '*.ext' -exec wc -l {} \;
 
  - 查找最近 7 天修改的文件:
    find 指定目录 -daystart -mtime -7
 
  - 查找空(0 字节)的文件并删除:
    find 指定目录 -type f -empty -delete

  

 

 

 

 

 

 

 

 

 

 

 


posted @   凡人半睁眼  阅读(368)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示