1、常用Linux命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定文件 |
07 | clear | clear | 清空记录 |
1.1 自动补全
在敲出文件、目录、命令的前几个字母之后,按下tab键
- 如果输入没有歧义,系统自动补全
- 如果存在歧义,按一次tab键没用,再按一次tab键,系统会提示所有可能文件、目录、命令
- 按上、下光标键可以在曾经使用过的命令中来回切换
2、Linux命令格式
命令 [-参数] [对象]
说明:
- 命令:相应功能的英文单词或单词的缩写
- [-参数]:可以对命令进行控制
- [对象]:命令需要操作的对象,可以是0个、1个或多个
[]代表可选
2.1 查阅命令帮助信息
命令 --help
3、文件和目录常用命令
3.1 查看目录内容ls
参数 | 含义 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
说明:
- 以.开头的文件为隐藏文件
- .代表当前目录
- ..代表上一级目录
3.2 切换目录cd
命令 | 含义 |
cd / | 切换到根目录 |
cd ~ | 切换到当前用户的家目录(cd /home/当前用户名) |
cd .. | 切换到上一级目录 |
cd 目录 | 切换到指定目录 |
绝对路径和相对路径
- 绝对路径在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体目录位置
/home/user01/test
~/test
- 相对路径在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
./test
test
3.3 创建和删除操作
touch
创建文件:
- 如果文件不存在,具体创建一个空白文件
- 如果文件已经存在,可以修改文件的末次修改日期
mkdir
创建一个新的目录
参数 | 含义 |
-p | 可以递归创建目录 |
rm
删除文件或目录,注意:rm删除文件后不可恢复
参数 | 含义 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
通配符的使用
通配符 | 含义 |
* | 代表任意个数的字符 |
? | 代表任意一个字符 |
3.4 拷贝和移动文件
序号 | 命令 | 对应英文 | 作用 |
01 | tree [目录名] | tree | 以树状图列出文件目录结构 |
02 | cp 源文件 目标文件 | copy | 复制文件或者目录 |
03 | mv 源文件 目标文件 | move | 移动文件或目录/文件或者目录重命名 |
tree
tree命令可以以树状图列出文件目录结构
cp命令
cp命令功能是将给出的文件或目录复制到另外一个文件或目录中
mv
mv命令可以用来移动文件或目录,也可以给文件或目录重命名
3.5 编辑文本文件
Vim
- 如果文件不存在,可以创建一个空白文件,并打开
- 如果文件已经存在,直接打开该文件
- 打开后不能编辑文件内容,需要按i进入编辑模式
- 在编辑结束后,按esc退出编辑模式
- 输入:,再输入wq,回车则可以保存并退出
- 如不想保存编辑的内容可以使用:!q强制退出文件
3.6 查看文件内容
cat
- cat命令可以用来查看文件内容
- cat会一次性显示所有内容,适合查看内容较少的文件文件
参数 | 含义 |
-n | 对输出的所有行编号 |
more
- more命令可以用于分屏显示文件内容,每次只显示一页内容
- 适合查看内容较多的文本文件
操作键 | 功能 |
空格键 | 向下翻页 |
b | 向上翻页 |
q | 退出 |
/word | 搜索word字符串 |
tail
- tail命令可以查看文件末尾指定行数的内容
- 是测试人员最常用的文件查看命令
参数 | 含义 |
-f | 动态查看 |
使用ctrl+c终止进程,在此处运用,相当于退出查看
grep
- Linux系统中grep命令是一种强大的文本搜索工具
- grep允许对文本文件进行高级查找
参数 | 含义 |
-n | 显示匹配行及行号 |
-i | 忽略大小写 |
例如:grep -ni "error" a.log
3.7 查找文件find
find命令通常指在指定目录下搜索符合条件的文件
命令 | 作用 |
find [路径] -name "*.py" | 查找指定路径下拓展名是py的文件,包含子目录 |
- 如果省略路径,表示在当前文件夹下查找
- 通配符在使用find命令时同时可用
3.8 打包和压缩
打包压缩是日常工作中悲愤文件的一种方式
在不同操作系统中,常用的打包压缩方式是不同的
- windows常用rar和zip
- Mac常用zip
- Linux常用tar.gz
3.8.1 打包/解包
-
tar命令可以打包也可以解包
- tar命令格式如下:
# 打包文件
tar -cvf 打包文件.txt 被打包的文件
# 解包文件
tar -xvf 打包文件.tar
# 解包到指定路径
tar -xvf 打包文件.tar -C 目标路径
-C,放到指定目录(目录必须存在)
tar参数说明
参数 | 含义 |
c | 创建打包文件 |
x | 解开打包文件 |
v | 列出打包解包的详细过程,显示进度 |
f | 指定打包文件名称,f后面一定是.tar文件名,所以必须放参数最后 |
注意:f选项必须放在最后,其他参数顺序可以随意
4、用户权限相关命令
4.1 用户和权限的基本概念
用户是Linux系统工作中的重要一环,用户管理包括用户与组管理
对于Linux系统,不论是上机操作或是远程连接,都必须拥有一个账号
在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限
权限 | 英文 | 缩写 | 数字代号 |
读 | read | r | 4 |
写 | write | w | 2 |
执行 | excute | x | 1 |
用户组:为了方便用户管理,提出了组的概念,如下图所示
在实际应用中,可以预先针对组设置好权限,然后将不同用户添加到相应组中,从而不用一次为一个用户设置权限
ls-l拓展
ls -l可以查看文件夹下文件的详细信息,从左到右依次是:
权限,第一个字符是d表示目录
- 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件
- 拥有者,家目录下文件/目录的拥有者通常都是当前用户
- 组,当前用户所属用户组
- 大小,单位是字节
- 时间,最后一次修改时间
- 名称
权限类型 | 目录 | 拥有者权限 | 组权限 | 其他用户权限 | ||||||
文件权限 | - | r | w | - | r | w | - | r | - | - |
目录权限 | d | r | w | x | r | w | x | r | - | x |
4.2 超级用户
- Linux系统中root账号通常对操作系统的所有资源具有访问的权限
- 但不推荐直接使用root账号登陆系统
- su是switch user的缩写,表示切换用户
- sudo命令用来以超级管理员权限执行
- 用户使用sudo时,必须先输入密码,之后有5分钟有效期,超过期限必须重新输入密码
4.3 chmod使用
chmod可以修改用户/组对文件/目录的权限
命令格式如下:
chmod +或-rwx 文件名或目录名
chmod在设置权限时,可以简单地使用三个数字分别对应拥有者/组和其他用户的权限
常见数字组合有(u代表用户/g表示组/o表示其他):
777=====> u=rwx,g=rwx,o=rwx755=====> u=rwx,g=rx,o=rx
644=====> u=rw,g=r,o=r
拥有者 | 组 | 其他 | ||||||
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
5、系统信息相关命令
5.1 系统时间
命令 | 作用 |
---|---|
date | 查看系统时间 |
5.2 磁盘信息
命令 | 作用 |
---|---|
df -h | disk free显示磁盘剩余空间 |
du -h | disk usage显示目录下的文件大小 |
参数说明
参数 | 含义 |
-h | 以人性化方式显示文件大小 |
5.3 进程信息
进程,就是当前正在执行的程序
命令 | 作用 |
---|---|
ps aux | process status 查看进程详细状况 |
top | 动态显示运行中的进程并且排序 |
kill [-9] 进程代号 | 终止指定代号的进程,-9表示强行终止 |
ps默认只会显示当前用户通过终端启动的应用程序
ps指令示例图
top指令示例图
top指令各参数详解
- PID 进程id
- USER 进程所有者的用户名
- PR 优先级
- NI nice值。负值表示高优先级,正值表示低优先级
- VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
- RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
- SHR 共享内存大小,单位kb
- S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
- %CPU 上次更新到现在的CPU时间占用百分比
- %MEM 进程使用的物理内存百分比
- TIME+ 进程使用的CPU时间总计,单位1/100秒
- COMMAND 命令名/命令行
注意:使用kill指令时,最好只终止当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃
5.4 端口信息
端口就是计算机与外界通信交流的出口
netstat命令用于显示Linux的端口信息
netstat指令常用参数
列名 | 含义 |
---|---|
-a | (all)显示所有选项,默认不显示LISTEN相关 |
-t | (tcp)仅显示tcp相关选项 |
-u | (udp)仅显示udp相关选项 |
-n | 以数字形式显示地址和端口号 |
-l | 仅列出有在listen(监听)的服务状态 |
-p | 仅列出有相关链接的程序名 |
-o | 显示拥有的与每个连接关联的进程ID |
显示网络详情
netstat -ano
显示tcp,udp相关的端口和进程信息
netstat -tunlp | grep 端口号
# -tnul 显示TCP和UDP传输协议的连线情况
# -p显示正在使用Socket程序识别码和程序名称
6、其他命令
6.1 ifconfig
查看当前网卡配置信息
提示:一台计算机中可能会有一个物理网卡和多个虚拟网卡,物理网卡的名字是eth0
网卡和IP地址
- 网卡是一个专门负责网络通讯的硬件设备
- IP地址是设置在网卡上的地址信息
假如把电脑比作电话,网卡相当于SIM卡,IP地址相当于电话号码
注意:每台电脑的IP地址不能相同,否则会出现地址冲突
6.2 ping
ping一般用于检测当前计算机到目标计算机之间的网络是否通畅
ping IP地址
ping的工作原理与潜水艇的声纳相似,ping这个命令就是取自声纳的声音
使用场景:
- ping一下百度,看看服务器有没有联网
- ping一下X的计算机,看看是否开机
6.3 重定向>和>>
- Linux允许将命令执行结果重定向到一个文件
- 将本应显示在终端上的内容输出/追加到指定文件中
其中
- >表示输出,会覆盖文件原有内容
- >>表示追加,会将内容追加到已有文件的末尾
6.4 管道符 |
- Linux允许将一个命令的输出可以通过管道作为另一个命令的输入
- 可以理解为现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为两端,左端塞东西(写),右端取东西(读)
常用管道命令有:
- more:分屏显示内容
- grep:命令执行结果基础上查询指定文本