一、目录结构

图片 1.pngBin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
Etc:该目录主要存储一些配置文件。
Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
Proc:表示进程,process,该目录中存储的是Linux运行时候的进程。
Root:该目录是root用户自己的家目录。
Sbin:全称super binary,该目录存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
Tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr:存放的是用户自己安装的软件。类似于windows下的program files。
Var:存放的程序/系统的日志文件的目录。
Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

二、基础命令

  1. ls —- 显示文件/文件夹

    1. ls ===== 列出当前工作目录下的所有文件/文件夹的名称
    2. ls 路径 ===== 列出指定路径下的所有文件/文件夹的名称
    3. ls 选项 路径 ====== 在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示
      1. -l:表示list,表示以详细列表的形式进行展示
      2. -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
      3. -h:高可读性
  2. pwd —- 显示当前工作目录

  3. cd —- 切换路径

    1. cd 路径 ===== 切换路径
      1. ~:当前用户的家目录
      2. /:跟路径
  4. mkdir —- 创建目录

    1. mkdir 路径 ===== 创建目录
    2. mkdir 路径1 路径2 路径3 … ===== 一次性创建多个目录
    3. mkdir`` -p 路径 ===== 一次性创建多层不存在的目录
  5. touch —- 创建文件

    1. touch 文件路径 ===== 创建文件
    2. touch 文件路径1 文件路径2 ... ===== 一次性创建多个文件
  6. cp —- 复制

    1. cp 文档src路径 文档dest路径 ===== 复制文件
    2. cp -r 文件夹src路径 文件夹dest路径 ===== 复制文件夹
  7. mv —- 移动

    1. mv 文档src路径 文档dest路径 ===== 移动文件
    2. 重命名,语法与移动一样
  8. rm —- 删除

    1. rm 选项 被删除文档路径 ===== 删除文件
      1. -f:force,强制删除,不提示是否删除
      2. -r:表示递归 删除文件夹
    2. rm 选项 文档1 文档2 ... ===== 删除多个文件
  9. cat —- 打开文件/合并文件

    1. cat 文件路径 ===== 打开文件
    2. cat 文件1 文件2 … 文件n > 合并之后的文件路径 ===== 合并多个文件

三、进阶指令

  1. df —- 查看磁盘空间

    1. df -h ===== -h:表示以可读性较高的形式展示大小
  2. free —- 查看内存使用情况

    1. free -m ===== -m:表示以mb为单位查看
    2. free -h ===== -h:表示以可读性较高的形式展示大小
  3. head —- 查看一个文件的前n行,如果不指定n,则默认显示前10行

    1. head -n 文件路径 ===== 【n表示数字】
  4. tail —- 查看一个文件的末n行,如果n不指定默认显示后10行

    1. tail -n 文件路径 ===== 【n表示数字】
    2. tail -f 文件路径 ===== 查看一个文件的动态变化内容,一般用于查看系统的日志比较多
  5. less —- 查看文件,以较少的内容进行输出

    1. less 文件路径
  6. wc —- 统计文件内容信息(包含行数、单词数、字节数)

    1. wc -lwc 文件路径
      1. -l:表示lines,行数
      2. -w:表示words,单词数 依照空格来判断单词数量
      3. -c:表示bytes,字节数
  7. date —- 操作时间日期(读取、设置)

    1. date ===== 输出形式:Tue Aug 6 10:41:04 CST 2019
    2. date +%F 等价于 date “+%Y-%m-%d” ===== 输出形式:2019-08-06
    3. date “+%F %T” 等价于 date “+%Y-%m-%d %H:%M:%S” ===== 输出形式:2019-08-06 10:41:44
    4. date -d “-1 day” “+%Y-%m-%d %H:%M:%S” ===== 获取之前或者之后的某个时间(备份)

      说明:

      • 引号表示让“年月日与时分秒”成为一个不可分割的整体
      • 符号的可选值:+ (之后) 或者 - (之前)
      • 单位的可选值:day (天)、month (月份)、year (年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
  1. cal —- 操作日历

    1. cal 等价于 cal -1 ===== 直接输出当前月份的日历
    2. cal -3 ===== 表示输出上一个月+本月+下个月的日历
    3. cal -y 年份 ===== 表示输出某一个年份的日历
  2. clear/ctrl+L —- 清屏

  3. 管道 | —- 管道一般可以用于“过滤”,“特殊”,“扩展处理”

    1. test:
      1. ls | grep y 管道查询出当前目录下包含“y”字母的文档名称 // grep指令:主要用于过滤
      2. ls | wc -l 统计某个目录下的文档的总个数

四、高级指令

  1. hostname —- 操作服务器的主机名(读取、设置)

    1. hostname ===== 表示输出完整的主机名
    2. hostname -f ===== 表示输出当前主机名中的FQDN(全限定域名)
  2. id —- 查看用户的一些基本信息(包含用户id,用户组id,附加组id…)

    1. id ===== 显示当前执行该命令的用户的基本信息
    2. id 用户名 ===== 显示指定用户的基本信息
  3. whoami —- 显示当前登录的用户名

    1. whoami ===== 显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志
  4. ps —- 查看服务器的进程信息

    1. ps -ef ===== 查看服务器的进程信息
      1. -e:等价于“-A”,表示列出全部的进程
      2. -f:显示全部的列(显示全字段)
  5. top —- 动态显示服务器的进程占的资源

    1. 在运行top的时候,可以按下方便的快捷键
      1. q键 退出
      2. M:表示将结果按照内存从高到低进行降序排列
      3. P:表示将结果按照CPU使用率从高到低进行降序排列
      4. 1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息
  6. du -sh —- 查看目录的真实大小

    1. du -sh 目录路径 ===== 查看目录的大小
      1. -s:summaries,只显示汇总的大小
      2. -h:表示以高可读性的形式进行显示
  7. find —- 查找文件(其选项有55个之多)

    1. find 路径范围 选项 选项的值
      1. -name:按照文档名称进行搜索(支持模糊搜索)
      2. -type:按照文档的类型进行搜索
        1. 文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹
  8. service —- 用于控制一些软件的服务启动/停止/重启

    1. service 服务名 start/stop/restart
      1. test:ps -ef | grep httpd 通过ps命令来检查httpd服务是否启动
  9. kill —- 杀死进程

    1. kill 进程 PID ===== 需要配合ps一起使用
    2. killall 进程名称
  10. ifconfig —- 获取网卡信息

    1. Eth0表示Linux中的一个网卡,eth0是其名称
    2. Lo (loop,本地回还网卡,其ip地址一般都是127.0.0.1) 也是一个网卡名称
    3. inet addr就是网卡的ip地址
  11. reboot —- 重新启动计算机

    1. reboot ===== 重启
    2. reboot -w ===== 模拟重启,但是不重启(只写关机与开机的日志信息)
  12. shutdown —- 关机

    1. shutdown -h now “关机提示”
    2. shutdown -h 15:25 “关机提示” 定时关机
    3. 其他的关机命令: init 0 halt poweroff
  13. uptime —- 显示计算机的持续在线时间(计算机从开机到现在运行的时间)

  14. uname —- 获取计算机操作系统相关信息

    1. uname ===== 获取操作系统的类型
    2. uname -r ====== 查看当前系统的内核版本
    3. uname -a ====== all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
  15. netstat -tnlp —- 查看网络连接状态

    1. netstat -tnlp
      1. -t:表示只列出tcp协议的连接
      2. -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
      3. -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接
      4. -p:表示显示发起连接的进程pid和进程名称
  16. man —- 手册(包含了Linux中全部命令手册)