Linux 必备工具, 命令与例子

2023-10-30

目录

1. wget

2. screen

3. unzip/gzip

4. netstat

5. git

6. composer

7. docker

8. docker-compose

9. timedatectl set-timezone Asia/Shanghai 时区设置

10. date  时间查看/设定

11. dig: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

12. du 查看目录大小

13. systemctl 显示运行服务

14. 查找目标文件夹下,符合条件的子目录/文件,并删除

15. 添加 / 编辑用户组

16. 查询端口占用

17. 添加带目录,指定组,附属组的用户

18. 时区设置

19. proxychains,命令在网络代理环境下执行

20. 监察进程流量

21. 建多层目录

 22 检查CPU核数

23 htpasswd (apt install apache2-utils)

24 wc 统计

25 iftop

26 w 查负载, load average分别对应于过去1分钟,5分钟,15分钟的负载平均值。

27 pm2 管理node进程工具

28 killall

29 firewall-cmd 相关命令

30 netplan - 新一代网络配置工具

31 apt-file - 寻找包内命令,从而知道要安装所需的包

32 hostnamectl 设置主机名

33 journalctl 管理系统的事件日志记录

34 scp 复制远程文件 

35 export HTTPS_PROXY 代理

36 jobs, fg, bg

37 watch 周期性执行给定指令,监视运行情况

38 lsblk 展示块设备(block devices)的信息,包括磁盘、分区和挂载点

39 nc


1. wget

2. screen

screen案例:

   新建一个lnmp会话:screen -S lnmp(lnmp为会话名,可自己定义)

   离开会话并让程序断续运行:ctrl a d (按住ctrl不放,分别按 a 和 d)

   恢复后台运行的会话:screen -r lnmp(lnmp为自己定义的会话名)

   显示所有screen创建的会话:screen -ls

   在会话里执行exit命令会话是结束运行并退到shell中

3. unzip/gzip

#递归压缩target目录
zip -rq xxx.zip target

#压缩target目录,排除某个目录
zip -rq web.zip web -x 'web/image/*'

4. netstat

5. git

# 指定私钥获取仓库
git clone -c "core.sshCommand=ssh -i /data0/Auths/ssh/gitlab/id_rsa"  git@gitlab.com:bennybi/iot-age-te001.git

6. composer

参数: 
--ignore-platform-reqs # 忽略版本冲突

7. docker

docker rm `docker ps -a -q` # 删除所有容器
docker rmi `docker images -q` # 删除所有镜像
docker logs {container} # 看日志
docker ps  # 列出运行中的容器服务
docker stop {container} # 停止容器服务
docker image ls  # 列出已安装的镜像包
docker stats # 看资源
docker restart <container name> # 重启容器服务

配置国内镜像 , vi /etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}

8. docker-compose

# apt install pip
# pip install docker-compose

9. timedatectl set-timezone Asia/Shanghai 时区设置

10. date  时间查看/设定

11. dig: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

# centos 安装
yum install bind-utils

# debian/ubuntu 安装
apt-get install dnsutils

用例,查看本机公网ip
dig +short myip.opendns.com @resolver1.opendns.com

12. du 查看目录大小

#查看当前目录下,1层目录的大小总量
du -h -d1 ./ 

13. systemctl 显示运行服务

# 显示全部的服务
systemctl --type=service --all

# running 的服务
systemctl --type=service --state=running

# 服务随机自启
systemctl enable {service}

# 查询服务随机自启
systemctl is-enabled {service}

# 服务停止随机自启
systemctl disable {service}

14. 查找目标文件夹下,符合条件的子目录/文件,并删除

# 删除vendor下的.git目录 (含子目录)
find ./vendor -type d -iname .git | xargs rm -rf

# 删除vendor下的.gitignore文件 (含子目录)
find ./vendor -iname .gitignore | xargs rm -rf

15. 添加 / 编辑用户组

usermod -aG wheel ben  # 给用户添加组
usermod -g root ben    # 给用户改主组

16. 查询端口占用

# lsof -i:80
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 1188 root    4u  IPv4  22652      0t0  TCP *:http (LISTEN)
docker-pr 1196 root    4u  IPv6  22075      0t0  TCP *:http (LISTEN)

又或者

