根文件系统基础

       根文件系统基础介绍

  1. 程序编译方式:

        动态编译:在程序编译需要时调用库文件,移到别的系统上程序无法执行,具有依赖性;

        静态编译:在程序编译时复制需要的库文件,可移动,

 进程的类型:

   与终端相关:就是通过终端启动的

   与终端无关:操作引导自己运行启动

操作系统的组成:

 静态:kernel ,application

 

文件系统:FHS(Filesystem Hierarchy Standard) 层次结构


从 / 开始,/下面的是一级目录,然后其他分区关联在/ 下面的的目录是二级目录;

构成了一个从/开始的目录树;

 /bin:所有用户可用的基本程序文件

 /sbin:管理员使用的的工具程序

 /boot:引导启动加载文件

 /dev:设备文件及特殊文件

     b:块设备 随机(硬盘)

     c:字符设备 线性,有时序的 (键盘)

 /etc:主机特有的配置文件

 /home:用户的家目录

 /lib:基本的共享库和内核模块

   libc.so.*:动态链接的c库

   ld*:运行时链接器

   modules:用于存放内核模块的目录

 /lib64:64位系统特有的存放64位共享的路径

 /media:便携式挂载点,cdrom,floppy

 /mnt:其他文件系统的临时挂载点

 /opt:附加应用程序的安装位置:可选路径;

 /srv:为服务提供的数据;

 /tmp:临时文件存放

 /usr:全局共享的只读数据路径:

   bin ,sbin

   lib ,lib64

   include:c程序头文件:

   share:命令手册和自带文档等架构特有的文件的储存位置

   locale:另一个层级目录:

   X11r6:x-Windows程序的安装位置

   src:程序源码文件的储存位置

 /usr/local:让系统管理员安装本地应用程序:或第三方的程序、

 /var:可变化的文件如日志

 /proc:虚拟文件系统信息,为内核和进程存储相关信息:多为内核参数。

 /sys:比proc更为理想的访问内核数据的途径;主要作用为管理Linux设备提供一种统一模型的接口;

   

2.Linux系统上的文件类型:

  ls命令可以查看

 -(f):常规文件

 d:目录文件

 b:块设备,以块为单位,进行的随机访问

 c:字符设备,线性,有时序的

   major:主设备号,表示设备类型

   number次设备号;同类型设备的不同个设备

 l:符号链接文件,类似Windows的快捷方式,软链接文件

 p:命名管道文件

 s:套接字文件;(TT?)


3.基本命令:

 命令类型:

    外部命令

    内部命令

  type COMMAND:查看命令是内还是外

   内部:是builtin

   外部:显示文件路径或者显示它的命令别名

  想运行原命令可使用\command,

命令别名: 

 ~]#alias 查看当前系统上的命令的别名的

定义命令别名:

  ~]#alias name=command 

作用范围是当前登录的shell


撤消:~]#unalias name

which 命令:

  显示命令的完整路径

which  [options] progranmname

  --skip-alias:忽略别名

whereis命令:

 显示手册页、二进制、

whereis [options] name

 -b:仅搜二进制程序路径

 -m:仅显示手册页

who命令: 

  查看当前谁在登录

 -b:系统此次启动的时间

  -r:运行级别

w命令:

  类似于who命令


4.bash的基本特性:

命令历史:shell进程会在其会话中保存提交执行过的命令

~]#history 查看执行过的命令

[root@localhost ~]# echo $HISTSIZE

1000  可保存命令历史的条数

.bash_history 保存的历史文件

[root@localhost ~]# echo $HISTFILESIZE

1000   命令历史文件大小


history:

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg 

[arg...]    Display or manipulate the history list.

      -cclear the history list by deleting all of the entries

            删除所有条目从而清空历史列表

      -d offsetdelete the history entry at offset OFFSET.

         偏移量  从指定位置删除历史列表

      -aappend history lines from this session to the history file

          将当前绘画的历史行追加到历史文件中

      -nread all history lines not already read from the history file

          从历史文件中读取所有未被读取的行

      -rread the history file and append the contents to the history

    list   读取历史文件并将内容追加到历史列表中

      -wwrite the current history to the history file

    and append them to the history list

        将当前历史写入到历史文件中并追加到历史列表中

      -pperform history expansion on each ARG and display the result

    without storing it in the history list

          对每一个ARG参数展开历史,显示结果,不储存历史列表中

      -sappend the ARGs to the history list as a single entry

           以单条记录追加ARG到历史列表中

调用历史列表中的命令

[root@localhost ~]# !2   再一次执行命令历史列表中的第2条命令

[root@localhost ~]# !!    在一次执行上一次命令

[root@localhost ~]# !he   执行历史列表中最近一次以he开头的命令

[root@localhost ~]# !?he  执行历史列表中最近一次含有he字符的命令

重复前一个命令,几种方法:

重复前一个命令使用上方向键,并回车执行。

按!! 并回车执行。

输入!-1 并回车执行。

按Ctrl+p 并回车执行。


调用历史参数

COMMAND !^:利用上一个命令的第一个参数

COMMAND !$:利用上一个命令的最后一个参数

COMMAND !*:利用上一个命令的全部参数

COMMAND !:n  :利用上一个命令的第n个参数


command !n:^ 调用第n条命令的第一个参数

command !n:$ 调用第n条命令的最后一个参数

command !n:m 调用第n条命令的第m个参数

command !n:* 调用第n条命令的所有参数


命令历史相关环节变量

  显示时间

  951  2016-07-28 15:59:09    histroy

  952  2016-07-28 15:59:15    history

  953  2016-07-28 16:14:10    HISTTIMEFORMAT=“%F %T  ”

  

[root@localhost ~]# HISTCONTROL=ignoredups

[root@localhost ~]# echo $HISTCONTROL

ignoredups      忽略重复的命令;连续且相同的命令


[root@localhost ~]# HISTCONTROL=ignorespace

[root@localhost ~]# echo $HISTCONTROL

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


[root@localhost ~]# HISTCONTROL=ignoreboth

[root@localhost ~]# echo $HISTCONTROL

ignoreboth      是,ignoredups,ignorespace


[root@localhost ~]# HISTCONTROL=erasedups

[root@localhost ~]# echo $HISTCONTROL 

erasedups      删除重复命令


export 变量名="值“

存放在/etc/profile 或~/.bash_profile

 

bash的快捷键


 Ctrl+l 清屏,相当于clear命令

Ctrl+c取消命令的执行

Ctrl-a 会移动到命令行的最前面

Ctrl-e 会移动到命令行的最后面

Ctrl-u 会删除到行首

Ctrl-k 会删除到行尾

arrow ctrl-b ctrl-f会向左或向右移动一个字符

Esc-b左移一个单词

Esc-f右移一个单词


tks


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章