千家信息网

【3大杂烩】history 目录结构 ls用法 查看文件状态

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,一、命令历史:命令:history 历史文件:.bahs_history说明:用户登陆之后命令都是保存在内存中,用户exit登出后,会将内存中的命令保存到.bash_history中。常用命令选项:-
千家信息网最后更新 2025年01月19日【3大杂烩】history 目录结构 ls用法 查看文件状态

一、命令历史:

命令:history 历史文件:.bahs_history

说明:用户登陆之后命令都是保存在内存中,用户exit登出后,会将内存中的命令保存到.bash_history中。

常用命令选项:

-c:清除内存中的所有历史命令

-d:删除指定编号为#的命令

#:显示最近的#条命令

-s:创建一个不执行的命令到历史列表中去(假的)

-a:将历史列表中的命令历史读取到历史文件中(追加新增加的命令)

-n:将历史文件中的命令读取到历史列表中(只读取新增加的)

-r:读历史文件中的命令到历史列表中去(读取所有的,因此可能会出现重复的)

-w:读取列表中的命令到历史文件中去(读取所有的,因此可能会出现重复的)

常用变量及选项:

HISTSIZE:定义历史列表中可以保存的变量的总数,默认为1000

HISTFILESIZE:定义历史文件中的可以保存的变量的总数,默认为1000

HISTCONTROL:ignoredups忽略重复的命令(连着两条一样的),默认值

ignorespace忽略开头为空格的命令

ignoreboth 包括上述两个选项

erasedups 忽略重复的命令

HISTTIMEFORMAT="%F %T":显示命令的执行时间。

HISTIGNORE:忽略命令到命令历史中去

上述帮助的获取方法:man bash -> /HISTCONTROL

获取历史命令:

!!:获取上一条命令

!# :获取第#条命令

!char:获取最近一条以char开头的命令

!?go:获取最近一条包含go字符的命令

ctrl+r:搜索历史命令,匹配最近的

获取历史命令参数:

!^:获取上一条命令的第一个参数

!$:获取上一条命令的最后一个参数

!:#:获取上一条命令中的第#个参数

!#:*:获取第#条命令中的所有参数

!#:^:获取第#条命令中的第一个参数

!char:^:获取以char开头命令的第一个参数

!char:$:获取以cahr开头命令的最后一个参数

注意:HIST*这些参数如果只是在命令行中则是临时生效,重启后会失效,也可以写到.bash_profile文件中(仅对某一用户有效),默认是写在/etc/profile中(全局有效),由此可以看出个人的优先级高于全局的。


二、文件系统及目录结构

文件系统名称不区分大小写(vfat系统除外)

文件有两类数据:

元数据:metadate inode 权限、大小、属主、属组、时间等信息。

数据:date block 文件中的内容

根据颜色识别:

蓝色:目录文件

绿色:可执行的文件

红色:压缩文件

浅蓝色:链接文件

粉色:套接字文件

灰色:其他文件

文件系统结构:

/boot:放置引导程序,内核文件

/etc:放置配置文件

/bin:普通用户执行的二进制文件

/dev:放置设备文件

block:块设备,随机执行,有缓存

char:字符设备 顺序执行 无缓存

/home:家目录

/sbin:管理员执行的二进制文件

/local/sbin:第三方安装的软件

/tmp:临时文件

/usr:一般共享的只读文件

/bin:给某一用户提供可执行的二进制文件

/share:结构化独立的数据,如man 、doc等

/var:频繁发生变化的文件

cache:应用程序缓存数据目录

lib:应用程序状态信息数据

log:日志文件

run:运行中的进程相关数据,常用语存数进程pid文件

/mnt:临时挂载文件

/media:挂载点,常用于挂载光盘

/proc:用于输出内核信息与进程信息相关的虚拟文件系统

/sys:用于输出当前系统的硬件设备相信息虚拟文件系统

/selinux:相关安全策略等信息的存放位置

绝对路径:以根目录开始,顺序查到文件路径

相对路径:不以根目录开始,以当前目录开始查到到文件的路径。

cd ..进去上一个路径

cd - 返回以前的路径

cd - 进入你的家目录

三、ls的用法:

-A:不显示"."和 ".."文件

-a:显示所有文件

-d:显示目录本身

-l:长格式显示,显示元数据

-h:以人类易看懂的方式显示

-1:将所有文件放到1行里显示

-S:按照从大到小的顺序显示

-Sr:按照从大到小的顺序显示

--time=atime:不显示修改时间,显示访问时间

-utl:根据时间按照从新到旧的顺序显示 根据atime排序

-ctl:根据时间按照从新到旧的顺序显示 根据ctime排序

-U:不排序,按文件存放顺序显示


四、查看文件状态

命令:stat file

atime:访问时间 ->读时间

mtime::修改时间 ->内容改变 ll 显示的是修改时间mtime

ctime:改变时间->指的是元数据改变(权限 名字 属组主等)

要修改不一定必须访问 echo xxx >> f1 修改了内容没有访问

锁定文件时间:chattr +A file 文件时间不会改变了

cat 不会改变atime 如果atime已经是一天以上了 会改变,如果atime比mtime时间要老也会变


作业:

只显示某目录下隐藏文件

ls -ad .*

只显示某目录下目录列表

ll -ad */





0