Linux学习笔记9—BASH基础特性文件查看及管理

Linux学习笔记9—BASH基础特性文件查看及管理
回顾:
FHS、命令及bash命令历史
FHS:
/bin, /sbin, /lib, /lib64, /etc
/home, /root
/boot
/media, /mnt
/proc, /sys
/tmp
/srv
/opt
/dev
/usr
bin, sbin, lib, lib64, share, local, include
/var
cache, lib, log,缓存,状态数据,日志
命令:
which, whereis, who, w, alias, unalias
命令历史:history
Linux文件类型:-,d,b,c,l,p,s

bash基础特性:
命令补全:
shell程序在接收到用户执行命令的请求时,会分析完成后,最左侧的字符串会被当做命令。随后,shell会在内部命令查找是否有符合的命令

命令查找机制:
首先查找内部命令
根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名

文件补全:
给定的打头字符串如果能唯一标识某命令程序文件,则直接补全,如果不能唯一标识某命令程序文件,再单击tab键,会给出列表

路径补全:
在给定的起始路径下补全(此处与文件补全不同,文件补全主要判断PATH环境变量,路径补全主要判断起始路径),以对应路径下的打头字符串来逐一匹配起始路径下的每个文件,如果能唯一标识,则直接补全,如果不能唯一标识,则再单击tab键,给出列表

目录管理类命令:
mkdir, rmdir

mkdir:make directory
~]# mkdir /tmp/x/y/z:最终是创建文件z
注意:路径基名为命令的作用对象,基名之前的路径必须得存在

-p:依次创建不存在的目录,自动创建父目录
-v:verbose,显示详细过程
~]# mkdir -p /m/n/p
-m MODE:创建目录时,直接设定权限,否则则为默认权限

rmdir:remove empty directory
注意:rmdir仅用于删除空目录
-p:删除某空目录后,如果其父目录为空,则一并删除之
-v:verbose,显示详细过程
~]# rmdir -p /tmp/m/n/p

问题1:如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b
问题2:如何创建a_c, a_d, b_c, b_d

bash基础特性之:命令行自动展开
~:自动展开为用户的家用户,或指定的用户的家目录
{}:可承载一个以逗号分割的路径列表,并将其展开为多个路径
/tmp/{a,b} 相当于 /tmp/a , /tmp/b

~]# mkdir -pv /tmp/x/{y1/{a,b},y2}
~]# mkdir -v {a,b}_{c,d}

问题3:创建如下目录结构
/tmp/mysysroot/
bin
sbin
etc
sysconfig
network-scripts
usr
bin
lib
lib64
local
bin
sbin
etc
lib
lib
lib64
var
cache
log
run
~]# mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,lib,lib64,local/{bin,sbin,etc,lib},lib,lib64}.var/{cache,log,run}}

tree命令:
-L level:指定要显示的层级,如果不指定会显示文件的所有层级
-l:符号连接相关

bash的基础特性:命令执行状态结果
命令执行的状态结果,代表反馈命令执行成功或失败,或者命令本身不存在等状态
bash通过状态返回值来输出此结果
~]# echo $?
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊性变量 $? 中
命令正常执行时,有的还会有命令返回值,根据命令及其功能不同,结果各不相同
例如:
~]# ls /var 命令返回值,与echo $?状态返回值注意区分

引用命令的执行结果
$(COMMAND) 或 反向单引号 $COMMAND
~]# date +%H-%M-%S
~]# mkdir $(date +%H-%M-%S) 引用date命令的执行结果创建一个文件

bash的基本特性:引用
强引用:单引号‘ ’,不会进行变量替换
弱引用:双引号“ ” ,会进行变量替换
命令引用:反向单引号 或 ( ),建议不要使用反向引用,使用小括号

bash的基本特性:快捷键
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符
Ctrl+k:删除光标所在处至行尾的所有字符
Ctrl+l:相当于clear,清楚屏幕内容

文件查看类命令:cat, tac, head, tail, more, less
more/less:分屏查看命令
more命令:翻屏至文件尾部后自动退出
less命令:
head命令:查看文件的前n行
tail命令:查看文件的后n行
-n #
-#
-f:查看文件尾部内容结束后不退出,跟随显示新增的行,直至使用Ctrl+c终止,人工监控日志增长时,此命令十分有用
stat命令:显示文件或文件系统的状态
文件:每一个文件都由两类数据组成,元数据与数据
元数据:metadata,描述属性值,大小,时间戳等信息(类似书的目录)
数据:data,数据本身
时间戳:
最近访问access time:2015-12-10,使用cat命令后再用stat查看,访问时间改变
最近更改modify time:2015-12-10,打开文件新增一行
最近改动change time:2-15-12-10,将文件的名称,大小进行更改
第四个时间,创建时间,CentOS7后添加
更改与改动的区别:更改是数据改变,改动是元数据改变,只要数据改变,元数据一定会改变

touch命令:
修改文件的时间戳
-c:指定文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
change time时间属性不能通过参数来单独修改
-t STAMP [[CC]YY]MMDDhhmm[.ss]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值