新闻动态

Linux服务器管理常用命令详解

大量的服务器维护工作都是在远程通过 SSH 客户端来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成。作为一名后端程序员,必须要掌握一些 Linux 常用的终端命令。虽然,Linux 发行版的命令大概有 200 多个,但是最常用的命令却只有 10 多个而已。

文件与目录操作


  1. ls:列出目录内容


ls -l  # 以长格式显示目录内容ls -a  # 显示所有文件,包括隐藏文件
  1. cd:切换目录


cd /home/user  # 切换到/home/user目录cd ..  # 切换到上一级目录
  1. pwd:显示当前工作目录


pwd  # 输出当前工作目录的路径
  1. mkdir:创建目录


mkdir dir1  # 创建一个名为dir1的目录
  1. rmdir:删除空目录


rmdir dir1  # 删除名为dir1的空目录
  1. touch:创建空文件或更新文件时间戳


touch file1.txt  # 创建一个名为file1.txt的空文件


三、文件内容查看与编辑


  1. cat:显示文件内容


cat file1.txt  # 显示file1.txt的内容
  1. more/less:分页显示文件内容


more file1.txt  # 分页显示file1.txt的内容,按空格键翻页,按q键退出
  1. head/tail:显示文件的开头/结尾部分


head file1.txt  # 显示file1.txt的前10行内容tail file1.txt  # 显示file1.txt的最后10行内容
  1. vi/vim:文本编辑器,用于编辑文件内容(详细操作略)


四、文件与目录管理


  1. cp:复制文件或目录


cp file1.txt file2.txt  # 将file1.txt复制为file2.txt
  1. mv:移动或重命名文件或目录


mv file1.txt dir1/  # 将file1.txt移动到dir1目录下(若dir1不存在则为重命名)
  1. rm:删除文件或目录


rm file1.txt  # 删除file1.txt文件,加-r参数可删除目录及其内容
  1. ln:创建链接文件


ln -s file1.txt link1.txt  # 创建一个指向file1.txt的符号链接link1.txt
  1. find:在目录树中查找文件或目录


find /home/user -name "*.txt"  # 在/home/user目录下查找所有.txt后缀的文件
  1. chmod:这个命令用于改变文件或目录的权限。在Linux系统中,每个文件和目录都有相应的权限,包括读(r)、写(w)和执行(x)权限。这些权限可以分配给文件的所有者(owner)、文件的所属组(group)和其他用户(others)。


例如,如果我们想给一个文件添加执行权限,我们可以使用以下命令:

chmod +x filename


如果我们想同时给所有者和所属组添加写权限,我们可以这样做:

chmod u+w,g+w filename


其中,“u”代表所有者,“g”代表所属组,“+”代表添加权限,“w”代表写权限。


  1. chown:这个命令用于改变文件或目录的所有者和所属组。例如,如果我们想将一个文件的所有者更改为“newuser”,并将所属组更改为“newgroup”,我们可以使用以下命令:


chown newuser:newgroup filename


如果只更改所有者,可以省略所属组部分:

chown newuser filename


五、系统信息查询与进程管理


  1. df:这个命令用于显示磁盘分区上的可用和已使用的磁盘空间。例如:


df -h  # 以人类可读的格式(例如GB, MB)显示磁盘空间使用情况
  1. du:此命令用于估算文件和目录的磁盘使用情况。例如:


du -sh directory  # 显示指定目录的总大小,-s表示总计,-h表示以人类可读的格式显示
  1. ps:此命令用于显示当前运行的进程信息。例如:


ps aux  # 显示所有用户的所有进程,包括命令行参数等信息
  1. top:这是一个动态显示进程信息的工具,可以实时查看系统的运行状态和各个进程的资源占用情况。直接在终端中输入“top”即可运行。
  2. kill:此命令用于终止进程。你需要知道进程的PID(进程ID)来使用这个命令。PID可以通过“ps”命令获取。例如:


kill PID  # 终止指定PID的进程


如果是强制终止进程,可以使用“kill -9 PID”。

六、网络命令


  1. ifconfig/ip:这两个命令都可以用来显示和配置网络接口信息。在新的Linux发行版中,“ifconfig”已被“ip”命令替代,但在一些旧的系统中仍然可以使用。例如:


ip addr show  # 显示网络接口信息


或者在一些老的系统上:

ifconfig  # 显示网络接口信息
  1. netstat:此命令用于显示网络连接、路由表和网络接口信息。例如:


netstat -tuln  # 显示当前系统上所有监听的TCP和UDP端口
  1. ping:这是一个用于测试网络连接的命令。例如:


ping www.google.com  # 向Google发送ICMP回显请求以测试网络连接
  1. traceroute:此命令可以显示数据包从源主机到目标主机经过的路由。例如:


traceroute www.google.com  # 显示到Google的路由路径


注意:在某些系统上,该命令可能被称为“tracert”。


  1. wget:此命令用于从网络上下载文件。例如:


wget http://example.com/file.zip  # 下载指定URL的文件
  1. curl:这是一个强大的工具,用于从或向服务器传输数据,支持多种协议。例如:


curl http://example.com  # 获取指定URL的内容
  1. ssh:此命令允许用户安全地远程登录到其他计算机。例如:


ssh user@hostname  # 使用SSH远程登录到指定主机
  1. scp:这是一个基于SSH的文件传输命令,可以在本地和远程主机之间安全地复制文件。例如:


scp localfile.txt user@hostname:/path/to/remote/directory/  # 将本地文件复制到远程主机上指定的目录


或者从远程主机复制文件到本地:

scp user@hostname:/path/on/remote/file.txt /path/on/local/  # 从远程主机复制文件到本地指定的目录