02-Linux文件系统功能和作用讲解
02-Linux文件系统功能和作用讲解

02-Linux文件系统功能和作用讲解

Linux文件系统功能和作用讲解

shell

查看所用shell

[rhino@rhino010 ~]$ echo $SHELL
/bin/bash

CLI接口

命令行接口:

  • [root@node1 ~]# COMMAND
    • prompt:
    • root:当前登录的用户
    • node1:当前主机的主机名,非完整格式: node1.magedu.com
    • ~: 当前所在目录(current directory),也称为工作目录(working directory); 相对路径;
    • : 命令提示符:

      • : 管理员行号,为root

      • $: 普通用户

注意:建议使用非管理员账号登陆; 在执行管理操作则临时切换至管理员,操作完成即退出。

远程连接

  • SSH协议: secure shell;
    • ~]# ss -tnl
    • 查看系统是否监听于tcp协议的22号端口
    • ~]# ip addr list 或
    • ~]# ifconfig
    • 查看ip地址
    • 确保防火墙处于关闭状态:
    • ~]# iptables -L -n
    • CentOS 7:
      • ~]# systemctl disable fireealld.service
      • ~]# systemctl stop firewalld.service
    • CentOS 6:
      • ~]# service iptables stop
      • ~]# chkconfig iptables off

几个基础命令

tty: 查看当前的终端设备

ifconfigip addr list: 查看活动接口的ip地址

echo: 回显

ping:探测网络的目标主机与当前主机之间的连通性

关机命令:

CentOS:

  • ~]# systemctl poweroff

*:

  • ~]# poweroff
  • ~]# reboot
  • ~]# halt

Stallman

自有含义:自由学习和修改;自由使用;自由分发;自由创建衍生版

Linux的哲学思想

  1. 一切皆文件:把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等;

    open(), read(), write(), close(), delete(), create()

  2. 由众多功能单一的程序组成:一个程序只用于做一件事,并且做好;

    组合小程序完成复杂任务;

  3. 尽量避免跟用户交互;

    目标:易于以编程的方式实现自动化任务

  4. 使用文本文件保存配置信息

思考:文件是什么?众多文件如何有效的组织起来?

目录:路径映射

文件:存储空间存储的一段六十数据,对数据可以做到按名存取

文件系统: 层级结构;有索引;

  • /: 原初起点

    • 倒置树状机构,所有文件从根 起
    • /dev/pts/2:
    • 最左侧/:表示跟目录
    • 其他的/:表示路径分隔符
      • Linux的路径分隔符是/, windows是\
  • 文件的路径表示:

    • 相对路径:从根开始表示出的路径
    • 绝对路径:从当前位置开始表示出的路径
  • 文件名使用法则:

    • 严格区分字符大小写
    • 目录也是文件,在统一路径下,两个文件不能同名
    • 支持使用除了/以外的任意字符
    • 最长不能超过255个字符
  • 用户有家目录: home,

    • 用户的起始目录: 普通用户管理文件的位置
  • 工作目录:

    • /etc/sysconfig/network-scripts/ifcfg-eno16777736

    • basename:最右侧的文件或目录名;

    • dirname: basename左侧的路径

    • [rhino@rhino010 aiqicSpider]$ pwd
      /home/rhino/lxc/aiqicSpider
      [rhino@rhino010 aiqicSpider]$ basename $PWD
      aiqicSpider
      [rhino@rhino010 aiqicSpider]$ dirname  $PWD
      /home/rhino/lxc

