软件测试 – Linux的常用命令

目录

      • 一.Linux终端命令
        • 1.为什么要学习终端命令
        • 2.终端命令的格式
        • 3.查阅命令及常用选项的帮助信息
        • 4.Linux常用终端命令简介
        • 5.Linux常用终端命令扩展
          • ①.ls命令
          • ②.cd命令
          • ③.touch命令
          • ④.mkdir命令
          • ⑤.rm命令
        • 6.Linux拷贝和移动命令扩展
          • ①.tree命令
          • ②.cp命令
          • ③.mv命令
        • 7.Linux文件内容命令扩展
          • ①.cat命令
          • ②.more命令
          • ③.grep命令
        • 8.Linux其他命令扩展
          • ①.echo文字内容
          • ②.重定向>和>>
          • ③.管道|
        • 9.Linux远程管理常用命令扩展
          • ①.shutdown命令
          • ②.ifconfig命令
            • 卡和IP地址
          • ③.ping命令
          • ④.ssh命令
            • 什么是SSH
            • 为什么要使用SSH
            • 域名和端口
            • SSH客户端的使用
            • macOS和linux系统使用ssh
            • Windows系统之PuTTY使用ssh
            • Windows系统之Xshell使用ssh
            • SSH高级
          • ⑤.scp命令
            • macOS系统复制:scp命令
            • windows系统复制:FTP文件传输
        • 10.Linux用户权限命令扩展
          • ①.修改权限命令chmod
          • ②.sudo命令
            • 超级用户root
        • 11.Linux组管理权限命令扩展
        • 12.Linux用户管理权限命令扩展
          • ①.创建用户useradd/passwd
          • ②.删除用户userdel
          • ③.查看用户id/who/whoami
          • ④.usermod命令
          • ⑤.查看命令所在位置which
            • bin和sbin
          • ⑥.切换用户命令su
          • ⑦.修改文件权限chown/chgrp/chmod
        • 13.系统信息相关命令扩展
          • ①.时间和日期命令date/cal
          • ②.查看磁盘信息df/du
          • ③.进程信息命令ps/top/kill
        • 14.Linux其他命令扩展
          • ①.查找文件命令find
          • ②.文件软硬链接示意图
          • ②.建立文件软链接ln
          • ③.建立文件硬链接ln
        • 15.Linux打包压缩命令扩展
          • ①.打包命令/解包命令tar
          • ②.压缩命令/解压缩命令gzip
          • ③.压缩命令/解压缩命令bzip2(two)
        • 16.Linux安装/卸载/更新软件命令扩展
          • ①.安装/卸载/更新软件命令apt
          • ②.配置软件源

一.Linux终端命令

1.为什么要学习终端命令

Linux起初没图形化界面,所有操作(磁盘操作,文件存取,目录操作,进程管理,文件管理)都要靠命令。
服务器维护工作需要在安装ssh客户端来远程维护,ssh客户端并没有图形界面,都需要命令完成。

2.终端命令的格式

command [-options] [parameter]
命令名 [-命令选项:对命令进行额外控制] [命令参数:命令的操作对象,可以是文件,目录,用户、进程等],中括 代表可选

3.查阅命令及常用选项的帮助信息

命令名 –help:显示帮助信息
man 命令名:显示使用手册(manual)

manual的操作键 功能
空格 显示手册下一页
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串

4.Linux常用终端命令简介

Linux常用终端命令

