Linux系统上的文件类型(基于文件系统视角)
ll命令列表中,首位
- -:常规文件,即其它程序中的f
- d:目录文件
- b:块设备,block device,支持以“block”为单位进行随机访问
- c:字符设备,character device,支持以“character”为单位进行线性访问
dev设备中,在标识文件大小的位置会显示两组数字
- major number:左起第一组数字,主设备号,用于标识设备类型,进而确定需要加载的驱动程序
- minor number:后一组数字,次设备号,用于标识同一类型中的不同设备
- l:symbolic link,符号链接文件或软链接文件
- p:pipe,命名管道
- s:socket,套接字文件
基本命令
命令类型:
分为外部命令和内部命令,用~]# type COMMAND命令查看,内部命令为builtincommand;外部命令显示为命令文件路径
注意:命令可以有别名,别名可以与原名相同,此时原名被隐藏(如:用~]# type ls 查看命令类型时显示ls是‘ls --color=auto’的别名),如果要运行原命令则使用\COMMAND,如:~]# \ls。
命令别名
通过~]# alias 查看本机上被定义了别名的命令
定义别名
~]# alias NAME='COMMAND' ,仅对当前shell进程有效
撤销别名
~]# unalias NAME
which命令:
-shows the full path of (shell) commands
显示命令别名和完整路径
~]# which [options] programname[---]
--skip-alias:忽略别名
whereis命令:
-locate the binary,source,and manual page files for a command
一个命令的本地二进制程序,源文件和参考手册文件的路径
- -b:仅搜索二进制程序路径
- -m:仅搜索参考手册文件路径
who命令
-show who is logged on
~]# who [OPTION]…
- -b 显示系统本次的启动时间
- -d
- -l
- -u
- -r 运行级别
w命令
-show who is logged and what they are doing
显示当前登陆用户的活动(包括用户名、终端、IP地址、登陆时间、空闲时间、JCPU、PCPU、当前运行命令)
*JCPU指的是与该tty终端连接的所由进程占用的时间,不包括过去的后台作业时间;PCPU 指的是当前进程(即w项中显示的)所占用的时间。
bash的基础特性
命令历史
shell进程会在其会话中保留此前用户提交执行过的命令,用~]# history命令查询。
定制history的功能,可通过环境变量实现。
- HISTSIZE:shell进程可保留命令历史的数量
- HISTFILE:持久保存命令历史的记录,.bash_history,每个用户都有自己独立的.bash_history文件
- HISTFILESIZH:历史记录的数量,当达到最大记录数时,最先保存的记录将被新的记录挤掉
命令用法:
~]# history [选项][偏移量][n]
或
~]# history -anrw [文件名]
或
~]# history -ps 参数[参数]
- -c 清空历史记录
- -d offset 删除指定编号的命令历史记录
- -r 读取.bash_history供调用
- -w 把历史记录追加到.bash_history中
- ~]# history [n]:显示最近的n条命令的历史记录
调用命令历史记录中的命令:
![n]:执行历史记录中的第[n]条命令;
!!:执行上一条命令;
![STRING]:执行命令历史记录中最近一个以[STRING]开头的命令
注意:命令的重复执行有时候需要依赖于冪等性,即重复使用不会有错误提示或造成一定影响
调用上一条命令的最后一个参数:
快捷键:**ESC → . **
字符串:!$
控制命令历史记录的方式
环境变量:HISTCNTROL
- ignoredups:忽略重复的命令
- ignorespace:忽略以空白字符开头的命令
- ignoreboth:具有有以上两种功能
修改变量的值:
NAME='VALUE'
网友评论