一名测试工程师的学习之路,所有博客链接已存放在该链接下:一个Tester
@TOC
一、前言
Linux的命令有很多,但是常用的并不是很多,这里将常用命令分为基本常用命令
、文件类型相关命令
、进程类型相关命令
、网络类型相关命令
。
二、基本命令
2.1 切换用户
su
输入su命令后,输入root用户密码,切换到root用户,但用户个人目录不变su - 用户名
输入su - 用户名
切换到指定用户,且用户个人”家目录”变化。切换到root用户就为su - root
,切换到普通用户就为su - yff
(切换到普通用户不需要输入密码)。
- 用户目录
关于用户目录,可以参考下面链接:Linux下“/”和“~”的区别
2.2 查看IP地址
ifconfig
[root@localhost ~]# ifconfig
2.3 重启和关机
- 重启
init 6 或 reboot
- 关机
init 0 或 halt
2.4 清屏
clear
清空当前屏幕的之前的内容。
三、文件
在 Linux 环境下有一个很基本的设计原则,即 Everything is file,所有的内容都是以文件的形式来进行抽象的
,比如:进程、网络、硬件等,都可以抽象成文件,可以对其进行打开、读取、写入等操作。
3.1 磁盘
df
或df -h
通过df
或df -h
命令,查看设备上挂载了多少磁盘设备,以及磁盘的可用空间。
3.2 目录
pwd
查看当前目录bash [yff@localhost ~]$ pwd /home/yff
cd 目录名
(1)进入指定目录——cd 目录名bash [yff@localhost Jmeter]$ cd apache-jmeter-5.1.1
(2)进入上一级目录——`cd ..````bash [yff@localhost apache-jmeter-5.1.1]$ cd .. [yff@localhost Jmeter]$
(3)进入用户主目录——`cd````bash
[yff@localhost apache-jmeter-5.1.1]$ cd
[yff@localhost ~]$ ls
Desktop Documents Downloads Jmeter jmeter.log Music Nmon NmonData Pictures Public Templates Videos
(4)进入系统根目录——`cd /````bash [yff@localhost ~]$ ls Desktop Documents Downloads Jmeter jmeter.log Music Nmon NmonData Pictures Public Templates Videos [yff@localhost ~]$ cd / [yff@localhost /]$ ls bin boot dev etc home jmeter.log lib lib64 media mnt myfile opt proc root run sbin srv sys tmp usr var [yff@localhost /]$
- `ls`<br />
(1)`ls`显示当前目录的所有文件及目录```bash
[yff@localhost ~]$ ls
Desktop Documents Downloads Jmeter jmeter.log Music Nmon NmonData Pictures Public Templates Videos
(2)ls -l
-l参数打印每个文件的基本信息
- `mkdir 目录名
`bash [yff@localhost AA]$ ls [yff@localhost AA]$ mkdir BB [yff@localhost AA]$ ls BB
- `rm 目录名
`bash rm [-rf] 目录或文件列表
选项 -r 可以删除目录,如果没有-r只能删除文件。
选项 -f表示强制删除,```bash
[yff@localhost AA]$ ls
BB
[yff@localhost AA]$ rm -rf BB
[yff@localhost AA]$ ls
[yff@localhost AA]$
- `mv 旧目录或文件名 新目录或文件名`<br />
(1)文件或文件夹重命名```bash
[yff@localhost AA]$ vim a.txt
[yff@localhost AA]$ ls
a.txt
[yff@localhost AA]$ mv a.txt b.txt
[yff@localhost AA]$ ls
b.txt
(2)移动文件或文件夹```bash [yff@localhost AA]$ mv b.txt ../BB/ [yff@localhost AA]$ ls [yff@localhost AA]$ cd ../BB [yff@localhost BB]$ ls b.txt
- `cp 旧目录或文件名 新目录或文件名`<br />
选项-r可以复制目录,如果没有选项-r只能复制文件。```bash
[yff@localhost BB]$ ls
b.txt
[yff@localhost BB]$ cp b.txt ../AA/
[yff@localhost BB]$ cd ../AA
[yff@localhost AA]$ ls
b.txt
3.3 文件查看
cat
:阅读文件并查找文件内容,但缺点就是一页的内容非常长。more
:可以实现翻页阅读,缺点就是不够灵活。less
:它既可以实现上下滑动,还可以实现左右移动,可以实现交互式阅读,是三种阅读方法中最强大的。[yff@localhost AA]$ cat b.txt Linux 内容
3.4 文件编辑
vim
命令对文件进行编辑。vi 是最早的一个编辑器,vim 是后期的一个变种,在很多系统上 vi 与 vim 是等价的。
vim 文件名
命令进入界面,如果要查找相关内容,直接输入/内容
,回车就高亮显示搜索的字符。- 按下
i
键进入插入模式,修改内容。 - 按下
ESC
键退出insert模式。 - 输入
:wq!
保存修改。
3.5 文件权限
- 查看文件权限
- 修改权限——
chmod
关于chmod命令的详细教程,可以参考菜鸟教程。我比较经常用的是给文件夹赋予权限。
3.5 查找文件
find
命令bash find 目录名 -name 文件名 -print
四、进程
4.1 ps
ps命令的使用可以归为ps [参数]
,由于参数较多,这里就说一下常用的几个。
ps -ef
:显示所有进程信息,连同命令行。
ps -ef | grep 进程名
:查找进程并显示进程信息。
ps -ef
是显示进程
,grep
是查找的含义
。中间的 | 是管道命令
,指的是ps命令与grep命令同时执行。
4.2 top
top
命令:使用top命令可以在动态
的交互界面上显示了整个机器的一个状态。top命令也有很多参数,这里就不一个个阐述了。关于top命令的详细可以参考这篇博客:Linux top命令的用法详细详解bash top [-] [d] [p] [q] [c] [C] [S] [s] [n]
- 退出top可以使用
Ctrl+C
或者Q
键
五、网络
当一个文件加载到 CPU 中被执行的过程中它就变成了一个进程,有的时候进程之间需要通信
,这个时候就会开启一个 socket,socket
就是对外建立连接的一个窗口,然后借助TCP
协议进行通信。但进行通信之前首先需要进程开启一个端口,那我们如何查看本地开启了多少端口?这些端口又是由哪些进程开启的呢?
5.1 netstat
netstat
命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
由于nestst命令,有很多参数,这里就不一个个阐述,具体可以参考下面这篇博客netstat命令详解
-t
指的是TCP 协议
,-l
(listen)指哪几个进程开启了对外的链接,负责监听端口
,-n
指不需要解析远程服务器的名字,以加快运行速度
,-p
指打印进程
。
netstat -tlnp
netstat -tnp
六、写在最后
Linux相关的命令有很多,上面写的这些也只能算一小部分,而且关于进程和网络相关的命令也没有写的很细,可以自行了解。最后给一个Xmind图,方便记忆。