Linux学习笔记8—BASH基础特性
Linux系统上的文件类型:
~]# ls -l命令查看
最左侧显示的
-代表:常规文件,即f
d代表:directory,目录文件
b:block device,映射块设备文件,支持以“block”为单位进行随机访问
c:character device,字符设备文件,支持以“character”为单位进行线性访问
major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序
minor number:次设备号,用于标识同一种设备类型当中的不同设备
两个号码之间用逗号进行区分
l:symbolic link,符号链接文件,类似windows的快捷方式,也称为软链接文件,有软链接与硬链接的区别
p:pipe,命名管道
s:socket,套接字文件,两个进程实现通信时的套接字文件,类似插座的功能
基本命令:
命令类型:
1、外部命令
2、内部命令:外部命令自带了很多内部命令,shell内嵌命令
例如bash命令当中带有很多内部命令
使用type区分外部或内部命令,内部显示为builtin,外部显示为命令文件路径。命令可以有别名,别名可以与原名相同,此时原名被隐藏,此时如果要运营原命令,则使用\COMMAND
~]# type ls
ls 是 ‘ls --color=auto’的别名
获取所有可用别名的定义
~]# alias
定义别名:
~]# alias name=‘COMMAND’ 别名只对当前shell进程有效,退出进程后定义别名则失效
撤销别名:
~]# unalias name
which命令:显示命令的完整路径
~]# which which
–skip-alias:忽略别名
whereis 命令:显示文件位置,手册页
-b:只看二进制程序路径
-m:仅搜索使用手册文件路径
who命令:查看登录当前系统的用户信息
-b:系统此次的启动时间
-d:显示已死亡的进程
-l:显示登录进程
-r:显示进程运行级别
w命令:与who命令一致,不仅显示用户登录信息,还可以显示目前用户的操作内容,加强版who命令
bash的基础特性:有很多特性能够辅助完成系统管理
命令历史:shell进程会将会话中保存此前用户提交执行过的命令
~]# history
定制history的功能,可通过环境变量实现
HISTSIZE:shell进程可保留的命令历史条数
~]# echo HISTSIZE
1000
HISTFILE:持久保存命令历史的文件
.bash_history
~]# cat .bash_history
HISTFILESIZE:命令历史文件的大小
-c:清空命令历史
-d:删除指定命令历史
-r:从文件读取命令历史至内存历史列表当中
-w:把历史列表中的命令追加到历史文件中
history #:显示最近的#条命令
调用命令历史列表中的命令:
!#:再一次执行历史列表中的第#条命令
!!:再一次执行上一条命令
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
注意:命令的重复执行有时候需要依赖于幂等性
调用上一条命令的最后一个参数:
快捷键:ESC,.
字符串:!$
控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效
修改变量的值:
NAME=‘VALUE’