Linux技术文档-Linux命令(软件测试必备)
2026/9/13 17:07:45 网站建设 项目流程

一、基础知识

1.Linux系统的文件结构

/bin 二进制文件,系统常规命令 /boot 系统启动分区,系统启动时读取的文件 /dev 设备文件 /etc 大多数配置文件 /home 普通用户的家目录 /lib 32位函数库 /lib64 64位库 /media 手动临时挂载点 /mnt 手动临时挂载点 /opt 第三方软件安装位置 /proc 进程信息及硬件信息 /root 临时设备的默认挂载点 /sbin 系统管理命令 /srv 数据 /var 数据 /sys 内核相关信息 /tmp 临时文件 /usr 用户相关设定

2.Linux系统命令行的含义

示例:root@app00:~# root //用户名,root为超级用户 @ //分隔符 app00 //主机名称 ~ //当前所在目录,默认用户目录为~,会随着目录切换而变化,例如:(root@app00:/bin# ,当前位置在bin目录下) # //表示当前用户是超级用户,普通用户为$,例如:("yao@app00:/root$" ,表示使用用户"yao"访问/root文件夹)

3.命令的组成

实例:命令 参数名 参数值 示例:shutdown -h now #立刻关机

二、基础操作

1.关闭系统

2.关闭重启

3.帮助命令(help)

4.命令说明书(man)

5.切换用户(su)

三、目录操作重点常用

1.切换目录(cd)

2.查看目录(ls)

3.创建目录(mkdir)

4.删除目录与文件(rm)

5.拷贝目录(cp)

6.搜索目录(find)

7.查看当前目录(pwd)

