19 Star 186 Fork 90

baoke / Linux学完就忘系列

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
05.Linux系统上的文件类型和历史命令.md 3.81 KB
一键复制 编辑 原始数据 按行查看 历史

Linux系统上的文件类型


-: 常规文件;注:其他程序中常规文件用f来表示,ll命令会用-来表示
d: dirctory,目录文件
b: block device,块设备文件,支持以"block"为单位进行随机访问
c: character device,字符设备文件,支持以"character"为单位进行线性访问

major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序
minor number:次设备号,用于标识同一类型中的不同的设备
l:symobolic link,符号链接文件(相当于windows上的快捷方式),也交软链接soft link
p:pipe,命名管道
s:socket,套接字文件;主要用于服务的提供

基本命令

命令类型: 外部命令
shell的内嵌命令
注shell本身是外部命令,它自带了很多命令,如pwd等;所以内嵌命令其实应该叫shell的内嵌命令

命令别名:
命令可以有别名;别名可以与原名相同,此时原名被隐藏;
此时如果要运行原命令,则使用\COMMAND
上图可以看出,\ls使用运行原命令,列出的文件列表是没有颜色的

获取所有可用别名的定义:

alias

定义别名 alias NAME='COMMAND':

#注意:定义别名仅对当前shell进程有效
alias cls=clear

撤销别名 unalias NAME:

unalias cls

which命令

用于显示命令的完整路径
[OPTSIONS]
--skip-alias 用于忽略别名显示

which ls
which --skip-alias ls

whereis

用于显示命令的二进制程序路径和手册路径 whereis [options] name...
-b:仅搜索二进制程序路径
-m:仅搜索使用手册文件路径

whereis ls
whereis -b ls
whereis -m ls

who命令:

查看当前谁登陆了系统
who [OPTION]...
-b:系统此次启动的时间;
-r:运行级别;

who
who -b
who -r

w命令:

增强的who命令,不光显示当前谁登陆了系统,还显示谁做了什么

bash的基础特性

history 命令历史

定制history的功能,可通过环境变量的实现
$HISTSIZE: shell进程(内存中)可保留的命令历史的条数
$HISTFILE: 持久保存命令历史的文件路径,每个用户都有自己的历史文件路径,在用户家目录的.bash_history文件中
$HISTFILESIZE: 命令历史文件的大小

命令用法:

#-c 清空shell进程(内存中)命令历史  
history -c

#-d offset:删除指定命令地址  
history -d 61

#-r:从文件读取命令历史至历史文件中  
history -r

#-w:把历史列表中的命令追加至历史文件中  
history -w

#history #:显示最近#条命令
history 10

#!#:再一次执行历史列表中的第#条命令
!1060

#!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令
#这里执行命令历史列表中最近一个以m开头的命令
!m

#再一次执行上一次命令
!!

技巧:调用上一条命令的最后一次参数

快捷键 ESC+.
!$ 代表上一个命令最后一个参数

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

环境变量:$HISTCONTROL

echo $HISTCONTROL

ignoredups:忽略重复命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效

#设置使用以上其中一种方式来控制历史记录
HISTCONTROL=ignoreboth
Shell
1
https://gitee.com/abcd1234567_1/linux.git
git@gitee.com:abcd1234567_1/linux.git
abcd1234567_1
linux
Linux学完就忘系列
master

搜索帮助