软件测试相关linux基础命令笔记
- 操作系统
- 常见Linux:
- Redhat系列:RHSL、Centos、Fedora
- Debian系列:Debian、Ubuntu
- 以上操作系统都是在原生Linux系统上,增加了一些软件或功能。
- 常见Linux:
- linux的文件及路径特点
- Linux没有盘符的概念,只有文件夹。
- 根目录:/,一般根目录下只存放目录,一个系统有且仅有一个根目录,所有内容都要在这里开始。注意:在跟目录下打开的内容,一概不能增删改。
- /root:系统管理员root的目录
- /usr:系统应用程序存放的目录,一般软件都安装在这个目录
- /etc:系统配置文件存放目录,不建议在此目录存放可执行文件
- /home:普通用户的家目录,不同用户的内容存放在以自己用户名命名的文件夹里,有几个用户就有几个文件夹。
- /var:存放系统执行过程中经常变化的文件,比如日志。
- 远程连接
- 远程连接需要的条件:
- 服务器的IP地址
- 服务器的账号密码
- 网络畅通
- 远程连接工具
- 常见远程连接工具:
- Finalshell:推荐使用,链接简单、功能强大、可以查看服务器资源使用情况。
- Xshell:个人使用免费,商用收费。(使用方便)
- putty:界面不太友好,免费,开源。
- secureCRT:收费
- MobaXterm:免费
- 远程连接的具体步骤:
- 获取服务器IP地址、用户名、密码:
- 远程连接需要的条件:
①找运维人员询问
②进入服务器后,输入ifconfig 命令
注意:在任何一个网络环境内,XXX.XXX.XXX.1通常都是网关地址(网络进入该局域网的第一个地址)。XXX.XXX.XXX.255通常是转播地址(网络从该局域网进入其他局域网的出口)。
127.0.0.1通常在网络中指代本机。
以下图为例,我们是在自己的电脑上使用的虚拟机软件虚拟出的一个计算机,安装了Centos7,用作学习。在电脑上启动虚拟机,电脑与虚拟机本身形成了一个局域网,他们之间的通信不需要外网就可以进行。
在使用ifconfig命令时,会列出该虚拟机全部的网络适配器内容。
其中127.0.0.1指的是虚拟机本机。在我们自己的电脑上,也有一个127.0.0.1的地址,指代的是我们的电脑本机,所以如果使用这个地址连接虚拟机,地址是冲突的,根本识别不了。
而192.168.122.1是我们的电脑在创建虚拟机时根据自己的IP地址,传给虚拟机的地址,可以看做虚拟机网络的入口地址,当我们自己的电脑要想虚拟机传递数据时,要在通过这个IP。指代的并不是虚拟机本身,所以不可以使用。
192.168.122.255是虚拟机网络出口,如果虚拟机还要作为一个网络设备与其他网络通信,则需要使用192.168.122.255这个地址来向下发送数据。所以不可以使用。
验证IP地址是否能够正常通信:在自己的电脑上 ping 查到的IP地址,如果是通的,可以使用。
使用工具进行连接
- 帮助信息
- 快捷键
- Ctrl+Shift+=放大窗口字体
- Ctrl+-缩小窗口字体
- 自动补全:输入命令/文件/目录的一部分,按Tab键,可以自动补全,如果按一下出现相同前缀的结果,再输入一个可以区分的字母,再按一次Tab。
- 上下键,可以翻找之前写过的命令
- 强制结束命令的执行:Ctrl+C
- 查看帮助信息
- 命令+--help
- man+命令:man为manual(手册)缩写
- 快捷键
-------------------------文件操作---------------------------
查看当前路径位置:pwd
查看当前目录下有哪些文件:在目录下 ls 或ls+路径
查看所有文件,包括隐藏文件:ls -a
查看文件,显示文件详细信息:ls -l
切换到上级目录下的文件夹dir1:cd ../dir1
切换到上级目录:cd ../
切换到同级目录下的文件夹dir2:cd ./dir12 或 cd dir2
切换到绝对路径:cd /etc/etc/python
切换到当前用户主目录:cd ~ 或 cd
切换到上次所在的目录:cd -
创建文件夹:mkdir dira
创建多个文件夹:mkdir dirb dirc
创建文件:touch aaa.txt
创建多个文件:touch aaa.txt bbb.txt
递归创建一个文件目录:mkdir -p dir1/dir2/aaa.txt
复制文件_直接覆盖:cp -f aaa.txt dir1(dir1可以是文件/目录,-f可以不写,默认就是覆盖)
复制文件_提示是否覆盖:cp -i aaa.txt dir1
复制文件夹:cp -r dira dir1b
复制文件显示拷贝进度:cp -v aaa.txt dir1
移动文件:mv aaa.txt dir1(当dir1不是文件夹名称或者是一个不存在的文件,移动的同时会修改文件名为dir1)
重命名文件:mv aaa.txt bbb.jpg(只要后边的参数不是真实存在的目录即可)
修改文件的创建时间:touch aaa.txt 文件不存在就创建文件,存在就修改文件的修改时间,不会改变文件中已有的内容
删除文件:rm aaa.txt
删除多个文件:rm aaa.txt bbb.txt
删除文件夹:rm -r dir1(删除目录下所有文件和文件夹)
删除时询问:rm -i aaa.txt
强制删除文件夹:rm -f aaa.txt
批量删除:rm aaa*
查看文件内容(少量内容,能一屏显示):cat filename,cat filename1 filename2同时显示两个文件的内容
查看文件内容(大量内容,显示进度):more filemane,q退出,-N显示行号,空格向下翻页,B向上翻页
分屏形式查看文件内容:less filemane 按q退出 -N显示行号,空格向下翻页,B向上翻页
查看文件头:head -number filename ,查看文件前几行的内容,默认10行
查看文件尾:tail -number filename,查看文件最后几行的内容,默认10行
实时查看文件内容:tail -f filename
查看指定的行数:haed -15 filename | tail -5 查看10-15行
----------------------------------------------------------------------
重定向,覆盖写入:命令>文件名
重定向,追加写入,命令>>文件名
搜索文本文件内容:grep keyword filename ,-v显示不匹配的所有行,-n显示匹配行及行号,-i忽略大小写。
管道符(将左方命令的结果输出到右方命令的参数):cd | grep dir file1 ,在file中找到dir路径,作为cd的参数切换
-------------------------进程----------------
查看进程信息:ps -aux
终止进程:kill -9 进程号
任务管理器:top
查看端口号:使用root权限:netstat (用于查看网络状态,但是通常用来查看软件打开的端口信息)
netstat -anptu 查看所有进程和端口号使用情况
netstat -anptu|grep mysql 结合grep查找执行程序打开的端口
使用root权限:lsof(原用于列出当前系统打开文件的工具,可以用于查看端口详细信息)
-i +条件,列出符合条件的进程,没有条件则默认所有进程,例如:lsof -i:3306列出端口3306的进程
-----------------------远程-----------------------
远程上传文件:rz
远程下载文件:sz filename
-----------------------权限-----------------------
切换用户:su 用户名
查看当前用户名:whoami
查看登录系统的人数:who -q
登出:exit
授权:chmod 755(r为4,w为2,x为1。分为user,group,other三段)
chmod u=rwx g=rx o=r(751)
chmod a=rwx(全部用户赋予全部权限,777)
-------------------------其他-----------------------------------
查找程序安装位置:which 程序名
查找文件:find filename,支持通配符*,没有访问权限则找不到
查找IP地址:ifconfig /ip addr
清屏:clear (在系统终端中clear只是将当前内容顶出屏幕,用滚动条还能揽回来)
查看centos7版本:cat /etc/entos_release
查看内核版本:uname -r
重启:reboot
关机:shutdown,-r now重启并通知其他用户,-h new 立刻关机,-h 12:25 在12:25关机,-h 10在10分钟后关机
poweroff也是关机
硬链接:ln file1 file2,两个文件互为硬链接,内容同时改变,但是删除一方另一方不受影响
软连接:ln -s file1 ,删除原文件则链接问价失效
打包并压缩:tar -zxcf XXX.tar.gz dir,(将一系列的东西放在一个包里)
解压并解包:tar -zxvf XXX.tar.gz -C dir(指定路径解压)
压缩:zip -r dir.zip dir/
解压:unzip -d dir/ dir.zip