四、文件操作(重点常用

1.新增文件(touch)

2.删除文件(rm)

3.编辑文件(vi、vim)

4.查看文件(超重点)

4.1查看文件类型
4.2查看文本内容

查看全部文本内容:

分页查看文本内容

4.3查看部分文件内容

head命令:显示文件开头一些行的内容,默认显示文件前10行

tail命令:显示文件最后一些行的内容,默认显示文件后10行

五、文件权限

1.权限说明

2.文件权限

六、打包、解压、安装

1、打包/解包

tar是linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件

tar的命令格式如下:

1、打包文件

2、解包文件

tar选项说明

注意:f 选项必须放在最后,其他选项可以随意

2.压缩/解压缩

(1)gzip
tar 与 gzip 命令结合可以使用实现文件打包和压缩
tar只复杂打包文件,但不压缩
用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz
在tar 命令中有一个选项-z 可以调用gzip,从而可以方便的实现压缩和解压缩的功能
命令格式:

-C : 解压缩到指定目录,注意:要解压缩的目录必须存在

3.软件安装

apt是advanced Packaging Tool,是Linux下的一款安装包管理工具。
可以在终端中方便的安装、卸载和更新软件包。
(1)安装软件:
sudo apt install 软件包
(2)卸载软件:
sudo apt remove 软件名
(3)更新已安装的包:
sudo apt upgrade
查看当前进程排名的软件:
sudo apt install htop

七、软链接与硬链接

软连接

1、概念

类同与windos的快捷方式,给文件创建一个快速的访问路径,它依赖于原文件,与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块。

2.特性

可对不存在的目录和文件创建软链接。
可以对存在的文件或目录建软链接。
可以跨文件系统创建软链接。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软链接被称为死链接(即dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
软链接创建时原文件的路径指向使用绝对路径较好,相对路径的话原文件移除后可能会成为死链接。

3.软链接的创建

硬链接

1、概念

硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。

2.特性

只能对已存在的文件进行创建(必须事先要有一个原始文件)。
硬链接必须在同一个文件系统里创建。
不能对目录进行创建。
3.硬链接的创建

八、文件传输

rz、sz 命令

使用 rz、sz 命令可以实现 linux 和 windows 之间的文件传输,但要求在 windows 客户端要安装 Xshell 远程连接工具。rz 命令和 sz 命令是一对上传与下载的指令。它们的软件包名为 lrzsz。

rz 中的 r 意为 received (接收),即将文件从win本地上传到服务器,为服务器接收文件。

sz 中的 s 意为 send (发送),输入sz时,意为服务器要发送文件,既从服务器发送文件到本地,或是说本地从服务器上下载文件。

# linux下的lrzsz包安装命令 yum install lrzsz -y # redHat、centos、Fedora系统下的安装命令 dpkg -i lrzsz -y # ubuntu系统下的安装命令 # sz、rz 命令的使用方法 rz 回车后会弹出windows窗口,然后选择文件。 # 将文件从win本地上传到服务器 sz 文件名 # 从服务器发送文件到win本地# 注意:不论是send还是received,动作都是在服务器上发起的。

sftp 命令

连接远程主机,上传或下载文件。

#语法格式: sftp 远程主机#作用: 连接远程主机,上传或下载文件 # 示例: (需连接到远程主机) sftp 172.24.5.12 # 连接到远程主机 get a.txt # 下载a.txt文件 put a.txt # 上传a.txt到远程主机

rcp 命令

#语法格式: scp 主机1 主机2#作用: 远程主机间的文件或目录相互拷贝 # 示例: rcp test 192.168.128.169:/test # 拷贝当前目录下的test 到192.168.128.169的/test目录下 rcp root@192.168.128.169:./test /test # 复制远程目录到本地的/test下

九、系统管理

1、防火墙操作

service iptables status //查看iptables服务的状态 service iptables start //开启iptables服务 service iptables stop //停止iptables服务 service iptables restart //重启iptables服务 chkconfig iptables off //关闭iptables服务的开机自启动 chkconfig iptables on //开启iptables服务的开机自启动 ##centos7 防火墙操作 systemctl status firewalld.service //查看防火墙状态 systemctl stop firewalld.service //关闭运行的防火墙 systemctl stop firewalld.service //开启防火墙 systemctl disable firewalld.service //永久禁止防火墙服务

2.修改主机名(CentOS 7)

hostnamectl set-hostname 主机名

3、查看网络

ifconfig # 查看网卡配置信息 $ ifconfig # 查看网卡对应的 IP 地址 $ ifconfig | grep inet

4、修改IP

修改网络配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0 ------------------------------------------------ 主要修改以下配置: TYPE=Ethernet //网络类型 BOOTPROTO=static //静态IP DEVICE=ens00 //网卡名 IPADDR=192.168.1.100 //设置的IP NETMASK=255.255.255.0 //子网掩码 GATEWAY=192.168.1.1 //网关 DNS1=192.168.1.1 //DNS DNS2=8.8.8.8 //备用DNS ONBOOT=yes //系统启动时启动此设置 ------------------------------------------------- 修改保存以后使用命令重启网卡:service network restart

5、配置映射

修改文件: vi /etc/hosts 在文件最后添加映射地址,示例如下: 192.168.1.101 node1 192.168.1.102 node2 192.168.1.103 node3 配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。

6.端口操作

在Linux中,可以使用以下命令来查看端口号: 1. netstat命令 netstat -tunlp # 查看所有端口号和对应的进程信息 netstat -tunlp | grep 端口号 # 查看指定端口号对应的进程信息 2. lsof命令 lsof -i:端口号 # 查看指定端口号对应的进程信息 3. ss命令 ss -tunlp # 查看所有端口号和对应的进程信息 ss -tunlp | grep 端口号 # 查看指定端口号对应的进程信息 4、可以使用Linux命令netstat来查询端口号。具体命令如下:netstat -ap | grep <进程名或进程ID> 其中,-a表示显示所有连接和监听端口,-p表示显示进程ID和进程名,grep命令用于过滤出包含指定进程名或进程ID的行。执行该命令后,会显示该进程所绑定或监听的端口号。 举个例子,如果要查询进程名为nginx的进程所绑定或监听的端口号,可以执行以下命令:netstat -ap | grep nginx 5、开放端口命令 使用firewall命令开放端口,firewall-cmd --add-port=<端口号>/<协议> --permanent; //以3306为例 先执行: firewall-cmd --add-port=3306/tcp --permanent; 在执行: firewall-cmd --reload #刷新 6、关闭端口命令 先执行: firewall-cmd --remove-port=3306/tcp --permanent; 在执行: firewall-cmd --reload

7、查看进程

静态: ps aux #查看进程使用情况 ps aux | less # 查看进程使用情况,考虑到显示过多,使用分管符和less命令查看 ps aux --sort CPU #查看进程使用情况,并按照CPU的使用率升序排列 ps aux --sort -CPU #查看进程使用情况,并按照CPU的使用率降序排列 ps aux --sort rss #查看进程使用情况,并按照内存的使用升序排列 ps aux --sort -rss #查看进程使用情况,并按照内存的使用降序排列 ps -ef | grep XXX #查看指定的进程是否开启 ps axo user,pid,ppid…… #查看进程,并且只查看后面列举出的信息 动态: top -d 1 top -p 100 top -n 3 >123.txt top -u nginx -d 表示刷新的时间间隔,单位为s -p 表示查看指定PID的进程 -u 表示查看指定用户的进程 -n 表示top刷新指定次数后退

8、结束进程

kill pid //杀死该pid的进程 kill -9 pid //强制杀死该进程

9、查看链接

ping IP //查看与此IP地址的连接情况 netstat -an //查看当前系统端口 netstat -an | grep 8080 //查看指定端口

10、快速清屏

ctrl+l //清屏,往上翻可以查看历史操作

11、远程主机

ssh IP //远程主机,需要输入用户名和密码

12、ping一般用于检测当前计算机到目标计算机之间的网络 是否通畅,数值越大,速度越慢

ping一般用于检测当前计算机到目标计算机之间的网络 是否通畅,数值越大,速度越慢 # 检测到目标主机是否连接正常 $ ping IP地址 # 检测本地网卡工作正常 $ ping 127.0.0.1

十、du命令

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.

命令格式:

du [选项][文件]

命令功能:显示每个文件和目录的磁盘使用空间。

命令参数:

-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -k或--kilobytes 以KB(1024bytes)为单位输出。 -m或--megabytes 以MB为单位输出。 -s或--summarize 仅显示总计,只列出最后加总的值。 -h或--human-readable 以K,M,G为单位,提高信息的可读性。 -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。 -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。 --exclude=<目录或文件> 略过指定的目录或文件。 -D或--dereference-args 显示指定符号链接的源文件大小。 -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。 -l或--count-links 重复计算硬件链接的文件。

实例1:显示目录或者文件所占空间

[root@localhost test]# du 608 ./test6 308 ./test4 4 ./scf/lib 4 ./scf/service/deploy/product 4 ./scf/service/deploy/info 12 ./scf/service/deploy 16 ./scf/service 4 ./scf/doc 4 ./scf/bin 32 ./scf 8 ./test3 1288 . [root@localhost test]#

说明:只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

实例2:显示指定文件所占空间

[root@localhost test]# du log2012.log 300 log2012.log [root@localhost test]#

实例3:查看指定目录的所占空间

[root@localhost test]# du scf 4 scf/lib 4 scf/service/deploy/product 4 scf/service/deploy/info 12 scf/service/deploy 16 scf/service 4 scf/doc 4 scf/bin 32 scf [root@localhost test]#

实例4:显示多个文件所占空间

[root@localhost test]# du log30.tar.gz log31.tar.gz 4 log30.tar.gz 4 log31.tar.gz [root@localhost test]#

实例5:只显示总和的大小

[root@localhost test]# du -s 1288 . [root@localhost test]# du -s scf 32 scf [root@localhost test]# cd .. [root@localhost soft]# du -s test 1288 test [root@localhost soft]# ————————————————

实例6:方便阅读的格式显示

[root@localhost soft]# du -h test 608K test/test6 308K test/test4 4.0K test/scf/lib 4.0K test/scf/service/deploy/product 4.0K test/scf/service/deploy/info 12K test/scf/service/deploy 16K test/scf/service 4.0K test/scf/doc 4.0K test/scf/bin 32K test/scf 8.0K test/test3 1.3M test [root@localhost soft]#

实例7:文件和目录都显示

[root@localhost soft]# du -ah test 4.0K test/log31.tar.gz 4.0K test/test13.tar.gz 0 test/linklog.log 0 test/test6/log2014.log 300K test/test6/linklog.log 0 test/test6/log2015.log 4.0K test/test6/log2013.log 300K test/test6/log2012.log 0 test/test6/log2017.log 0 test/test6/log2016.log 608K test/test6 0 test/log2015.log 0 test/test4/log2014.log 4.0K test/test4/log2013.log 300K test/test4/log2012.log 308K test/test4 4.0K test/scf/lib 4.0K test/scf/service/deploy/product 4.0K test/scf/service/deploy/info 12K test/scf/service/deploy 16K test/scf/service 4.0K test/scf/doc 4.0K test/scf/bin 32K test/scf 4.0K test/log2013.log 300K test/log2012.log 0 test/log2017.log 0 test/log2016.log 4.0K test/log30.tar.gz 4.0K test/log.tar.bz2 4.0K test/log.tar.gz 0 test/test3/log2014.log 4.0K test/test3/log2013.log 8.0K test/test3 4.0K test/scf.tar.gz 1.3M test [root@localhost soft]#

实例8:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

[root@localhost test]# du -c log30.tar.gz log31.tar.gz 4 log30.tar.gz 4 log31.tar.gz 8 总计 [root@localhost test]#

实例9:按照空间大小排序

[root@localhost test]# du|sort -nr|more 1288 . 608 ./test6 308 ./test4 32 ./scf 16 ./scf/service 12 ./scf/service/deploy 8 ./test3 4 ./scf/service/deploy/product 4 ./scf/service/deploy/info 4 ./scf/lib 4 ./scf/doc 4 ./scf/bin [root@localhost test]#

实例10:输出当前目录下各个子目录所使用的空间

[root@localhost test]# du -h --max-depth=1 608K ./test6 308K ./test4 32K ./scf 8.0K ./test3 1.3M . [root@localhost test]#

十一、Linux三剑客

1、grep 行过滤检索

核心常用参数

参数作用
-i忽略大小写
-n显示匹配行号
-v反向匹配,排除内容
-c统计匹配行数
-o只输出匹配字符
-w精确单词匹配
-r/-R递归目录查找
-A n匹配后 n 行
-B n匹配前 n 行
-C n匹配前后 n 行
-E扩展正则

2. 三种执行场景


1)单文件场景
# 查找user.txt含root行 grep "root" /opt/test/user.txt # 显示行号+忽略大小写 grep -ni nginx /opt/test/user.txt # 排除nologin行 grep -v nologin /opt/test/user.txt
2)多文件同时检索
# 匹配两个文件包含200的行 grep "200" /opt/test/user.txt /opt/test/login.txt # 多文件反向过滤 grep -v fail /opt/test/*.txt
3)跨目录 / 递归全局查找
# 进入别的目录,依然指定绝对路径执行 cd /home grep "mysql" /opt/test/user.txt # 递归整个/opt目录下所有文件匹配关键词 grep -r "success" /opt/ # 递归+显示行号 grep -rn "404" /opt/

3. 工作实战用法

# 日志查报错及上下3行 grep -C 3 ERROR /var/log/app.log # 统计报错次数 grep -c ERROR /var/log/app.log # 过滤进程排除自身 ps -ef | grep java | grep -v grep # 查找配置文件含端口8080 grep -r 8080 /etc/

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询