命令 作用
ls list,查看当前文件夹下的内容
pwd print work directory,查看当前所在的文件夹
cd [目录名] change directory,切换文件夹
touch [文件名] 如果文件不存在,创建文件
mkdir [目录名] make directory,创建目录
rm [文件名] remove,删除指定的文件名
rm -r [目录名] 删除指定的目录
clear 清屏
tree[目录名] 以树状图列出文件目录结构
cp 源文件 目标文件 copy复制文件/目录
mv 源文件 目标文件 move移动或重命名文件/目录
cat 文件名 concatenate查看文件内容、创建文件、文件合并、追加文件内容
more 文件名 分屏显示文件内容
grep 要搜索内容
shutdown 选项 时间 关机/重启
ifconfig 查看配置 卡信息
ping ip地址 检测目标IP地址的连接是否正常
ssh (小写) 端口 user@ip/域名/别名 远程登录
scp 端口 源文件 user@ip/域名/别名远程目录/目标文件名 远程复制文件
chmod +/-rwx 文件/目录 对文件/目录 增加/删除 可读可写可执行的权限
sudo 以root用户执行命令
groupadd 组名 添加组
groupdel 组名 删除组
cat/etc/group 确认组信息
chgrp 组名 文件/目录名 修改文件/目录的所属组
sudo groupadd 组名 添加组
sudo groupdel 组名 删除组
cat 确认组信息
sudo chgrp -R 组名 被修改的文件/目录名 修改文件/目录的所属组,-R是递归修改子目录和文件的权限
sudo useradd -m -g 组名 新建用户名 添加新用户
sudo passwd 用户名 设置用户密码,普通用户可以直接修改自己账户密码
sudo userdel -r 用户名 删除用户
id [用户名] 查看用户UID(用户代 )和GID(组代 )
who 查看当前所有登录的用户列表(包括当前系统登录和远程登录)
whoami 查看当前登录用户的账户名
sudo usermod -G 组 用户名 修改用户附加组(etc/group中的)
which 所要查的命令 查看命令所在位置
su – 用户名 切换用户,并且切换目录(切换到当前用户的家目录)
sudo chown 用户名 文件名/目录名 修改拥有者

5.Linux常用终端命令扩展

①.ls命令
ls常用选项 含义
-a 显示指定目录所有目录与文件,包括隐藏文件
-l 以列表的形式显示文件的详细信息
-h 配合-l人性化显示文件大小(以K为单位)ls -lh ,ls -lha

drwxr-xr-x 2 wenmiao wenmiao 4.0K 10月 13 2020 公共的

-ls详细信息 含义
d 权限,第一个字母若是d代表目录,如果是-代表文件
rwx r-x r-x 分别代表、、,r代表可读,w代表可写,x代表可执行,-代表没有该权限
2 硬链接数(有多少种方式能访问到当前的目录/文件)
wenmiao 文件/目录拥有者的名称
wenmiao 文件/目录组用户的名称
4096K 占用磁盘空间
10月13 2020 创建时间
公共的 目录/文件名称

ls通配符 含义
* 代表任意个字符(包括0个)(例1*.txt可以匹配1.txt,12.txt,123.txt)
/td> 代表1个字符(例1txt只能匹配11.txt,12.txt,13.txt)
[abc] 可以匹配字符组中的任意一个(例如[1245]23.txt可匹配123.txt,223.txt,423.txt,523.txt)
[a-f] 匹配从a到f范围内的任意一个字符(例如[1-4]23.txt可以匹配123.txt,223.txt,323.txt,423.txt)
②.cd命令
cd命令 含义
cd 切换到当前用户目录(/home/用户目录)
cd 切换到当前用户目录(/home/用户目录)(代表的是当前用户家目录,admin用户代表/home/admin,管理员用户代表/root)
cd 保持当前目录不变
cd 切换到上级目录
cd 进入到上一次所在目录(特殊用法,两个路径来回调)
③.touch命令

用来修改文件时间
如果文件不存在,会创建一个空白文件并修改文件时间
如果文件已经存在,修改文件的末次修改日期

④.mkdir命令

创建一个新目录

mkdir选项 含义
-p 递归创建目录 mkdir -p a/b/c
⑤.rm命令

rm删除之后不能恢复,不能像windows图形化界面一样把文件放到回收站
所以千万不要在根目录里面删除系统文件和目录,都在家目录里面玩耍
删除目录要加-r,删除文件可以不加

rm选项 含义
-f 强制删除,忽略不存在的文件的提示信息,有则删除
-r 递归删除目录下的所有内容,删除文件夹时必须加此参数
rm通配符 含义
rm *2.txt 删除以2.txt结尾的所有文件
rm -r * 删除当前目录所有的文件和目录

6.Linux拷贝和移动命令扩展

①.tree命令

