一名测试工程师的学习之路,所有博客链接已存放在该链接下:一个Tester

@TOC

一、前言

Linux的命令有很多,但是常用的并不是很多,这里将常用命令分为基本常用命令文件类型相关命令进程类型相关命令网络类型相关命令
写给“大忙人”收藏的Linux常用命令教程 - 图1

二、基本命令

2.1 切换用户

  • su
    输入su命令后,输入root用户密码,切换到root用户,但用户个人目录不变
  • su - 用户名
    输入su - 用户名切换到指定用户,且用户个人”家目录”变化。切换到root用户就为su - root,切换到普通用户就为su - yff(切换到普通用户不需要输入密码)。
    写给“大忙人”收藏的Linux常用命令教程 - 图2
  • 用户目录
    关于用户目录,可以参考下面链接:Linux下“/”和“~”的区别

2.2 查看IP地址

  • ifconfig
    1. [root@localhost ~]# ifconfig


写给“大忙人”收藏的Linux常用命令教程 - 图3

2.3 重启和关机

  • 重启
    1. init 6 reboot
  • 关机
    1. init 0 halt

2.4 清屏

  • clear
    清空当前屏幕的之前的内容。

三、文件

在 Linux 环境下有一个很基本的设计原则,即 Everything is file,所有的内容都是以文件的形式来进行抽象的,比如:进程、网络、硬件等,都可以抽象成文件,可以对其进行打开、读取、写入等操作。

3.1 磁盘

  • dfdf -h
    通过dfdf -h命令,查看设备上挂载了多少磁盘设备,以及磁盘的可用空间。
    写给“大忙人”收藏的Linux常用命令教程 - 图4

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]$

  1. (3)进入用户主目录——`cd````bash
  2. [yff@localhost apache-jmeter-5.1.1]$ cd
  3. [yff@localhost ~]$ ls
  4. 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参数打印每个文件的基本信息
写给“大忙人”收藏的Linux常用命令教程 - 图5

  • `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 文件权限

  • 查看文件权限
    写给“大忙人”收藏的Linux常用命令教程 - 图6
  • 修改权限——chmod
    关于chmod命令的详细教程,可以参考菜鸟教程。我比较经常用的是给文件夹赋予权限。
    写给“大忙人”收藏的Linux常用命令教程 - 图7

3.5 查找文件

  • find命令bash find 目录名 -name 文件名 -print

写给“大忙人”收藏的Linux常用命令教程 - 图8

四、进程

4.1 ps

ps命令的使用可以归为ps [参数],由于参数较多,这里就说一下常用的几个。

  • ps -ef :显示所有进程信息,连同命令行。
    写给“大忙人”收藏的Linux常用命令教程 - 图9

  • ps -ef | grep 进程名 :查找进程并显示进程信息。
    ps -ef显示进程grep查找的含义中间的 | 是管道命令,指的是ps命令与grep命令同时执行。
    写给“大忙人”收藏的Linux常用命令教程 - 图10

4.2 top

  • top命令:使用top命令可以在动态的交互界面上显示了整个机器的一个状态。top命令也有很多参数,这里就不一个个阐述了。关于top命令的详细可以参考这篇博客:Linux top命令的用法详细详解bash top [-] [d] [p] [q] [c] [C] [S] [s] [n]

写给“大忙人”收藏的Linux常用命令教程 - 图11

  • 退出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
    写给“大忙人”收藏的Linux常用命令教程 - 图12
  • netstat -tnp
    写给“大忙人”收藏的Linux常用命令教程 - 图13

六、写在最后

  Linux相关的命令有很多,上面写的这些也只能算一小部分,而且关于进程和网络相关的命令也没有写的很细,可以自行了解。最后给一个Xmind图,方便记忆。
写给“大忙人”收藏的Linux常用命令教程 - 图14