前言
❝由于工作中服务安装、部署以及系统运维需要经常操作linux服务器,所以熟练使用linux命令是很有必要的。基于此,本文整理了日常工作中常用的操作命令分享给大家。
1. 解压命令
打开终端,切换到解压目录,运行命令:
tar -zxvf filename.tar.gz
或者tar -xvf filename.tar.gz
或者unzip filename.zip
其中-z 表示使用 gzip 压缩算法;-x 表示解压缩;-v 表示显示详细信息;-f 表示指定要解压缩的文件
1.1. .tar 文件(仅打包,未压缩)
tar -xvf filename.tar
1.2. .tar.gz 或 .tgz 文件(gzip 压缩)
tar -xzvf filename.tar.gz 或 tar -xzvf filename.tgz
1.3. .zip 文件
- 解压到当前目录:
unzip filename.zip - 解压到指定目录:
unzip filename.zip -d /target/directory
2. 查看内存、进程、端口占用情况
2.1. top 命令
在终端输入top命令。top命令可以实时显示系统的整体性能情况,包括CPU使用率、内存占用、进程列表等。
2.2. ps 命令
ps命令用于查看系统中进程信息。ps aux --sort -rss 命令列出所有进程信息,并按内存占用从高到低排序
2.3. 查找进程
ps -ef|grep iserver:查找iserver进程
ps -ax|grep nginx:查找nginx进程
2.4. 查看端口占用进程
查看端口使用情况:netstat -ntulp|grep port其中参数:
-n:不进行DNS轮询;-t:显示TCP端口;-u:显示UDP端口;-l:显示监听套接字;-p:显示进程号和程序名称;port:要查找的端口号
- 查看端口占用情况:
netstat -anp | grep 1123 - 查看打开文件,端口占用情况:
lsof -i:port
2.5. 查看内存信息
free -th
free -m:以单位Mb显示
free和available的区别
字段 | 含义 | 计算方式 | 是否可被程序直接使用 |
|---|
free
| 完全未被使用的内存 | MemTotal - used - buff/cache
| ❌ 不准确,因为 Linux 会缓存数据以提高性能 |
available
| 实际可用的内存(包括可回收的缓存) | free + 可回收的 buff/cache
| ✅ 更接近真实可用内存 |
关键点
free很小是正常的:Linux 会尽可能利用内存做缓存(buff/cache),而不是让它们闲置。available才是真正可用的内存:它包含 free + 可被立即回收的缓存和缓冲区。
Linux 内存分为以下几部分:
ached:文件系统缓存(如打开的文件会被缓存,可部分回收)。
free:完全未被使用的内存(Linux 会尽量避免内存闲置)。
3. 关闭进程
kill -9 pid
4. 复制(粘贴)文件及文件夹
cp [选项] [源文件/文件夹路径] [目标文件/文件夹路径]其中选项参数:-r:复制文件夹及其子文件夹和文件-v:显示复制过程-i:在复制前询问是否覆盖目标文件-p:保留源文件的权限、所有者和时间戳等属性
复制文件到文件夹cp -rvip /home/installer.run /opt/
复制文件夹到文件夹cp -rvip /home/install_package/ /opt/lampp/htdocs/
5. 移动(剪切)文件
移动一个文件夹到另一个文件夹mv /home/packageA /home/packageB/
移动一个文件夹下的所有内容到另一个文件夹mv /home/packageA/* /home/packageB/
6. 删除文件及文件夹
6.1. 删除一个文件夹及其下面的所有文件
rm -rf /home/packageA
其中-r表示向下递归,不管有多少级目录,一并删除-f表示直接强行删除,不作任何提示
7. 远程拷贝文件
在windows本地终端(powershell)打开命令行窗口,执行以下命令
scp file-name [user@ip](mailto:user@192.168.1.100):directory
其中file-name 为本地文件目录;user 为远程计算机名计算机用户名;ip 为远程计算机地址
7.1. 从 Windows 上传文件到 linux 服务器
执行命令如下scp ldcc-admin.jar [root@192.168.18.142](mailto:root@192.168.18.142):/data/app
传输文件时提示 not a regular file
添加-r参数
scp -r ldcc-admin.jar [root@192.168.18.142](mailto:root@192.168.18.142):/data/app
7.2. 从 Windows 上传文件到 Windows 服务器
在windows本地终端(powershell)打开命令行窗口,执行以下命令scp file-name [user@ip](mailto:user@192.168.1.100):directory
其中file-name 为本地文件目录;user 为远程计算机名计算机用户名;ip 为远程计算机地址。
执行命令如下scp ldcc-admin.jar hostname[@](mailto:root@192.168.18.142)192.168.2.79:/data/app
8. linux 系统服务命令
服务命令
| | |
|---|
1 | systemctl start service-name
| 启动服务 |
2 | systemctl stop service-name
| 停止服务 |
3 | systemctl restart service-name
| 重启服务 |
4 | systemctl status service-name
| 查看服务状态 |
5 | systemctl list-units
| 查看所有活跃的单元 |
6 | systemctl list-unit-files
| 查看所有已安装的单元文件 |
查看日志
9. Nginx 启动命令
加载 Nginx 配置,在 nginx bin 目录下执行命令
./nginx -s reload
10. linux arrch64rpm安装 redis
10.1. 检查是否安装Redis RPM包
rpm -qa | grep redis
10.2. 如果Redis已经安装,查找redis配置文件:
rpm -ql | grep redis.conf
10.3. 卸载 redis rpm 包
rpm -e <redis-rpm-package>
10.4. 查看redis是否启动成功(redis进程)
ps -ef|grep redis
10.5. redis启动的三种方式:
方式1:直接启动
进入 redis 根目录,执行命令加上‘&’ 表示 redis 以后台程序运行./redis-server &
方式2:指定配置文件启动
进入 redis 根目录,执行命令./redis-server /etc/redis.conf
方式3:使用redis启动脚本设置开机自启动
10.6. 后台连接 redis
使用 redis-cli,运行命令:
./redis-cli -h ip -p 6379 -a 123456
10.7. 查看 redis 键名:
keys *
10.8. 将 redis-server 添加到环境变量中
export PATH=$PATH:/usr/local/redis-server
11. linux 查看系统信息
uname -a:可以查看当前操作系统的内核版本、硬件架构、主机名、内核编译时间等详细信息
cat /etc/os-release:可以查看操作系统版本、名称以及相关地址
cat /etc/issue:可以查看操作系统版本、名称,比较通用
hostnamectl:可以查看主机名、操作系统版本、名称、架构
12. linux 系统防火墙
12.1. 查看防火墙状态
systemctl status firewalld
12.2. 关闭防火墙
systemctl stop firewalld.service
13. 在Linux上,将MinIO服务以后台方式启动
nohup ./minio server /path/to/data &如下所示nohup ./minio server /opt/data/minio &其中nohup 命令用于在终端关闭后继续运行进程,并将输出重定向到文件nohup.out。
./minio server 是启动MinIO服务器的命令。确保你在MinIO所在的目录下执行此命令;& 符号用于将进程置于后台运行。
14. 查看linux文件操作系统挂载情况
(1)mount | grep " / "
mount | grep " / "
其中输出内容"ro"(只读)标志"rw"(读写)标志(2)cat /proc/mounts
15. 查看linux磁盘信息
显示磁盘详细信息df -h
df -hT :显示信息中具有文件系统类型
16. 查看Linux文件夹大小
du -sh /opt/data/minio
ls -lht 将会一一列出当前目录下所有文件的大小,以及所有文件大小的统计总和。或者直接打入ll命令
17. 显示服务器时间
(1)date 显示服务器时间
(2)手动校准服务器时间
sudo date +%Y%m%d -s "20230807"
sudo date +%T -s "09:49:00"
18. Vim 退出编辑
:wq 退出vim编辑
19. linux cat 命令
cat 命令是 Unix 和 Linux 系统中的一个用于查看文件内容的命令它可以将一个或多个文件的内容输出到终端,也可以用于文件的合并操作。
20. linux 用户切换
su username #用户切换
sudosu #返回用户
21. rpm 安装参数
RPM 是 LINUX 下的一种软件的可执行程序,全称Redhat Linux Packet Manager,也就是Redhat的包管理器运行命令rpm -ivh nginx-1.25.2-1.el7.ngx.aarch64.rpm安装 nginx等待安装,直到出现两个百分号表示安装完成。
其中参数:
22. linux 查看磁盘是否挂载为只读
mount:运行命令显示挂载点,可查看挂载状态
mount -o remount,rw <挂载点>:重新挂载磁盘
23. linux 修改目录权限
赋予目录最高权限sudo chmod -R 777 /docker
24. linux 创建目录
创建一级子目录:mkdir /data/web
创建二级子目录:mkdir -p /data/web/front
加上-p参数,不然会报错无法创建目录。
25. linux查看系统IP
ifconfig:ifconfig 是Linux系统中常用的网络配置工具,用于显示和配置网络接口的参数。执行该命令后,您将看到所有网络接口的详细信息,包括IP地址、子网掩码、广播地址等。ip addr 或 ip addr show:ip 是Linux系统中新一代的网络配置工具,功能更强大且更易于使用。执行 ip addr 命令后,您将看到所有网络接口的详细信息,包括IP地址、子网掩码等。