以树状图列出文件目录结构
下载tree命令:sudo apt install tree # version 1.8.0-1

tree命令 含义
tree 从当前工作目录[.]开始显示树形图
tree[目录名] 从指定工作目录开始显示树形图
tree ~ ~代表家目录,代表从家目录开始显示树形图
tree选项 含义
-d 只显示目录,不显示文件
②.cp命令

将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令

rm删除目录需要加一个-r,cp复制目录需要加一个-r

cp命令 含义
cp 源文件 目标目录 复制文件或目录到目标文件
cp 124.txt 复制124.txt到/home/wen/123目录下
cp 1.txt 复制1.txt到/home/we/1.txt文件中,不存在1.txt文件则复制,存在则无法创建
cp 2.txt 复制2.txt到/home/we/1.txt文件中,修改文件名
cp -r 123 复制123目录下的所有子目录和文件到/home/wen/a目录下
cp选项 含义
-i 覆盖文件前提示,输入n表示不覆盖,输入y表示覆盖
-r 源文件是目录,将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-f 覆盖已存在的目标文件而不给出提示
-v 显示拷贝进度
③.mv命令
mv命令选项 含义
mv 源文件 目标文件 移动文件/目录,也可给文件/目录重命名
mv ./a/b/a.txt 将a.txt文件从./a/b目录下复制到.(d当前目录下)
mv ./a/b/c ./a/b/d 把整个c目录移动到d目录下(区别cp命令,目录也无须加-r)
mv a.txt b.txt 如果是同一个目录下,就不是复制,而是重命名,将a.txt重命名为b.txt
mv -i b.txt readme.txt 如果覆盖会提示,n表示不覆盖,y表示覆盖
-i 覆盖文件前提示

7.Linux文件内容命令扩展

①.cat命令
cat命令 含义
cat a.txt 一次全部显示文本内容,适合查看内容较少时使用
cat选项 含义
-b 对非空输出行编
-n 对输出的所有行编 (忽略空行)
②.more命令
more命令 含义
more a.txt 分屏显示文本内容,适合查看内容较多时使用
more操作键(与mannal命令类似) 含义
空格 显示手册下一页
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串
③.grep命令
grep命令 含义
grep sand readme.txt 查找readme.txt文件中有sand字符串的行
grep -n sand readme.txt 查找sand字符串的行并显示行
grep -v sand readme.txt 查找sand字符串的行
grep -vn sand readme.txt 查找sand字符串的行并显示行
grep -ni sand readme.txt 查找sand字符串(忽略大小写)的行并显示行
grep -n “Hello SAND” readme.txt 如果要查找的字符串中间有空格,需要用引
grep ^and readme.txt 查找以and开头的所有行
grep and$ readme.txt 查找以and结尾的所有行
grep选项 含义
-n 显示匹配行及行
-v 显示没有匹配文本的所有行(求反)
-i 忽略大小写

grep允许对文本进行模式查找(正则表达式)

grep参数 含义
^a 行首,查找以a开头的行
ke$ 行尾,查找以ke结尾的行

8.Linux其他命令扩展

①.echo文字内容
echo命令 含义
echo hello python 将hello python输出到终端
②.重定向>和>>

linux允许将命令执行结果重定向到一个文件(即将本应该显示在终端上的内容输出/追加到指定文件中)

重定向符 含义

|表示输出,会覆盖文件原有内容

|表示追加,会将内容追加到已有文件末尾

重定向命令 含义
echo hello p > redirect 若redirect文件不存在,则创建一个,并将hello p写入redirect文件中;若存在则直接覆盖
ls -lh >redirect 将ls -lh查出的内容写入或覆盖到redirect文件中
echo hello p2 >> redirect 若redirect不存在,则创建一个并写入,若存在则将hello p2直接追加到redirect文件中
tree >> redirect 将tree查出的树形图追加到redirect文件中
③.管道|

linux允许将一个命令的输出通过管道做为另一个命令的输入
左端写,右端读

常用管道命令 含义
more 分屏显示内容
grep 在命令执行结果基础上查询指定的文本

