Linux常用命令

基本命令

文件和目录操作

ls:列出目录内容。

cd:改变当前目录。

pwd:显示当前工作目录的路径。

mkdir:创建新目录。

rmdir:删除空目录。

rm:删除文件或目录。

cp:复制文件或目录。

mv:移动或重命名文件或目录。

文件查看和编辑

cat:连接文件并打印到标准输出。

more 和 less:分页显示文件内容。

head 和 tail:显示文件的开头或结尾部分。

nano、vi 或 vim:文本编辑器。

系统信息

uname:显示系统信息。

top:显示系统的实时进程信息。

df:显示磁盘空间使用情况。

free:显示内存使用情况。

查看内存消耗情况

要查看服务器上哪些程序消耗内存,可以使用以下几种方法:

方法一:使用 top 命令

top 是一个实时显示系统进程的工具,可以查看每个进程的内存使用情况。

1
top

top 界面中,你可以看到每个进程的内存使用情况,通常以 RES(实际使用物理内存)和 VIRT(虚拟内存)列表示。

方法二:使用 ps 命令

ps 命令可以列出当前系统上的进程,并显示它们的内存使用情况。

1
ps aux --sort=-%mem | head -n 10

这个命令会列出按内存使用率排序的前10个进程。

方法三:使用 free 命令

free 命令可以显示系统的内存使用情况,包括总内存、已用内存、空闲内存等。

1
free -h

方法四:使用 vmstat 命令

vmstat 命令可以显示虚拟内存统计信息,包括内存使用情况。

1
vmstat -s

方法五:使用 htop 命令

htop 是一个更高级的进程查看工具,比 top 更直观和易用。

1
htop

如果你没有安装 htop,可以使用以下命令安装:

1
2
sudo apt-get install htop  # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL

方法六:使用 smem 命令

smem 是一个可以显示进程内存使用情况的工具,可以按用户、映射、进程等进行过滤。

1
smem

如果你没有安装 smem,可以使用以下命令安装:

1
2
sudo apt-get install smem  # Debian/Ubuntu
sudo yum install smem # CentOS/RHEL

通过这些命令,你可以详细了解服务器上各个进程的内存使用情况,从而找出消耗内存较多的程序。

用户和权限

whoami:显示当前用户名。

su 和 sudo:切换用户或以超级用户权限执行命令。

chmod:更改文件权限。

chown:更改文件所有者。

网络操作

ifconfig 或 ip:显示或配置网络接口。

ping:测试网络连接。

netstat:显示网络状态。

ssh:远程登录。

scp:远程文件复制。

压缩和归档

tar:创建或提取 tar 归档文件。

gzip、bzip2:压缩文件。

zip 和 unzip:处理 zip 格式的压缩文件。

搜索和查找

find:在文件系统中查找文件。

grep:在文件中搜索匹配的行。

其他

echo:显示一行文本。

date:显示或设置系统日期和时间。

history:显示命令历史记录。

常用脚本命令

更新现有列表包

1
sudo apt-get update

安装一些必要的系统工具

1
2
3
4
sudo apt-get install -y \
apt-transport-https \
ca-certificates \curl \
software-properties-common

重置系统

1
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 11 -v 64 -p lion123 -port 22

更新环境

1
apt update -y && apt upgrade -y && apt install -y curl wget sudo socat

安装curl

Debian/Ubuntu

1
apt update -y && apt install -y curl

CentOS

1
yum update && yum install -y curl

Alpine Linux

1
apk update && apk add curl

安装Vim

在大多数 Linux 发行版中,Vim 通常是预先安装的。如果你的系统没有安装 Vim,你可以通过以下步骤来安装:

对于 Debian/Ubuntu 系统:

1
2
sudo apt update
sudo apt install vim

对于 Fedora 系统:

1
sudo dnf install vim-enhanced

对于 CentOS/RHEL 系统:

1
sudo yum install vim-enhanced

一旦安装完成,你可以在终端中输入 vim 来启动 Vim 编辑器。

kejilion一键运行脚本

官网版

1
curl -sS -O https://kejilion.pro/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh

GitHub版 部分小伙伴会遇到官网版出现大段乱码!就用GitHub版本吧!

1
curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh

国内服务器版

1
curl -sS -O https://raw.gitmirror.com/kejilion/sh/main/cn/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh

禁用防火墙

禁用防火墙是一个需要谨慎考虑的操作,因为它可能会使你的系统暴露在网络攻击的风险中。如果你确实需要临时禁用防火墙进行某些测试或配置,以下是一些常见 Linux 发行版中禁用防火墙的方法:

1. Ubuntu 和 Debian 系统

Ubuntu 和 Debian 系统通常使用 ufw(Uncomplicated Firewall)作为防火墙管理工具。

  • 禁用 ufw

    1
    sudo ufw disable
  • 查看 ufw 状态:

    1
    sudo ufw status

2. CentOS 和 RHEL 系统

CentOS 和 RHEL 系统通常使用 firewalld 作为防火墙管理工具。

  • 停止 firewalld

    1
    sudo systemctl stop firewalld
  • 禁用 firewalld 开机自启动:

    1
    sudo systemctl disable firewalld
  • 查看 firewalld 状态:

    1
    sudo systemctl status firewalld

3. Fedora 系统

Fedora 系统也使用 firewalld 作为防火墙管理工具。

查看开放的端口号
firewall-cmd –list-all

设置开放的端口号
firewall-cmd–add-service=http-permanent
sudo firewall-cmd–add-port=80/tcp–permanent

重启防火墙
firewall-cmd -reload

  • 停止 firewalld

    1
    sudo systemctl stop firewalld
  • 禁用 firewalld 开机自启动:

    1
    sudo systemctl disable firewalld
  • 查看 firewalld 状态:

    1
    sudo systemctl status firewalld

4. 其他系统

对于使用 iptablesnftables 的系统,禁用防火墙的方法如下:

  • 禁用 iptables

    1
    2
    3
    4
    5
    6
    7
    8
    9
    sudo iptables -F
    sudo iptables -X
    sudo iptables -t nat -F
    sudo iptables -t nat -X
    sudo iptables -t mangle -F
    sudo iptables -t mangle -X
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
  • 禁用 nftables

    1
    sudo nft flush ruleset

请注意,禁用防火墙可能会使你的系统面临安全风险,因此在执行这些操作之前,请确保你了解潜在的风险,并在必要时采取其他安全措施。在完成测试或配置后,建议立即重新启用防火墙以保护你的系统。

更改yum镜像源

1
sudo vi /etc/yum.repos.d/CentOS-Base.repo

修改内容如下

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
[base]
name=CentOS-$releasever - Base - Aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - Aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - Aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - Aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

更新缓存

1
2
sudo yum clean all
sudo yum makecache

Docker 相关命令

安装 Docker

1
curl -fsSL https://get.docker.com | sh

或者

1
sudo apt-get install docker-ce

查看Docker 版本

1
docker --version

查看端口是否被占用

lsof -i :port

image-20231211213320802

或者 netstat -anp |grep port

image-20231211225357973

结束进程 kill -9 pid

image-20231211213647203

查看ip

1
2
3
ifconfig 
# 或者
ip addr

查看容器

docker ps

image-20231211213449696

部署docker-compose容器 docker-compose up -d

image-20231211214852943

查看内网地址

1
ip addr show docker0