一、终端命令全格式
# 标准命令格式([]表示可选内容)
命令 [选项] [参数]
command [-options] [parameter]
-
📌命令主体(command)
-
📌 选项(option):通常以
-
或--
开头,如ls -a
-
📌 参数(parameter):操作对象(文件/目录/进程等)
二、查阅命令帮助信息 (知道)
# 查看命令说明书
command --help # 显示command命令的帮助信息
man command # 查询 command命令的完整使用手册# 清屏快捷键
Ctrl + L # 比clear更快
例:
man ls
ls --help
三、 文件与目录管理常见命令
pwd (prit work directory) 查有当前所在路径
ls (list) 查看当前目录下的内容
命令示例 | 功能说明 |
---|---|
ls /home | 显示基础列表 |
ls -l /home | 长格式(以列表形式)显示(包含权限/时间等信息) |
ls -a /home | 显示隐藏文件(以. 开头) |
ls -al /home | 使用ls命令以列表形式显示/home目录下的所有文件与目录(包含隐藏文件) |
touch[文件名] 若文件不存在,新建文件(更新文件时间戳)
mkdir[目录名] (make directory) 新建目录
cd [目录名] (change director) 切换文件夹 ./当前目录下
rm[文件名] (remove) 删除指定文件
cp[文件名] (copy) 拷贝文件
mv[文件名] 移动/ 重命名文件(若目标文件不存在或文件名不存在)
clear 清屏
如果命单用不能实现目的,应该想到需要使用命令选项扩充功能
四、文本处理与重定向
1.输出重定向命令(>、>>、<)
符号 | 功能 | 示例 |
---|---|---|
> | 覆盖写入 | ifconfig > network_info.txt(将 ifconfig 输出保存到文件) |
>> | 追加写入 | psaux >> process_log.txt(追加新进程列表到文件) |
用法:命令 > 文件 或 命令 >> 文件
例:将/usr/bin目录下的所有文件的详细信息追加到demo文件中
ls -al /usr/bin/ >> demo
2.cat
作用:会一次显示所有内容,适合查看内容较少的文本文件
语法:cat [选项] 文件
-b 对非空输出行编号
-n 对输出的所有行编号
cat demo
3.less
作用:用于分屏显示文件内容(内容必须超过终端的一页),每次只显示一页内容,适合于查看内容较多的文本文件
语法:less [参数] 文件
less -N 文件 对输出的所有行编号
less的操作键 | 作用 |
空格键 | 显示手册页的下一屏 |
Enter/上下光标键 | 一次滚动手册页的一行 |
more于less类似
4.grep命令
grep命令用于查找字符串
语法:grep[选项] 字符串
例:使用grep命令在当前目录及其子目录中,查找包含hello字符串的文件
# grep "hello*" ./ -rn
5.管道符
管道符 | 用于将前一个命令的输出作为后一个命令的输入,用法:命令1 | 命令2
例:统计当前目录下所有 .log 文件的数量
# ls *.log | wc -l
分析:ls *.log 列出所有 .log 文件,wc -l 统计行数,管道符将两者结合实现快速统计。
6.head命令(一般用于想查看一个很大的文件前几行内容时使用)
head 文件名 | 显示文件前10(默认)行的内容 |
head -15 文件名 | 显示文件前15行内容 |
head -15 文件名 | tail -5 | 显示文件第10-15行(中间内容) |
7.tail命令
tail 文件名 | 显示文件后10(默认)行的内容 |
tail -15 文件名 | 显示文件后15行内容 |
tail -f 文件名 | 实时监控文件内容(用于查看线上服务的运行日志,实时显示写入日志的信息)(只要目标文件的内容是一直写入的状态,使用tail -f 文件名,即可实现实时监控文件内容变化的操作 ) |
说明:获取动态信息中的某几行内容,可以使用tail -数字f 文件名
注意:head 和 tail命令多用于查看日志文件内容时使用
说明:日志文件(一种负责记录系统或程序运行过程信息的文件)
作用:测试人员可以通过查看日志文件信息,帮助判断bug出现的原因
7.reboot命令
作用:重启操作系统
8.shutdown命令/poweroff命令
作用:关闭操作系统
9.查看系统进程
序号 | 命令 | 作用 |
1 | ps -aus | process status 查看当前系统中正在执行程序的详细状况 |
2 | kill [-9] 进程代号(进程ID) | 终止指定代号的进程,-9表示强行终止 |
3 | top | 动态显示运行中的进程并且排序 |
Linux系统下运行程序语法为:./程序名
说明:如果提示文件权限不足,可使用chmod 755 程序名修改文件权限(文章第14.1点)
注意:如果想要通过进程结束或关闭对应软件和程序,则需要软件或程序对应的PID数值
PID:进程ID,一般情况下,软件程序的PID值都是唯一的
Linux系统中结束或关闭程序的基本步骤:
1.ps -aus | grep 程序名 #获取目标程序的进程ID(PID)
2.kill -9 进程ID #强制结束或关闭对应软件程序
选项 | 含义 |
a | 显示终端上的所有进程,包括其他用户的进程 |
u | 显示进程的详细状态 |
x | 显示没有控制终端的进程 |
端口号:想要连接至服务器,需要使用IP地址,想要获取在服务器上的运行程序,需要通过端口号
注意:同一台服务器不能有多个程序同时使用同一个端口号,因此在运行程序时,如果提示“端口号被占用”,那就需要先找到占用端口号的程序并结束掉,然后才能运行目标程序
10.查看系统监听的端口
10.1 netstat命令
- netstat命令用于显示各种网络相关信息
- 常用于查看软件打开的端口信息
注意:一般需要root用户权限,才能看到更详细的端口信息
序号 | 命令 | 作用 | 作用 |
1 | netstat | 查看网络状态 | |
2 | netstat -anptu | 查看所有的进程和端口使用情况 | 一般用来查看端口被哪些程序使用,但是我们不单独使用 |
3 | netstat -anptu | grep mysql | 结合grep查找指定程序打开的端口 | 比如这里查找的是mysql正在使用的端口号 |
选项说明:
选项 | 含义 |
-a | 显示所有已打开的端口 |
-n | 不用别名显示,只用数字显示 |
-p | 显示进程号(pid)和进程名 |
-t | 显示所有tcp协议端口 |
-u | 显示所有udp协议端口 |
10.2 lsof命令
- lsof(list open files)是一个列出当前系统打开文件的工具
- 可以用于查看系统中正在使用端口的详细信息
注意:一般需要root用户权限,才能看到更详细的端口信息
序号 | 命令 | 作用 | 说明 |
1 | lsof -i | 列出所有符合条件的进程 | 如果不给出条件,则默认显示所有进程打开的所有文件 |
2 | lsof -i:3306 | 列出使用端口3306的进程信息 | 这里是查看3306这个端口被哪个应用程序占用了 |
提示:Linux系统中安装软件时,会出现因为端口被占用而无法安装的情况,这个时候就需要我们用lsof -i命令查看安装软件要使用的端口是否被占用
11.which命令
在Linux系统中,无论是自己安装的程序还是系统自带命令,本质上都是一个可执行程序,想要获取程序安装位置,可以通过which 程序名 来实现
12.su命令
su命令用于切换用户,用法:su[选项][用户名]
例:使用su命令切换到root用户
#su - root
分析:切换到root用户,“-”参数表示将root的环境变量同时带入;将普通用户身份转变为超级用户,且要求输入密码。
13.退出登录账户:exit
文件编辑
- 若为图形界面,退出当前终端
- 若为ssh远程登录,退出登陆账户
- 若为切换后的登陆用户,退出则返回上一个登陆账号
14.修改文件权限
14.1 chmod 命令-数字法
14.2 chmod 命令-字母法
注意:尽量不要随意赋值文件最高权限:数字法(777)/字母法(rwxrwxrwx)
15.链接文件:软链接和硬链接
16.find命令 :查找文件
17.文件编辑
nano
:是一个简单易用的文本编辑器,适合初学者。打开文件后可直接编辑,按Ctrl + X
保存并退出。vim
:功能强大但相对复杂的文本编辑器。有命令模式、插入模式和底行模式。输入vim filename.txt
进入命令模式,按i
进入插入模式进行编辑,按Esc
回到命令模式,输入:wq
保存并退出,输入:q!
不保存退出。
nano filename.txt
vim filename.txt
18.打包和压缩