# netstat -anptl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      574/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2334/cupsd
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      1263/docker-proxy

17. 添加带目录,指定组,附属组的用户

useradd -g ubuntu -G www-data,ubuntu -m git

18. 时区设置

timedatectl set-timezone Asia/Shanghai
 
#修改时区后同步cron时间
service rsyslog restart
service crond restart

19. proxychains,命令在网络代理环境下执行

proxychains 调用命令

# WSL2下查宿主机IP
cat /etc/resolv.conf | grep -oP '(?<=nameserver\ ).*'

查到后,把ip填入/etc/proxychains.conf

20. 监察进程流量

#apt-get install nethogs
#nethogs

21. 建多层目录

mkdir -p api/staging/src

 22 检查CPU核数

cat /proc/cpuinfo | grep processor

23 htpasswd (apt install apache2-utils)

htpasswd -bc file user passwd // 新建文件,并建账号
htpasswd -b file user passwd // 增/改用户密码

24 wc 统计

ps -aux|grep php-fpm|wc -l

25 iftop

iftop是类似于top的实时流量监控工具。
 

26 w 查负载, load average分别对应于过去1分钟,5分钟,15分钟的负载平均值。

$ w
12:22:02 up 44 days, 21:48,  2 users,  load average: 3.96, 6.28, 5.16

27 pm2 管理node进程工具

# 安装
npm install -g pm2

# 启动并定义一个node进程服务
pm2 start /path/yapi/vendors/server/app.js --name yapi

# 常用命令
pm2 l
pm2 start yapi
pm2 stop yapi
pm2 show yapi #显示详细

28 killall

# 杀所有vi进程
killall vi
# 杀所有进程
killall -r '.*'

29 firewall-cmd 相关命令

firewall-cmd --permanent --query-port=2222/tcp  # 查询是否开了端口
firewall-cmd --permanent --add-port=2222/tcp # 加端口
firewall-cmd --permanent --remove-port=2222/tcp # 禁止端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="{ip}" port protocol="tcp" port="3000" accept" # 仅允许指定ip访问端口
firewall-cmd --reload # 重载应用

30 netplan - 新一代网络配置工具

配置文件:/etc/netplan/00-installer-config.yaml

network:
  ethernets:
    enp0s31f6:
      addresses: [192.168.1.9/24]
      dhcp4: no
      optional: true
      gateway4: 192.168.1.1
      nameservers:
         addresses: [10.10.10.1]
         #addresses: [8.8.8.8,114.114.114.114]
    enp3s0:
      dhcp4: true
  version: 2

修改后运行 netplan apply

31 apt-file - 寻找包内命令,从而知道要安装所需的包

# apt-file search /usr/bin/phpize
php7.0-dev: /usr/bin/phpize7.0
php7.2-dev: /usr/bin/phpize7.2

32 hostnamectl 设置主机名

hostnamectl set-hostname k8s-node-1

33 journalctl 管理系统的事件日志记录

journalctl -f -u kubelet    # 查看kubelet日志

34 scp 复制远程文件 

# 复制远程目录到当前路径 
scp -r root@k8s-master-1:/dir_path ./

# 将本地目录复制到远程主机目录
scp -r ./test root@k8s-master01:/dir_path 

35 export HTTPS_PROXY 代理

export http_proxy=x.x.x.x:1081
export https_proxy=x.x.x.x:1081
export ftp_proxy=user:password@x.x.x.x:1080
export no_proxy=,localhost,127.0.0.1,10.7.22.2,10.7.21.2 # 不必代理的ip

# git代理
git config --global http.proxy 'socks5://192.168.0.108:1080'
git config --global https.proxy 'socks5://192.168.0.108:1080'

git config --global --unset http.proxy
git config --global --unset https.proxy

36 jobs, fg, bg

jobs - 显示当前命令任务
fg - 把命令后台任务提到前台运行
bg - 带回命令后台运行

example:
# jobs
[1]   Running                 bash download-file.sh &
# fg
# 按[CTRL-Z] 退出交互并挂起
[2]+  Stopped
# bg 继续运行

37 watch 周期性执行给定指令,监视运行情况

watch kubectl get po -n tidb-cluster

38 lsblk 展示块设备(block devices)的信息,包括磁盘、分区和挂载点