ls -lha ~ | more:查出家目录的包括隐藏文件的所有文件目录信息,通过管道传给more命令,让其分屏显示
ls -lha ~ | grep -n test:同上,通过管道传给grep命令,让其查出有test字符的行及行 (过滤执行结果)

9.Linux远程管理常用命令扩展

①.shutdown命令
shutdown命令 含义
shutdown 不指定选项和参数,默认表示1分钟后关机
shutdown -c 如果不想1分钟后关机,在1分钟之内输入这个命令可以取消关机
shutdown -r now 时间为now,加了-r选项,表示现在关机
shutdown 20:25 系统在今天20:25关机
shutdown +10 系统在10分钟后关机

远程维护服务器时最好不要关闭系统,而应该重新启动系统

shutdown选项 含义
-r 重新启动(不加是直接关机,加了是重新启动)
②.ifconfig命令
卡和IP地址

卡是一个专门负责两台电脑 络通讯的硬件设备(有限 卡,无线 卡WIFI)
IP地址是设置在 卡上的地址信息,地址信息唯一标识一个 卡
电脑比作电话, 卡相当于SIM卡,IP地址相当于电话 码
IP地址是唯一的,否则会出现冲突,无法正常通讯,不同的系统(Windows,linux,macOS在同一台电脑上虚拟机上的IP地址也不同,但相似)

下载ifconfig命令:sudo apt install net-tools

ipconfig命令 含义
ipconfig 查看或配置 卡信息
ipconfig ` ` grep inet

④.ssh命令
什么是SSH

通过SSH客户端可以连接到运行了SSH服务器的远程机器上
在自己的服务器上安装一个SSH服务器软件,在自己电脑上安装一个SSH客户端软件
在linux和macOS系统SSH客户端都是自带的,在windows系统需要自己安装SSH客户端

为什么要使用SSH

SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序
SSH是目前较可靠,专门为远程登录会话和其他 络服务提供安全性协议

ssh协议的作用 含义
对传输的数据进行 ,防止DNS欺骗和IP欺骗
对数据进行
域名和端口

域名:一串用点分隔的名字组成,例如www.itcast.cn
域名是IP地址的别名,方便用户记忆(可以通过域名或IP地址在 络上找到一台计算机)

:通过IP地址找到 络上的
:通过端口 可以找到计算机上运行的
SSH服务器默认的端口 是22,如果默认端口 ,在连接的时候,可以省略

ping www.baidu.com(域名)可以得到百度的IP地址(39.156.66.14)
输入39.156.66.14可以打开百度首页,输入39.156.66.14:80也可以打开百度首页
通过来访问一台电脑上的某一个

服务 端口
SSH服务器 22
Web服务器 80
HTTPS 443
FTP服务器 21
SSH客户端的使用

ssh [-p port] user@remote
使用exit退出当前用户的登录
ssh终端命令只能在linux或unix系统下使用,如果在windows系统中,需要安装PuTTY或Xshell客户端软件

ssh参数 含义
user 远程机器上的用户名,若不指定默认为当前用户
remote 远程机器的地址,可以是IP/域名/别名
port SSH Server监听的端口,如果不指定,默认值22
macOS和linux系统使用ssh
ssh命令 含义
ssh 22 w@192.168.106.128 远程登录IP地址为192.168.106.128的电脑,用户名为w,端口 为22的服务

登录后可以对这台电脑进行操作,比如
建文件:touch 1.txt
强制重启:sudo shutdown -r now

Windows系统之PuTTY使用ssh

下载 址:PuTTY
安装后,需要输入想要访问电脑的IP地址,如果出现 connection refused错误,说明虚拟机没有安装ssh-server
安装ssh-server:sudo apt-get install openssh-server

Windows系统之Xshell使用ssh

下载 址:Xshell
使用方法

SSH高级

有关ssh配置信息都保存在用户家目录下的.ssh目录下(.ssh是一个隐藏目录)
Ubuntu作为客户端,macOS作为服务器,连接macOS

免密码登录视频
完成以下两个操作,设置免密登录后,无论是ssh登录命令或者scp复制命令都不需要输入密码了

