Linux 常用命令以及操作集合

查看登录认证记录

  • CentOS 7为例,执行命令tail -f /var/log/secure可实时查看

查看iptables设置的规则

  • iptables -L INPUT -n --line-numbers

保存iptables设置的规则

  • service iptables save

清空iptables规则

  • iptables -F INPUT

阻止指定IP访问

  • iptables -I INPUT -s 127.0.0.1 -j DROP 进行访问阻止

删除指定规则的行号

  • iptables -D INPUT 5,5即为行号,行号可以通过iptables -L INPUT -n --line-numbers命令查看

查看系统发行版本

cat /etc/os-release

同步系统时间

vi /var/spool/cron/root # 添加以下内容,/var/spool/cron目录下可能没有root文件,创建一个即可
0 * * * *  /usr/sbin/ntpdate time1.aliyun.com >> /tmp/autontpdate 2>&1 # 每小时同步一次时间

tar.gz打包命令

tar -zcvf 打包后到文件名称.tar.gz ./需要打包到目录

tar.gz解压命令

tar -zxvf 文件名称.tar.gz 解压后到当前目录

指定用户运行脚本(这里使用 es 用户 运行sonar.sh脚本)

su - es /usr/local/sonarqube-7.6/bin/linux-x86-64/./sonar.sh start

立即重启

shutdown -r now

创建用户

// 创建用户
useradd myuser1
// 修改密码
passwd myuser1

useradd myuser2
// 修改密码
passwd myuser2
// 一行命令修改密码
echo "root:2023321" | chpasswd
// 将root用户密码修改为 2023321

// 将 myuser1的根目录授权给用户 myuser2
chown -R myuser2 myuser1/

删除文件夹

  • 命令:rm -rf

删除文件

  • 命令:rm -f

查找进程是否启动

// 查看HMaster 和 HRegionServer进程
jps | grep -E 'HMaster|HRegionServer'

删除文件内容并指定忽略文件夹

$ find /Users/wency_cai/soft/WebProjects/test -type f -not -path "/Users/wency_cai/soft/WebProjects/test/my/*" -exec rm {} \;

查看ip地址

// 命令
ifconfig

// 以下命令也能列出IP地址
 ip add

查看硬盘

fdisk -l
sfdisk -s

查看当前目录下所有目录占有大小

du   -sh    *

查看指定目录剩余磁盘空间

df -hl  目录路径

查看哪个目录占用空间最大

du -hsx * | sort -rh | head -10

查看目录占用磁盘空间大小

du -hd0 表示查询当前目录总空间大小
du -hd1 表示分别查询当前目录下的各目录的总空间大小
du -h --max-depth=0    表示查看当前目录使用的总空间大小,0表示文件夹深度,0即为只查看当前目录
du -h --max-depth=1 user    表示查看user目录下使用的总空间大小,1表示user目录下的文件夹深度,即为只查看两级目录
df -TH 表示查看磁盘空间分配大小

查看进程所在目录

ll /proc/19901/cwd
19901 为PID

查看文件大小

du -sh 文件路径

ubuntu 卸载软件

apt-get remove --purge 软件名称
apt-get autoremove --purge 软件名称

开机自动启动

  • 在/etc/systemd/system目录下创建elasticsearch.service文件
[Unit]
Description=elasticsearch App
After=network.target  # 指定依赖(如网络就绪后启动)

[Service]
User=root      # 以哪个用户运行(可选)
Group=root  # 用户组(可选)
Type=forking
ExecStart=/usr/local/elasticsearch/bin/elasticsearch
Restart=on-failure   # 失败时自动重启

[Install]
WantedBy=multi-user.target  # 多用户模式启动时启用
sudo systemctl daemon-reload     # 重新加载配置
sudo systemctl enable elasticsearch.service      # 设置开机自启
sudo systemctl start elasticsearch.service       # 立即启动服务

等待用户输入

#!/bin/bash
echo "请输入maven根目录:"
read mvn_path
echo "maven 根目录是:$mvn_path"

ssh 终端远程链接服务器

// 默认22端口号
ssh -t username@ip_address
// 指定端口号
ssh -t username@ip_address -p port

free 命令查看内存

total 系统总的可用物理内存大小

used 已被使用的物理内存大小

free 还有多少物理内存可用

shared 被共享使用的物理内存大小

buff/cache 被 buffer 和 cache 使用的物理内存大小

available 还可以被 应用程序 使用的物理内存大小

top 命令查看进程

// 查看前20几个进程
top
// 指定查看某个进程
top -p pid

查看CPU核数

cat /proc/cpuinfo| grep "cpu cores"| uniq

查看逻辑CPU个数

cat /proc/cpuinfo| grep "processor"| wc -l

查看物理CPU个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查看CPU型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

遍历删除指定文件夹

find . -name  target  -type d -print -exec rm -rf {} \;
. 当前目录开始遍历
target 需要删除的文件夹
-type d查找类型为目录(d)
-print 输出查找结果
-exec rm -rf {} \; 对find 结果执行递归删除命令
删除空文件夹
find . -type d -empty  -print -exec rm -rf {} \;
find . -type d -empty 找出空文件夹
// 进入根目录 遍历删除所有 target 文件夹
find . -name 'target' -type d  | xargs rm -rf


#删除3天前打包压缩的备份数据
find 目录路径 -mtime +3 -name "*.tar.gz" -exec rm -rf {} \;

查找当天创建的文件

find 文件路径 -daystart -ctime 0 -print

查询开机时长

#!/bin/bash

# 获取系统运行时间(秒)
uptime_seconds=$(cat /proc/uptime | cut -d. -f1)

# 转换为小时、分钟和秒
hours=$((uptime_seconds / 3600))
minutes=$(( (uptime_seconds % 3600) / 60 ))
seconds=$((uptime_seconds % 60))

# 打印开机时间
echo "系统已开机:$hours小时$minutes分钟$seconds秒"
posted @ 2025-04-03 14:06  程序员の奇妙冒险  阅读(16)  评论(0)    收藏  举报