Linux的文件系统:

  根文件系统(rootfs):root filesystem

    

    /boot:引导文件存放目录:内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;

    /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;

    /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;

    /lib:基本共享库文件,以及内核模块文件(/lib/modules);

    /lib64:专用于x86_64系统上的辅助共享库文件存放位置;

    /etc:配置文件目录(纯文本文件);

    /home/USERNAME:普通用户家目录;

    /root:管理员的家目录;

    /media:便携式移动设备挂载点;cdrom、usb

    /mnt:临时文件系统挂载点;

    /dev:设备文件及特殊文件存储位置;

      b:block device,随机访问

      c:character device,线性访问

    /opt:第三方应用程序的安装位置;     以前用的比较多,现在用的少了

    /srv:系统上运行的服务用到的数据;

    /tmp:临时文件存储位置;

    /usr:universal shared,read-only data;

      bin:保证系统拥有完整功能而提供的应用程序;

      sbin:

      lib:

      lib64:

      include:C程序的头文件(header files);

      share:结构化独立的数据,例如doc,man等;

      local:第三方应用程序的安装位置:

        bin, sbin, lib, lib64, etc, share

    /var:variable data files

      cache:应用程序缓存数据目录;

      lib:应用程序状态信息数据;

      local:专用于为/usr/local下的应用程序存储可变数据;

      lock:锁文件

      log:日志目录及文件;

      opt:专用于为/opt下的应用程序存储可变数据;

      run:运行中的进程相关的数据;通常用于存储进程 的pid文件;

      spool:应用程序数据池;

      tmp:保存系统两次重启之间产生的临时数据;

    /proc:用于输出内核与进程信息相关的虚拟文件系统;

    /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;

    /selinux:seccrity enhanced Linux,selinux相关的安全策略等信息的存储位置;

  Linux上的应用程序的组成部分:

    二进制程序:/bin, /sbin,  /usr/bin, /usr/sbin,  /usr/local/bin, /usr/local/sbin

    库文件:/lib, /lib64,  /usr/lib, /usr/lib64,  /usr/local/lib, /usr/local/lib64

    配置文件:/etc, /etc/DIRECTORY, /usr/local/etc

    帮助文件:/usr/share/man, /usr/sare/doc, /usr/local/share/man, /usr/local/share/doc

  Linux下的文件类型:

    - (f):普通文件

    d:目录文件;

    b:块设备;

    c:字符设备;

    l:符号链接文件;

    p:管道文件;

    s:套接字文件;

   

bash的基础特性:

  (1)命令历史

    history

      环境变量:

        HISTSIZE:命令历史记录的条数;

        HISTFILE:~/.bash_history;

        HISTFILESIZE:命令历史文件记录历史的条数; 

      history -d OFFSET:删除指定偏移量所在的命令;

           -c:删除所有命令历史

             #:显示历史中最近的#条命令;

            -a:手动追加当前会话缓冲区的命令历史至历史文件中;

    调用历史中的命令:

      !#:重复执行第#条指令;

      !!:重复执行上一条命令;

      !string:执行以字符开头的最近一条命令;

    调用上一条命令的最后一个参数:

      !$

      Esc, .

      Alt+.   并不是所胡系统都支持,建议使用前两种;

    控制命令历史的记录方式:

      环境变量:HISTCONTROL

        ignoredups:忽略重复的命令;连续且相同方为“重复”;

        ignorespace:忽略所有以空白开头的命令;

        ignoreboth:前面两种都忽略

      修改环境变量值的方式:export 变量名=“值”

        变量赋值:把赋值符号后面的数据存储于变量名指向的内容空间;

  (2)命令补全

    bash执行命令:

      内部命令:

      外部命令:bash根据PATH环境变量定义的路径,自左至右在每个路径搜寻给定命令名命名的文件,第一次找到即为要执行的命令;

        直接补全:Tab,用户给定的字符串只有一条唯一对应的命令;

        以用户给定的字符串为开头命令不唯一,则再次Tab会给出列表;

  (3)路径补全

    把用户给出的字符串当做路径开头,并在其指定上级目录下搜索已指定的字符串形状不的文件名;

      如果唯一:则直接补全;

      否则:再次Tab,给出列表;

  (4)命令行展开

    ~:展开为用户的主目录

    ~USERNAME:展开为指定用户的主目录

    {}:可承载一个以逗号分隔的列表,并将其展开为多个路径

      /tmp{a,b} = /tmp/a, /tmp/b

      /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

  (5) 命令的执行结果状态

    成功

    失败

    bash使用特殊变量$?保存最近一条命令的执行状态结果:

      0:成功

      1-255:失败

    程序执行有两类结果:

      程序的返回值;

      程序的执行状态结果;