免密登录的原理:
①.配置公钥:,生成id_rsa.pub(公钥),id_rsa(私钥)两个文件,即可生成SSH钥匙
②.上传公钥到服务器:,将公钥文件复制到远程服务器,让远程服务器记住公钥,现在公钥在远程服务器,私钥在本地
SSH客户端发送数据使用私钥加密,SSH服务器接收后使用公钥解密
SSH服务器发送数据使用公钥加密,SSH客户端接收后使用私钥解密
③.因为数据都是加密的,就不需要再输入密码登录了

非对称加密:公钥加密的数据,需要用私钥解密;私钥加密的数据,需要用公钥解密

⑤.scp命令

scp终端命令只能在linux或unix系统下使用,macOS也可以(因为macOS是基于unix系统开发的)
如果在windows系统,需要安装PuTTY,使用pscp命令行根据或者安装FIleZilla使用FTP进行文件传输

scp命令 含义
scp port 源文件 user@remote远程目录/目标文件名 远程拷贝文件(secure copy)
scp port 01.py user@remote:Desktop/02.py 把本地当前目录下的01.py复制到远程家目录下的Desktop/02.py中
scp port user@remote:Desktop/01.py 02.py 把远程家目录下的Desktop/01.py复制到本地当前目录下的02.py中
scp demo user@remote:Desktop 把当前目录下的demo复制到远程家目录下的Desktop下
scp user@remote:Desktop demo 把远程家目录下的Desktop复制到当前目录下的demo下
scp选项 含义
-r 若源文件是目录,夹-r选项将递归复制该目录下的所有子目录和文件
-p 若远程SSH服务器的端口 不是22,需要用大写字母-P指定端口

注:后面的路径是相对路径,是相对于用户的家目录作为参照路径
注:与ssh命令区别
ssh使用的是小写p,scp命令使用的是大写的P
ssh是单向的,只能SSH客户端操作SSH服务器
scp是双向的,可以SSH客户端复制到SSH服务器,也可以SSH服务器复制到SSH客户端

macOS系统复制:scp命令
scp命令 含义
scp 22 wen@192.168.106.128:Desk/01.py 远程家目录Desk/01.py复制到本地当前目录下的中
scp 22 01.py wen@192.168.106.128:Desk 本地当前目录下的01.py复制到远程家目录Desk/中
scp demo wen@192.168.106.128:Desk 当前目录下的demo复制到远程家目录下的Desk下
scp wen@192.168.106.128:Desk demo 远程家目录下的Desk复制到当前目录下的demo下
windows系统复制:FTP文件传输

下载路径:FileZilla
FileZilla传输文件时使用的是FTP服务,而不是SSH服务,因此端口 是21

filezilla无法连接到服务器

打开filezilla—左上角文件下的站点管理器—新站点—输入主机,用户和密码,不需要输入端口 –连接即可
可以看到本地站点和远程站点,将需要的文件直接拖到对方的文件所在区即可完成复制

软件测试 - Linux的常用命令

10.Linux用户权限命令扩展

用户管理包括用户管理组管理
本机或远程登录系统都必须有一个账 (用户)
并且不同用户对于不同系统资源(文件/目录)拥有不同的使用权限

组是为了方便用户管理,将具有相同权限的用户放在同一个组中
先设置组,对组设置好权限,再将不同的权限的用户添加到对应的有相应权限的组中

文件/目录的权限 缩写/数字代
可读(read) r/4
可写(write) w/2
可执行(excute) x/1
①.修改权限命令chmod
chmod命令 含义
chmod rwx 文件名/目录名 修改用户/组对文件/目录的权限
chmod rw 01.py 给01.py文件可读可写的权限
chmod rw 01.py 给01.py文件可读可写的权限
chmod +x 01.py 添加可执行权限
chmod -x test(目录) 删除test目录的可执行权限

拥有可执行权限的文件ls命令下会,使用执行01.py文件
以下是01.py文件的内容

在linux中,要想针对目录下执行终端命令,就必须给该目录增加可执行的权限,否则会提示权限不够

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月11日
下一篇 2022年10月11日

相关推荐