Linux基础知识

  • 命令的语法通用格式

    • COMMAND OPTINS ARGUMENTS
    • 发起一个命令:请求内核将某个二进制程序运行为一个进程
    • 程序 ----> 进程
    • 静态 ----> 动态(有生命周期)
  • 命令本身是一个可执行的程序文件(内部直接调用了CPU指令集当中一颗CPU所允许运行指令当中的某个或某些)

    • 是二进制格式的文件, 有可能调用共享库文件;
    • 多数程序文件都存放在: /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin/, /usr/local/sbin
    • 普通命令: /bin, /usr/bin, /usr/local/bin
    • 管理命令: /sbin, /usr/sbin, /usr/local/sbin
    • 共享库: /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
    • 32bits的库: /lib, /usr/lib, /usr/local/lib
    • 64bits的库:/lib64, /usr/lib64, /usr/local/lib64
    • 注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件
  • 命令必须遵循特定格式规范:exe,msi, RLF(Linux)

    • ~]# file /bin/ls
  • 命令可分为两类:

    1. 由shell程序自带的命令:内置命令(builtin)
    2. 独立的可执行程序文件,文件名即命令名:外部命令
  • shell程序是独特的程序,负责解析用户提供的命令:

    • 环境变量:

    • PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件

      ubuntu@VM-0-6-ubuntu:~$ echo $PATH
      /home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

      查找次序为:自左向右

    • 查看命令类型type COMMAND

    内建的命令类型没有与之匹配的路径名

    [rhino@rhino014 ~]$ type type
    type is a shell builtin
    type 是 shell 内建
    [rhino@rhino014 ~]$ type ls
    ls is aliased to `ls --color=auto'
    ls 是 "ls --color=auto" 的别名
  • OPTIONS

    • 指定命令的运行特性

    • 选项有两种表现形式

    1. 短选项: -C,例如-l, -d

      注意:有些命令的选项没有-符号;

      如果同一个命令同时使用多个短选项,多数可合并: -l -d = -ld

    2. 长选项: --word, 例如 --help, --human-readable

      注意:长选项不能合并

    注意:有些选项可以带参数,此称为选项参数

  • ARGUMENTS:

    • 命令的作用对象:命令对什么生效
    • 注意:不同的命令的参数;有些命令可同事带多个参数,多个之间以空白字符分割
  • 获取命令的使用帮助:

    • 内部命令:

    help COMMAND

    ubuntu@VM-0-6-ubuntu:~$ help type
    type: type [-afptP] 名称 [名称 ...]
        显示关于命令类型的信息。
    
        对于每一个 ,指出如果作为命令名使用时,它将如何被解释。
    
        选项:
          -a        当且仅当没有同时使用 "-p" 选项时,显示所有包含名为 
                    的可执行文件的位置;包括别名、内建和函数
          -f        阻止 shell 函数查找流程
          -P        强制对每个  搜索 PATH,即使它是别名、内建或函数,
                    并且返回将被执行的磁盘上的文件的名称
          -p        返回将被执行的磁盘上的文件的名称,或者当 "type -t 名称"
                    不返回 "file" 时,不返回任何值
          -t        返回下列单词中的一个:"alias"、"keyword"、"function"、
                    "builtin"、"file" 或者 "",分别表示  是一个别名、
                    shell 保留字、shell 函数、shell 内建、磁盘文件或者未找到
    
        参数:
          名称      需要解释的命令。
    
        退出状态:
        如果所有的  都被找到则返回成功;任何一个未找到则失败。
    • 外部命令:
    1. 命令自带简要格式的使用帮助

      ~]# COMMAND --help

    2. 使用手册: manual

      位置: /usr/share/man

      ~]# man COMMAND

      SECTION:

      • NAME: 功能性说明
      • SYNOPSIS:语法格式
      • DESCRIPTION:描述
      • OPTIONS:选项
      • EXAMPLES:使用示例
      • AUTHOR:作者
      • BUGS:报告程序bug的方式
      • SEE ALSO:参考
      • ...

      SYNOPSIS:

      • []: 可选内容
      • <>: 必须提供的内容
      • a|b|c: 多选一
      • ...: 同类内容可出现多个

      使用手册:压缩格式的文件,有章节之分;

      • /usr/share/man

        • man1, man2, ...
        • man1 --> 用户命令
        • man2 --> 系统调用
        • man3 --> C库调用
        • man4 --> 设备文件及特殊文件
        • man5 --> 文件格式(配置文件格式)
        • man6 --> 游戏使用帮助
        • man7 --> 杂项
        • man8 --> 管理工具及守护进行
      • ~]# man CHAPTER COMMAND

      • 注意:并非每个COMMAND在所有章节下都有手册,如何知道哪个命令在哪个章节下有手册?

        • 查看:~]# whatis COMMAND
        ubuntu@VM-0-6-ubuntu:~$ whatis passwd
        passwd (1)           - 更改用户密码
        passwd (5)           - 密码文件
        passwd (1ssl)        - OpenSSL application commands

        注意:其中执行过程是查询数据库进行的

        • 手动更新数据库:~]# makewhatis
    • man命令打开手册以后的操作方法:
    1. 翻屏
      • 空格键:向文件尾部翻屏;
      • b: 向文件首部翻屏;
      • Ctrl + d:向文件尾部翻半屏
      • Ctrl + k:向文件首部翻半屏
      • 回车键:向问价那位不翻一行;
      • k:向文件首部翻一行
      • G:跳转最后一行
      • nG: n代指数字,跳转至指定行
      • 1G:跳转至文件首部(第一行)
    2. 搜索
      • /keyword: 从文件首部向文件尾部依次查找;不区分字符大小写
      • ?keyword:从文件尾部向文件首部依次查找
        • n:与查找命令方向相同
        • N:与查找命令方向相反
    3. 退出
      • q: quit
    • 选项

    • -M /PATH/TO/SOMEDIR: 到指定目录下查找命令手册并打开之;

发表回复

您的电子邮箱地址不会被公开。