~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0  79.9M  1 loop /snap/lxd/22923
loop1    7:1    0  61.9M  1 loop /snap/core20/1405
loop3    7:3    0  53.3M  1 loop /snap/snapd/19457
loop4    7:4    0  63.4M  1 loop /snap/core20/1974
loop5    7:5    0 111.9M  1 loop /snap/lxd/24322
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /
vdb    252:16   0   500G  0 disk

39 nc

# 探测目标端口可否联通
nc -zv 172.16.20.215 6443
Connection to 172.16.20.215 6443 port [tcp/*] succeeded!

# 建个端口监听
nc -l 3333

# 连接
nc 10.0.2.2 3333

# 端口扫描
 nc -v -w 1 10.0.2.2 -z 22-81

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 必备工具, 命令与例子 的相关文章

  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • Google Cloud Kubernetes 访问私有 Docker Hub 托管映像

    是否可以将私有镜像从 Docker Hub 拉取到 Google Cloud Kubernetes 集群 是否建议这样做 或者我是否需要将我的私有映像也推送到 Google Cloud 我阅读了文档 但没有发现任何内容可以清楚地解释这一点
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 更新Linux中的包含路径

    我的 my path to file 文件夹中有几个头文件 我知道如何将这些文件包含在新的 C 程序中 但每次我都需要在包含它之前输入头文件的完整路径 我可以在linux中设置一些路径变量 以便它自动查找头文件吗 您可以创建一个 makef
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • Docker连接SQL Server容器非零代码:1

    我正在尝试从创建一个 SQL Server 容器docker compose yml但是当我运行它时 它直接停止并出现一些错误 注意 它运行在带有 docker Preview 的 Apple M1 芯片上 docker compose y
  • python:PyPi公共模块:如何确定是否安全?

    我已经完成了我的 python 3 应用程序 它正在使用 PyPi 的多个公共模块 然而 在我将其部署到我公司的企业 将处理客户的凭据并访问第 3 方 API 之前 我需要尽职调查确保它们既安全又安全 我必须执行哪些步骤 验证 PyPi 模
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 在 x86 汇编语言中获取文件大小的简单方法

    假设我已经在汇编中打开了一个文件 并且在寄存器 eax 中有该文件的文件句柄 我将如何获取文件的大小 以便为其分配足够的缓冲区空间 我在这里研究了另一个讨论 建议使用sys fstat 28 系统调用来获取文件统计信息但无法实现它 My a
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • 如何在线程创建和退出时调用函数?

    include
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 经常提交 docker 容器是一个好习惯吗?

    我在里面使用WebSphere Liberty 由于 WebSphere Liberty 需要频繁的 xml 编辑 这对于 Dockerfile 命令来说是不可能的 我必须不时地对容器进行 docker commit 以便其他人可以使用我的
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终

随机推荐

  • tqdm循环中实时更新进度条的文字(描述)部分

    tqdm是一个显示进度条的工具 可以在使用for循环的时候添加一个tqdm 这样就知道程序的实时进度 tqdm github页面 https github com tqdm tqdm 示例代码 from tqdm import tqdm i
  • 解决Word、Excel启动时提示向程序发送命令出现问题

    还记得突然有一天 打开Excel或者word后 总是提示 向程序发送命令出现问题 那时候很郁闷 不知道什么问题 重启电脑等方法都没用 然后度娘查找 最后才发现是因为按照额外程序导致的 以下详细说说前因后果 以Excel为例 遇到这种问题应该
  • Python中的连续比较运算符(与C语言对比)

    在Python中 连续的比较运算符是允许的 但是在C语言中是编译不会报错 但是不建议这样使用 Python代码 gt gt gt 5 gt 3 lt 4 True gt gt gt 6 gt 3 lt 1 True 在Python中这两行表
  • 常见的js代码调试

    这里主要探讨使用浏览器来调试javascript方法 并且仅对于IE 对于Opera7 Mozilla FireFox Netscape Navigator等浏览器偶在开发过程中用的很少 没有太多经验 在此就不予探讨 工具的安装 在安装of
  • thymeleaf基本语法

    thymeleaf基本语法 Spring Boot整合Thymeleaf 模版 依赖 创建模板文件 定义页面 简单表达式 Thymeleaf 常用语法 定义局部变量 注释 标准注释 析器级注释 取值 拼接 内联表达式 th inline 字
  • 简单理解磁盘结构

    本文首发于 Guanngxu 的个人博客 磁盘到底是怎样工作的 一文理解硬盘结构 数据库系统总会涉及到辅助存储 大多都是磁盘 因为它们能够存储大量需要长期保存的数据 因此我们有必要先了解了解磁盘的相关知识 根据机械原理 存储器的容量越大其速
  • Mybatis-Plus 实现多表联合查询+分页+查询条件

    Mybatis plus 自己只能完成单表操作 所以如果想要实现多表 需要借助 Mybatis 实现 首先引入mybatis plus依赖 这里就不演示了 返回结果集封装 传递分页以及查询的参数 主要代码在 Service 中 Reques
  • 若依微服务报错Error: Cannot find module ‘html-webpack-plugin‘解决

    遇到的问题 Error Cannot find module html webpack plugin 但是已经有html webpack plugin了 还是提示了报错 解决办法 https gitee com y project RuoY
  • LeetCode每日刷题:合并两个有序数组

    题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2 另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目 请你 合并 nums2 到 nums1 中 使合并后的数组同样按 非递减顺序 排列 注意
  • LightGBM原理介绍

    简介 是GBDT模型的一个进化版本 其主要思想是利用弱分类器 决策树 迭代训练以得到最优模型 该模型具有训练效果好 不易过拟合等优点 备注 容易出现过拟合的风险 需要限制树的最大深度来防止过拟合 LGB是一个实现GBDT算法的框架 支持高效
  • Python学习笔记(三)

    文章目录 1 异常 2 单测 3 读写文件 3 1 读文件 3 2 写文件 3 3 操作文件和目录 4 正则表达式 4 1 贪婪匹配 5 其它 5 1 StringIO BytesIO 5 2 序列化 5 2 1 pickle 5 2 2
  • 3D光照阴影 平面阴影矩阵推导及代码实现

    3D光照阴影 平面阴影矩阵推导及代码实现 参考有关知识于是辛苦几个小时 推导出光照 平面阴影转换矩阵见图片 平面阴影矩阵推导第一页 平面阴影矩阵推导第二页 平面阴影矩阵 具体代码实现 第三页 到这里光照阴影的平面矩阵推导结束还有伪代码 参考
  • 如何使用学生账号来激活使用Jetbrains全家桶

    使用 edu邮箱注册学生账号来激活使用JetBrains全家桶 起因 之前激活过Jetbrains家的IDE 升级到2017 3 3版本 提示又要激活 试着原来的方法 结果用来激活的License Server全都失效 据称搭建本地反向代理
  • obj[‘x‘]和obj[x]的区别

    对象数据类型 由零到多组键值对 属性名和属性值 组成的属性名的类型 说法一 属性名类型只能是字符串或者Symbol 说法二 属性名类型可以是任何基本类型值 处理中可以和字符串互通 但是属性名绝对不能是引用数据类型 如果设置引用类型 最后也是
  • Python 爬虫学习笔记(二)urllib下载图片和视频

    一 urllib的1个类型和6个方法 1 response的类型 我们打印一下urllib request方法获取的response是什么类型 import urllib request url http www baidu com res
  • springboot yml文件配置Map List等数据

    springboot yml文件配置Map List等数据 配置类定义 yml 配置 使用 说明 配置类定义 import lombok Getter import lombok Setter import org springframew
  • 007 034 打印一个三角形

    例 使用输出语句输出一个三角形 include
  • 20+个小而精的Python实战案例(附源码和数据)

    公众号 尤而小屋作者 Peter编辑 Peter 大家好 我是Peter 最近小编认真整理了20 个基于python的实战案例 主要包含 数据分析 可视化 机器学习 深度学习 时序预测等 案例的主要特点 提供源码 都是基于jupyter n
  • Java实现扑克牌自动发牌系统

    利用Java的ArrayList实现随机给三个人发扑克牌 import java util ArrayList import java util List import java util Random class Card private
  • Linux 必备工具, 命令与例子

    目录 1 wget 2 screen 3 unzip gzip 4 netstat 5 git 6 composer 7 docker 8 docker compose 9 timedatectl set timezone Asia Sha