Linux 小技巧

13 阅读3分钟

磁盘相关

du

查看文件占用的磁盘大小, 可以较的找到一些大文件,如日志文件,常用于磁盘清理 示例: 说明:--max-dpet 指定递归的深度

$sudo du -h  /opt --max-dept=3
204M	/opt/mysql/master_slave/slave_db
211M	/opt/mysql/master_slave/master_db
4.0K	/opt/mysql/master_slave/slave.socket
4.0K	/opt/mysql/master_slave/master.socket
414M	/opt/mysql/master_slave
414M	/opt/mysql
29M	/opt/hp/hpssacli/bld
29M	/opt/hp/hpssacli
29M	/opt/hp
...
488M	/opt

lsblk

显示主机上的所有磁盘大小及挂载的目录点 示例: 主机上用有三块有磁盘:vdb/vdc/vda, 其中 vdb 划分为四个分区,分别挂载到四个节点下

$lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdb         253:16   0  1.8T  0 disk
├─vgob-log  252:1    0  400G  0 lvm  /data/log1
├─vgob-home 252:2    0  400G  0 lvm  /home/admin
├─vgob-data 252:0    0  400G  0 lvm  /data/1
└─vgob-opt  252:3    0  588G  0 lvm  /opt
vdc         253:32   0  300G  0 disk /docker
vda         253:0    0   60G  0 disk
└─vda1      253:1    0   60G  0 part /

find

查找文件 示例:

$sudo find / -name master_db
find: ‘/proc/131058’: No such file or directory
/opt/mysql/master_slave/master_db

查找 / 目录下文件名为 master_db 的文件

link

建立软链接 示例: 为 odc_test 节点建立软链接

sudo ln -s odc_test abc

查看新建的链接 abc -> odc_test

$ls -al
total 28
drwxr-xr-x 4 admin admin  4096 May 20 11:52 .
drwxr-xr-x 5 root  root   4096 May 20 10:56 ..
lrwxrwxrwx 1 root  root      8 May 20 11:52 abc -> odc_test
drwx------ 2 admin admin 16384 Sep 24  2021 lost+found
drwxrwxrwx 5 admin admin  4096 May 20 11:52 odc_test

docker 相关

sudo 免密码

添加可写权限,vim 打开编辑

sudo chomd +w /etc/sudoers
sudo vim /etc/sudoers

在文件末尾加上如下:

# include sudo no passwd
user ALL=(ALL) NOPASSWD:ALL

删除可写权限

sudo chod -w /etc/sudoers

docker 免 sudo

使用 docker 会提示没有权限,需要加上 sudo, 通过把当前用户加入 docker 则可不加 sudo 新增 docker 组

sudo groupadd docker

添加当前用户至 docker 组, 这里一定不以忘记加 -a, -a 表示追加到其它组,没有-a会把用户从原来组移除

sudo usermod -aG docker user1

查看 docker 容器配置文件

sudo ls /docker/containers/containeridcontainer_id/config.v2.json 示例:

$sudo ls /docker/containers/c3faa43da0f14e0a6c76bcde51bae82e28e17af7000bddf995d80316729abac5/config.v2.json
/docker/containers/c3faa43da0f14e0a6c76bcde51bae82e28e17af7000bddf995d80316729abac5/config.v2.json

查看 docker history

docker history --format "{{.ID}}: {{.CreatedBy}}" --no-trunc 2af325dc13f9

--format 表示展示哪些列,默认展示所有列 --no-trunc 不截断,展示完整信息

官网文档 docs.docker.com/engine/refe…

监控相关

CPU

lscpu
cat /proc/cpuinfo

内存信息(RAM)

free -h

解决 centos vim 粘贴 yml 代码时缩进错乱问题

:set paste

删除 journalctl 日志目录

journalctl 命令自动维护文件大小 1)只保留近一周的日志 journalctl --vacuum-time=1w 2)只保留500MB的日志 journalctl --vacuum-size=500M 3)直接删除 **/var/log/journal/ **目录下的日志文件 rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1

docked 查看docker 目录

#dockerd
INFO[2023-12-18T14:48:37.744059055+08:00] Starting up
INFO[2023-12-18T14:48:37.745192431+08:00] [core] [Channel #1] Channel created           module=grpc
INFO[2023-12-18T14:48:37.745219645+08:00] [core] [Channel #1] original dial target is: "unix:///run/containerd/containerd.sock"  module=grpc
INFO[2023-12-18T14:48:37.745251240+08:00] [core] [Channel #1] parsed dial target is: {Scheme:unix Authority: Endpoint:run/containerd/containerd.sock URL:{Scheme:unix Opaque: User: Host: Path:/run/containerd/containerd.sock RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}}  module=grpc
INFO[2023-12-18T14:48:37.745267987+08:00] [core] [Channel #1] Channel authority set to "localhost"  module=grpc
INFO[2023-12-18T14:48:37.745373653+08:00] [core] [Channel #1] Resolver state updated: {
  "Addresses": [
    {
      "Addr": "/run/containerd/containerd.sock",
      "ServerName": "",
      "Attributes": {},
      "BalancerAttributes": null,

统计代码行数

find . "(" -name "*.java"  ")" -print | xargs wc -l

通过链接下载东西: curl -o 文件名 远程链接

curl -o arthas.jar  "http://obodc-front.oss-cn-beijing.aliyuncs.com/tools-yaobin/arthas-boot.jar?OSSAccessKeyId=LTAI5tCUEQPHDec7HsNhQ7fM&Expires=1703851487&Signature=fiF1xJgbmm1rHOAt57qxnoFZuyI%3D"