根文件系统基础介绍
程序编译方式:
动态编译:在程序编译需要时调用库文件,移到别的系统上程序无法执行,具有依赖性;
静态编译:在程序编译时复制需要的库文件,可移动,
进程的类型:
与终端相关:就是通过终端启动的
与终端无关:操作引导自己运行启动
操作系统的组成:
静态: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