Linux 测试必须知道的命令
一、系统信息查看命令
1.1 uname
- 查看系统基本信息
- 作用:用于显示系统的相关信息,如内核名称、主机名、内核版本等。
- 常用参数及示例
-a
:显示所有信息。
uname -a # 输出示例:Linux test-server 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 21 16:52:16 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
1.2 hostname
- 查看或设置主机名
- 作用:查看当前系统的主机名,也可以临时设置主机名。
- 示例
- 查看主机名:
hostname # 输出示例:test-server
- 临时设置主机名(重启后失效):
hostname new-test-server
1.3 lsb_release
- 查看 Linux 发行版信息
- 作用:显示 Linux 发行版的具体信息,如发行版名称、版本号等。
- 常用参数及示例
-a
:显示所有信息。
lsb_release -a # 输出示例: # No LSB modules are available. # Distributor ID: Ubuntu # Description: Ubuntu 20.04.6 LTS # Release: 20.04 # Codename: focal
二、文件与目录操作命令
2.1 ls
- 列出目录内容
- 作用:显示指定目录下的文件和子目录。
- 常用参数及示例
-l
:以长格式显示文件和目录的详细信息,包括权限、所有者、大小、修改时间等。
ls -l # 输出示例: # -rw-r--r-- 1 user user 123 Apr 10 12:34 test.txt # drwxr-xr-x 2 user user 4096 Apr 11 14:56 test_dir
-a
:显示所有文件和目录,包括隐藏文件(以.
开头的文件)。
ls -a
-h
:与-l
一起使用时,以人类可读的格式显示文件大小(如 KB、MB 等)。
ls -lh
2.2 cd
- 切换目录
- 作用:用于改变当前工作目录。
- 示例
- 切换到指定目录:
cd /home/user/test_dir
- 切换到上一级目录:
cd ..
- 切换到用户主目录:
cd ~
2.3 mkdir
- 创建目录
- 作用:创建一个新的目录。
- 常用参数及示例
-p
:递归创建目录,即如果父目录不存在,会先创建父目录。
mkdir -p /home/user/new_dir/sub_dir
2.4 rm
- 删除文件或目录
- 作用:删除指定的文件或目录。
- 常用参数及示例
-r
:递归删除目录及其内容。
rm -r /home/user/test_dir
-f
:强制删除,不提示确认信息。
rm -f test.txt
三、文件内容查看命令
3.1 cat
- 查看文件内容
- 作用:将文件内容输出到标准输出,适合查看较小的文件。
- 示例
cat test.txt
3.2 more
和 less
- 分页查看文件内容
- 作用:当文件内容较多时,
more
和less
可以分页显示文件内容,方便查看。 - 示例
- 使用
more
查看文件:
more large_file.txt
- 使用
less
查看文件:
less large_file.txt
- 在
less
中,可以使用上下箭头键滚动查看内容,按q
键退出。
- 使用
3.3 head
和 tail
- 查看文件首尾内容
- 作用:
head
用于查看文件的前几行,tail
用于查看文件的后几行。 - 常用参数及示例
head
查看文件前 10 行:
head test.txt
tail
查看文件后 10 行:
tail test.txt
tail -f
实时跟踪文件的新增内容,常用于查看日志文件:
tail -f /var/log/syslog
四、网络相关命令
4.1 ping
- 测试网络连通性
- 作用:向目标主机发送 ICMP 回显请求数据包,以测试与目标主机的网络连通性。
- 示例
ping www.google.com
4.2 ifconfig
或 ip
- 查看和配置网络接口
- 作用:
ifconfig
用于查看和配置网络接口信息,ip
是新一代的网络配置工具,功能更强大。 - 示例
- 使用
ifconfig
查看网络接口信息:
ifconfig eth0
- 使用
ip
查看网络接口信息:
ip addr show eth0
- 使用
4.3 netstat
或 ss
- 查看网络连接和端口状态
- 作用:
netstat
用于显示网络连接、路由表、网络接口等信息,ss
是netstat
的替代品,性能更好。 - 示例
- 使用
netstat
查看所有网络连接:
netstat -an
- 使用
ss
查看所有 TCP 连接:
ss -t
- 使用
五、进程管理命令
5.1 ps
- 查看进程信息
- 作用:显示当前系统中运行的进程信息。
- 常用参数及示例
-ef
:以全格式显示所有进程信息。
ps -ef
-aux
:以详细格式显示所有进程信息,包括 CPU 和内存使用情况。
ps -aux
5.2 top
- 实时监控系统进程和资源使用情况
- 作用:实时显示系统中各个进程的资源使用情况,如 CPU、内存等。
- 示例
top
- 在
top
界面中,可以按q
键退出。
5.3 kill
- 终止进程
- 作用:向指定进程发送信号,通常用于终止进程。
- 示例
- 终止进程 ID 为 1234 的进程:
kill 1234
- 如果进程无法正常终止,可以使用
-9
参数强制终止:
kill -9 1234
六、权限管理命令
6.1 chmod
- 改变文件或目录的权限
- 作用:修改文件或目录的权限,包括读(r)、写(w)、执行(x)权限。
- 示例
- 给文件
test.txt
的所有者添加执行权限:
chmod u+x test.txt
- 使用数字模式给文件
test.txt
设置权限为 755(所有者具有读、写、执行权限,组用户和其他用户具有读、执行权限):
chmod 755 test.txt
- 给文件
6.2 chown
- 改变文件或目录的所有者和所属组
- 作用:修改文件或目录的所有者和所属组。
- 示例
- 将文件
test.txt
的所有者改为newuser
,所属组改为newgroup
:
chown newuser:newgroup test.txt
- 将文件
七、软件包管理命令
7.1 apt
(Debian/Ubuntu 系统)
- 作用:用于在 Debian 或 Ubuntu 系统中安装、更新和删除软件包。
- 常用命令及示例
- 更新软件包列表:
apt update
- 升级已安装的软件包:
apt upgrade
- 安装软件包:
apt install nginx
- 删除软件包:
apt remove nginx
7.2 yum
(CentOS/RHEL 系统)
- 作用:用于在 CentOS 或 RHEL 系统中安装、更新和删除软件包。
- 常用命令及示例
- 更新软件包列表:
yum update
- 安装软件包:
yum install httpd
- 删除软件包:
yum remove httpd