Linux技术文档-Linux命令(软件测试必备)
发布时间:2026/9/13 17:08:04
分类:文化教育
浏览:1234
)
一、基础知识1.Linux系统的文件结构/bin 二进制文件系统常规命令 /boot 系统启动分区系统启动时读取的文件 /dev 设备文件 /etc 大多数配置文件 /home 普通用户的家目录 /lib 32位函数库 /lib64 64位库 /media 手动临时挂载点 /mnt 手动临时挂载点 /opt 第三方软件安装位置 /proc 进程信息及硬件信息 /root 临时设备的默认挂载点 /sbin 系统管理命令 /srv 数据 /var 数据 /sys 内核相关信息 /tmp 临时文件 /usr 用户相关设定2.Linux系统命令行的含义示例rootapp00:~# root //用户名root为超级用户 //分隔符 app00 //主机名称 ~ //当前所在目录默认用户目录为~会随着目录切换而变化例如rootapp00:/bin# 当前位置在bin目录下 # //表示当前用户是超级用户普通用户为$例如yaoapp00:/root$ 表示使用用户yao访问/root文件夹3.命令的组成实例命令 参数名 参数值 示例shutdown -h now #立刻关机二、基础操作1.关闭系统2.关闭重启3.帮助命令help4.命令说明书man5.切换用户su三、目录操作重点常用1.切换目录cd2.查看目录ls3.创建目录mkdir4.删除目录与文件rm5.拷贝目录cp6.搜索目录find7.查看当前目录pwd四、文件操作重点常用1.新增文件touch2.删除文件(rm)3.编辑文件vi、vim4.查看文件超重点4.1查看文件类型4.2查看文本内容查看全部文本内容分页查看文本内容4.3查看部分文件内容head命令显示文件开头一些行的内容默认显示文件前10行tail命令显示文件最后一些行的内容默认显示文件后10行五、文件权限1.权限说明2.文件权限六、打包、解压、安装1、打包/解包tar是linux中最常用的备份工具此命令可以把一系列文件打包到一个大文件中也可以把一个打包的大文件恢复成一系列文件tar的命令格式如下1、打包文件2、解包文件tar选项说明注意f 选项必须放在最后其他选项可以随意2.压缩/解压缩1gziptar 与 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 root192.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 7hostnamectl set-hostname 主机名3、查看网络ifconfig # 查看网卡配置信息 $ ifconfig # 查看网卡对应的 IP 地址 $ ifconfig | grep inet4、修改IP修改网络配置文件文件地址/etc/sysconfig/network-scripts/ifcfg-eth0 ------------------------------------------------ 主要修改以下配置 TYPEEthernet //网络类型 BOOTPROTOstatic //静态IP DEVICEens00 //网卡名 IPADDR192.168.1.100 //设置的IP NETMASK255.255.255.0 //子网掩码 GATEWAY192.168.1.1 //网关 DNS1192.168.1.1 //DNS DNS28.8.8.8 //备用DNS ONBOOTyes //系统启动时启动此设置 ------------------------------------------------- 修改保存以后使用命令重启网卡service network restart5、配置映射修改文件 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-port3306/tcp --permanent; 在执行 firewall-cmd --reload #刷新 6、关闭端口命令 先执行 firewall-cmd --remove-port3306/tcp --permanent; 在执行 firewall-cmd --reload7、查看进程静态 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、快速清屏ctrll //清屏往上翻可以查看历史操作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 以KMG为单位提高信息的可读性。 -x或--one-file-xystem 以一开始处理时的文件系统为准若遇上其它不同的文件系统目录则略过。 -L符号链接或--dereference符号链接 显示选项中所指定符号链接的源文件大小。 -S或--separate-dirs 显示个别目录的大小时并不含其子目录的大小。 -X文件或--exclude-from文件 在文件指定目录或文件。 --exclude目录或文件 略过指定的目录或文件。 -D或--dereference-args 显示指定符号链接的源文件大小。 -H或--si 与-h参数相同但是KMG是以1000为换算单位。 -l或--count-links 重复计算硬件链接的文件。实例1显示目录或者文件所占空间[rootlocalhost 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 . [rootlocalhost test]#说明只显示当前目录下面的子目录的目录大小和当前目录的总的大小最下面的1288为当前目录的总大小实例2显示指定文件所占空间[rootlocalhost test]# du log2012.log 300 log2012.log [rootlocalhost test]#实例3查看指定目录的所占空间[rootlocalhost 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 [rootlocalhost test]#实例4显示多个文件所占空间[rootlocalhost test]# du log30.tar.gz log31.tar.gz 4 log30.tar.gz 4 log31.tar.gz [rootlocalhost test]#实例5只显示总和的大小[rootlocalhost test]# du -s 1288 . [rootlocalhost test]# du -s scf 32 scf [rootlocalhost test]# cd .. [rootlocalhost soft]# du -s test 1288 test [rootlocalhost soft]# ————————————————实例6方便阅读的格式显示[rootlocalhost 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 [rootlocalhost soft]#实例7文件和目录都显示[rootlocalhost 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 [rootlocalhost soft]#实例8显示几个文件或目录各自占用磁盘空间的大小还统计它们的总和[rootlocalhost test]# du -c log30.tar.gz log31.tar.gz 4 log30.tar.gz 4 log31.tar.gz 8 总计 [rootlocalhost test]#实例9按照空间大小排序[rootlocalhost 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 [rootlocalhost test]#实例10输出当前目录下各个子目录所使用的空间[rootlocalhost test]# du -h --max-depth1 608K ./test6 308K ./test4 32K ./scf 8.0K ./test3 1.3M . [rootlocalhost 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.txt2多文件同时检索# 匹配两个文件包含200的行 grep 200 /opt/test/user.txt /opt/test/login.txt # 多文件反向过滤 grep -v fail /opt/test/*.txt3跨目录 / 递归全局查找# 进入别的目录依然指定绝对路径执行 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/