Linux常用命令

常用命令

基础命令

查看当前工作目录

pwd

用户主目录

- 进入用户主目录
cd ~
- 查看用户主目录
ls ~

查看文件

cat /data/test.conf

修改或者创建文件

vi /data/test.conf
注:详细的vi命令可参考网络上的教程

快速创建一个文件

echo 'test' > test.conf

删除文件或文件夹

rm -rf /data/test
注:-f参数标识无提示的删除,操作需谨慎;-r表示循环递归删除所有文件及文件夹

查看文件的详细信息

- 当前目录
ls -l
- 指定目录
ls /data -l

查看文件大小

- 当前目录
du -h --max-depth=1
- 指定目录
du -h --max-depth=1 /data
或
du -sh /data/*

复制文件

- 拷贝到某个文件夹下
cp -rf source.conf /data

- 拷贝到某个文件下并重命名
cp source.conf source_bak.conf

- 将某个目录下的所有文件拷贝到另一个文件夹中
cp -rf /data/* /bak

- 拷贝多个文件
cp test.conf test1.conf /target

移动文件

- 重命名文件
mv source.conf rename.conf
注:mv命令大体和cp命令雷同,这里不再详述

有进度信息的拷贝目录/文件

rsync -avh --progress <sourceDirectory> <destinationDirectory>

系统信息

查看系统版本相关命令

uname -a # 查看系统,主机名,内核版本,系统架构等命令
top  # 总览系统全面信息命令,Ctrl + C 退出界面
hostname  # 查看服务器主机名命令
cat /etc/issue  # 查看 Ubuntu Debian 系发行版版本命令
cat /etc/redhat-release  # 查看 CentOS RedHat 系发行版版本命令
cat /etc/os-release  # 查看通用 Linux 发行版版本命令

查看CPU相关命令

lscpu #查看系统cpu信息
cat /proc/cpuinfo # 查看 CPU 核心数,架构,名字,频率,缓存,指令集等命令
grep name /proc/cpuinfo # 查看  CPU 名字命令
grep cores /proc/cpuinfo # 查看  CPU 核心数命令
grep MHz /proc/cpuinfo # 查看  CPU 频率命令

查看内存相关命令

cat /proc/meminfo # 查看内存硬件相关信息命令
free -m # 查看内存总量,使用量,swap 信息等命令
swapon -s # 查看 swap 交换分区的路径,大小命令

查看硬盘分区相关系统命令

df -h # 查看硬盘分区以及占用情况命令
du -sh [指定路径] # 查看指定路径文件或目录大小命令
fdisk -l # 查看硬盘大小,数量,类型命令

注:大写E可切换统计类单位;小写e可切换列表单位
df -h | head -n11

  • 查询Linux设备是固态磁盘还是机械磁盘方法
lsblk -d -o name,rota
NAME ROTA
sda   0       #sda是固态硬盘(SDD)

因为SSD是非转动盘,如果返回结果为0说明是SSD硬盘,如果返回结果为1,说明是转动盘HDD类的硬盘。

查看系统时间负载相关情况命令

 uptime # 查看开机时间,系统用户数,平均负载命令
 cat /proc/loadavg # 查看系统负载命令
 w # 查看系统时间,负载,登入用户,用户使用资源情况命令
 top # 总览系统全面信息命令,Ctrl + C 退出界面

查看网络相关情况命令

 ifconfig # 查看网卡及本机 ip 情况命令(需要系统安装了 net-tools 工具)
 ip addr show # 功能同上,新的 Linux 发行版已经逐渐用 ip 命令替代 ifconfig 相关功能命令
 iptables -L # 查看防火墙等相关情况命令
 netstat -s # 查看系统网络连接情况统计信息命令
 netstat -tunlp # 查看服务器端口监听使用情况命令
 netstat -auntp # 查看已经建立连接的端口情况命令
 lsof -i:[端口] # 查看指定端口占用情况命令
 route -n # 查看路由表命令

查看进程相关命令

 ps -aux # 列出所有进程以及相关信息命令
 kill -9 [进程PID] # 从上命令取到相关进程的PID后,高权限kill杀死进程命令命令
 top # 总览系统全面信息命令,Ctrl + C 退出界面
 netstat -tunlp|grep 8443
 ps -ef |grep 8443

查看用户相关命令

 w # 查看系统时间,负载,登入用户,用户使用资源情况命令
 cut -d: -f1 /etc/passwd # 查看系统所有用户命令
 last # 查看系统前几次登陆情况
 crontab -l # 查看用户计划任务情况命令
 crontab -e # 编辑计划任务命令

查看开机启动相关命令

chkconfig # 查看开机启动服务命令
ls /etc/init.d # 查看开机启动配置文件命令
cat /etc/rc.local # 查看 rc 启动文件

软件安装

查找需要安装的包

yum list *nginx*

查看已安装的包

yum list installed

安装软件包

yum install docker-ce-18.09.9

卸载

yum remove docker-ce-18.09.9

rpm安装(支持离线)

- 安装包并在安装过程中显示正在安装的文件信息及安装进度
rpm -ivh example.rpm ```
### rpm卸载

rpm -e example ```

常用运维命令

查看服务器之间的网络通信

ping 主机地址
如 :ping  10.10.10.52

telnet 主机地址 端口
如 :telnet 10.10.10.52 3306

查看服务器时间及同步更新

1. 查看系统时间
执行date命令可以查看当前系统的时间
2. 手动修改系统时间
(1)执行如下命令可以设置一个新的系统时间:
date -s "20230915 16:09:00"
(2)设置完后还要执行如下命令保存一下设置:
hwclock --systohc
(3)当然我们也可以将上面两个操作合二为一:
date -s "20200723 18:30:50"&&hwclock --systohc
3. 通过网络同步时间
	安装时钟服务器NTP或使用现有的

top命令

Linux top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
详细讲解:https://www.cnblogs.com/niuben/p/12017242.html

查看主机的DNS服务器

cat /etc/resolv.conf

查看主机的host

cat /etc/hosts

查看虚拟机Centos 7.9的MAC地址

打开Centos 7.9虚拟机。
登录到虚拟机的终端命令行界面。
在命令行中键入ifconfig命令,按下回车键。
找到虚拟机的网络适配器,通常以 eth0 或 enp0s3 命名。
在网络适配器的信息中找到 HWaddr 或 ether,后面跟着的就是虚拟机的MAC地址。

例如,输出可能会类似于下面的内容:

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::250:56ff:feab:9cef  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:ab:9c:ef  txqueuelen 1000  (Ethernet)
        RX packets 1553  bytes 292909 (286.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1017  bytes 166866 (163.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在这种情况下,MAC地址是 00:50:56🆎9c:ef。

tar 打包、压缩及解压缩

单文件或文件夹打包
tar -zcvf index.tar.gz index.html
此时的结果是将index.html 打包为tar并压缩为gz了,如果后缀名不加 .gz 则不压缩,只打包。

多文件或文件夹 混合打包
tar -zcvf index.tar.gz index.html css/ js/ images/  
此时则将多个文件及文件夹打包到一个包里并压缩 , index.html css/ js/ images/ 打包并压缩为 index.tar.gz

如我们打包presto服务,我们需要去掉logs目录
tar -zcvf index.tar.gz --exclude=index/logs  index

解压 index.tar.gz  到当前目录下
tar -zxvf  xf1706.tar.gz

解压 index.tar.gz 到/usr/local目录下
tar -zxvf  xf1706.tar.gz -C /usr/local

du:查询文件或文件夹的磁盘使用空间

du -h --max-depth=1 /data/app

find 查找

find /data/mysql/backup  -type d -mtime +7 -exec rm -rf {} \\;
find /data/mysql/backup  -type f -name "\*.tar.gz" -mtime +30 -exec rm -rf {} \\;

grep

全拼:Global search REgular expression and Print out the line.
从grep的全称中可以了解到,grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。

grep的语法格式:
grep -option(参数) ‘word’(关键词) file(文本文件)

包含**的前后10行

grep -B 10 -A 10 '钉钉' log/bpm-api-status-2024-04-09.log

sed

使用 sed 或者 awk 命令来从 catalina.out.2024-04-09 文件中提取出 4 月 9 号 10 点到 12 点之间的日志。
sed -n ‘/2024-04-09 10:00:00/,/2024-04-09 12:00:00/p’ catalina.out.2024-04-09 > catalina_10_to_12.log

awk

防火墙

- 查看防火状态
#CentOS
systemctl status firewalld
#Ubuntu
sudo  ufw status 

- 暂时关闭防火墙
#CentOS
systemctl stop firewalld
#Ubuntu
sudo  ufw stop 

- 永久关闭防火墙
- #CentOS
systemctl disable firewalld
#Ubuntu
stop关闭后再用disable(有效)
systemctl stop ufw
sudo ufw disable

- 设置自启动防火墙
#CentOS
systemctl enable firewalld

#Ubuntu
先开启防火墙
sudo start ufw
然后开机自启防火墙
systemctl ufw enable



开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
添加一个新的防火墙规则,允许指定 IP 地址访问指定端口:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="指定IP地址" port port="指定端口" protocol="tcp" accept'
检查已开放的端口
firewall-cmd --list-all

对于docker环境下调整防火墙策略后:
systemctl restart firewalld
systemctl daemon-reload
systemctl restart docker

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值