目录管理类命令:

  cd,pwd,ls

  mkdir,rmdir

  mkdir [OPTION]... DIRECTORY...

    不加选项时,如果路径中除了最后一个目录之外还有其它的目录也不存在,则报错!

          如果想创建的目录已经存在,则报错!

    -p:如果路径中除了最后一个目录之外还有其它的目录也不存在,则自动创建其它目录!

      如果想创建的目录已经存在,不报错,也不会创建,相当于没执行此命令。

    -v:显示详细信息。

    -m MODE:创建目录时直接指定权限。

  tree:

    -d:只显示目录

    -L level:指定显示的层级数目

    -P pattern:只显示由指定pattern匹配到的路径;

  

  rmdir:删除空目录

    rmdir [OPTION]... DIRECTORY...

      只能删除空目录,如果有文件则会报错。

      -p:删除目标目录后,如果其父目录也为空目录,则也删除,直至非空目录停止。

   

    练习:

      (1) 如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b

      (2) 如何创建x_m, y_m, x_n, y_n

      (3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin

      

  文本文件查看类命令:

    cat, tac

    more, less, tail, head

    

    tail [OPTION]... [FILE]...

      -c #:指定获取后#字节

      -n #:指定获取后#行,可简写为-#

      -f:跟踪显示文件新追加的内容;

  文件的时间戳管理工具:

    touch

    文件:metadata, data

      查看文件状态:stat

    三个时间戳:

      access time:访问时间,简写为atime,读取文件内容

      modify time:修改时间,mtime,改变文件内容(数据)

      change time:改变时间,ctime,元数据发生改变

    touch [OPTION]... FILE...

      -a:only atime

      -m:only mtime

      -t STAMP:[[CC]YY]MMDDhhmm[.ss]

      -c:如果文件不存在,则不创建!

      

      

最新文章

  1. [转载]DBA的特质第一部分:技术
  2. HighchartsJS创建环形带标识的图表实例
  3. Windows API 文件处理
  4. 剑指offer-面试题15.链表中倒数第k个结点
  5. Javascript 递归函数
  6. Java内存分配及垃圾回收机制(未完待待续)
  7. 第一部分牛刀小试:启动GDB开始调试
  8. js学习总结:DOM节点一(选择器,节点类型)
  9. OkHttp 同步异步操作
  10. WebLogic: 内存溢出
  11. Hive三种安装模式
  12. 18,EasyNetQ-使用替代DI容器
  13. oracle查看表中否存在某字段,数据库是否存在某张表
  14. nginx 代理跨域
  15. MVC 的那点小事
  16. 连接远程linux机器时无法使用matlab gui的解决方案
  17. kubernetes API Server 权限管理实践
  18. linux下sar tool command note
  19. Poj(2560),最小生成树,Prim
  20. java身份证计算年龄

热门文章

  1. WPF中在XAML中实现数据类型转换的两种方法
  2. jquery - append prepend after before animate clearQueue stop
  3. DOM技术
  4. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
  5. 不能用notepad++编辑器编写python
  6. Testlink1.9.17使用方法(第八章 测试执行/报告BUG)
  7. Linux 源码阅读 进程管理
  8. ORACLE中Scalar subquery Caching的hash table大小测试浅析
  9. Linux CFS调度器之pick_next_task_fair选择下一个被调度的进程--Linux进程的管理与调度(二十八)
  10. c/c++ 友元的简单应用