• 二、体验Linux系统(文件目录、shell)


    二、体验Linux系统(文件目录、shell)

    2.1 文件系统

    Linux系统下,一切皆文件

    1、常用的Linux文件系统

    • swap
    • ext2
    • vfat
    • NFS

    2、Linux文件类型

    1. 普通文件:通常是流式文件
      • 纯文本文件
      • 二进制文件
      • 数据文件
    2. 目录文件:用于表示和管理系统中的全部文件
    3. 设备文件:包括块设备文件和字符设备文件
    4. 管道文件:(FIFO)提供进程间通信的一种方式
    5. 链接文件:用于不同目录下文件的共享
    6. 套接字文件(socket):该文件类型与网络通信有关。
    普通文件

    2.2 shell使用技巧

    Shell是一种命令解释器,在命令行中输入的命令,都是由shell进行解释,并传输给linux内核,linux内核将执行后的内容返回shell,并由shell展示在命令行中,完成用户与内核之间的交互。

    Shell是一种编程语言,可书写shell脚本语言和命令文件。

    Shell有多种版本:

    • Bourne Shell(/usr/bin/sh或/bin/sh)
    • Bourne Again Shell(/bin/bash)
    • C Shell(/usr/bin/csh)
    • K Shell(/usr/bin/ksh)
    • Shell for Root(/sbin/sh)

    Ubuntu中使用的是bash(Bourne Again Shell),sh的增强版,linux标准默认的Shell。

    查看系统Shell类型

    echo $SHELL              #注意命令区分大小写
    
    • 1

    1、shell 使用技巧

    1. 自动补齐

    输入命令的前一个或者几个字母,按下Tab键系统就会自动补全命令。如果有多个可能的选择,再按一次Tab键就会列举出来。

     cd /u<Tab><sr>  #从当前的目录进入到/usr/src/
    
    • 1
    1. 命令行的历史记录

      • 通过按向上向下键,可以向后和向前遍历最近在该控制台下输入的命令
      • 如果与SHIFT键连用的话还可以遍历以往在该控制台中的输出,也可以编辑旧的命令然后再运行
      • ctrl + r:shell就进入向后增量搜索模式。现在相应命令后再按键,上面的命令将再次执行。
      history #显示历史使用过的命令
      
      • 1

    2、编辑命令行

    1. 控制命令

      • ctrl + l :清屏(与clear命令效果相同)
      • ctrl + o:执行当前命令,并选择上一条命令
      • ctrl + s:阻止屏幕输出
      • ctrl + q:允许屏幕输出
      • ctrl + c:终止当前正在执行的命令
      • ctrl + z:挂起命令,把当前进程转到后台运行,使用fg命令恢复
      • ctrl + d:退出当前的shell
    2. 光标移动快捷键

      • ctrl + a: 移到命令行首
      • ctrl + e:移到到命令行尾
      • ctrl + f:前移(向右移动)一个字符
      • ctrl + b: 后移(向左移动)一个字符
      • Alt + f:前移(向右移动)一个单词
      • Alt + b:后移(向左移动)一个单词
      • ctrl +xx:在命令行首和光标之间移动
    3. 补全、删除、粘贴、宋chunxiao

      • tab:自动补全命令
      • ctrl + u:从光标处删除至命令行首
      • ctrl + k:从光标处删除至命令行尾
      • ctrl +w:从光标处删除至字首
      • ctrl + d:删除光标处(或光标后)的字符
      • Alt + d: 从光标处删除至字尾
      • ctrl + h:删除光标前的字符(与backspace键相同)
      • Alt + Backspace:与ctrl +w 类似,分隔符有些差别
      • ctrl +y:粘贴至光标后
    4. 命令的排列

      • 先执行command1,不管command1是否出错,接下来执行command2

        command1;command2;
        
        • 1
      • 只有当command1 正确运行完毕后,才执行command2

        command1&command2	
        
        • 1
    5. 命令的任务调度

      当在终端里运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用。任务调度或后台:在命令后面添加一个&可以将当前运用任务或命令置于后台,终端立即解放可以接受新的输入。

      gqview &
      jobs
      
      • 1
      • 2
    6. 输入输出重定向(数据的流动方向)

      • 输入:外部设备到程序如:键盘-> 程序
      • 输出:程序-> 显示器或打印机

      ">“为输出重定向符,可以将命令的输出结果保存到文件中,“>>”和“>”作用类似,不同的是”>“为新建或者重写一个文件,而”>>"为在文件的尾部追加内容。

      ps -ef | grep wget
      Mail-s "hello world" pingzhenyu@163.com <testmail
      命令 >> 文件1 2>>文件2 #将正确的结果追加到文件1,把错误的结果追加到文件2
      命令&>>文件#无论结果如何都保存到文件中
      命令 >> 文件2>&1
      
      • 1
      • 2
      • 3
      • 4
      • 5
      stdin标准输入从终端设备输入内容
      stdout标准输出将内容输出到终端上
      stderr标准错误输出标准错误输出到终端上

    2.3 环境变量

    路径之间用冒号:隔开;

    在root目录下通过使用export修改环境变量:

    export PATH=$PATH:/home/liaokezhi/shiyan
    
    • 1

    增加此条环境变量属于临时路径,重新启动shell后不保存。

    加入到 .bashrc中才会别保存下来

    vi .bashrc	
    加入你的路径:export PATH=$PATH:/home/liaokezhi/shiyan
    source .bashrc #使当前环境变量起效
    
    • 1
    • 2
    • 3

    环境变量设置

    • 使用命令echo显示环境变量

      echo $PATH
      
      • 1
    • 使用env命令显示所有的环境变量

      env #
      env|grep -i "PATH" #找出带有PATH字符的环境变量
      
      • 1
      • 2
    • 使用set命令显示所有本地定义的shell变量

    • unset (选项)(参数)

      2种参数如下
      -f #仅删除函数
      -v #仅删除变量
      
      • 1
      • 2
      • 3
    • 使用readonly命令设置只读变量

      readonly (选项)(参数)

      3种参数设置
      -f  #定义只读函数
      -a  #定义只读数组变量
      -p  #显示系统中全部只读变量列表
      
      • 1
      • 2
      • 3
      • 4

      注意:程序一会可以正常运行,一会又不行,很可能是环境变量的问题,一定要注意环境变量的配置,要永久生效要把环境变量配置到 .bashrc文件或者其他文件。

    遇到问题:一定要注意看系统提示信息,按照系统提示的信息往往可以找到解决方案。

    tree -L 1 #显示当前目录下结构
    
    • 1
  • 相关阅读:
    指针拔尖1——(看完包会,不会来打我)
    函数—描述现实世界现象的基本工具
    Leetcode 算法面试冲刺 热题 HOT 100 刷题(300 301 309 312 322)(六十七)
    电阻:分压造成的流血事件
    【0109】PostgreSQL配置WAL Archive
    【Python毕业设计源码】django三甲妇幼保健院网站
    Prometheus配置Basic Auth进行安全防护,实现登录控制
    【Flink CDC(一)】实现mysql整表与增量读取
    【计算机网络】Tcp详解
    「学习笔记」gdb 调试的简单操作
  • 原文地址:https://blog.csdn.net/qq_45986997/article/details/125417854