知识储备
1. 计算机中存储的是0101二进制数字,我们能读懂吗?显然不能。这些0101数据构成不同类型的文件,不同类型的文件用“不同的眼光”[比如ASCII文本,JPG图片]去看才有意义。
2. 操作系统并不直接管理这些文件,而是交给小弟文件系统来做这事。成千上万的文件怎么才能有条理的放在一起呢?这就靠文件系统了,最简单的就是分区,分目录来做咯。层次化、结构化是问题化简的不二之选。当我们登陆进Linux无论做任何操作其实都是在一个特定目录下,可以切来切去;
3. 有目录,就有目录路径,有2种路径划分
绝对路径:从/根目录为参考点的完整路径
相对路径:以当前目录为参考点的路径
4. 一个文件,并不单纯的是数据,严格来说文件组成部分包含这2部分
元数据:即文件的属性,比如创建时间、修改时间、文件名、文件索引等等,打开文件是看不到的
数据:你实实在在能够看到的内容本身,比如a.txt中你写的'hello world’
Pwd命令
查询你目前所在的文件目录,pwd即print working directory
Usage:
pwd [-LP]
常用选项:
#pwd -L 显示,逻辑地址 #pwd -P 目录是软连接,显示实际物理地址,所谓的软连接 即为symbolic link
Cd命令
切换到指定路径,如果是绝对路径-->从根目录开始依次切入,如果是相对路径-->从当前目录
Usage:
cd [-L|-P] [dir]
常用选项:
无参数,或特殊参数的情况
#cd 不指定参数,默认会切换到用户根目录, root用户为/root 其他用户为/home/user #cd ~ 同上 #cd .. 如果参数为.. 切换到当前目录上一层目录 #cd / 直接切换到根目录
-L, -R 参数
#cd -L 切换到逻辑地址 #cd -R 目录是软连接,切换到实际物理地址
Ls命令
列出目录内容,通常可以配合各种选项实现增强内容显示
Usage:
ls [OPTION]... [FILE]... 默认为当前目录,切按字母顺序排序
常用选项
#ls -a 显示当前目录下所有文件,包含隐藏文件[.开头的文件],包含.和.. #ls -A 不显示.和.. 分别为 当前目录 和 上层目录 #ls -d 显示目录自身属性 #ls -i 人类以文件名标识文件,计算机用“i-node,index-node”来标识,是一个数字 #ls -l 详细显示,具体表现为一行一行显示,显示文件权限、归属者、时间、大小等 #ls -r 逆序显示文件,正常情况下字母顺序排序 #ls -R 递归显示,默认只显示一层目录,-R遍历所有 #ls --block-size=k 以k为单位显示文件大小,还可以指定为M,G等等
Stat命令
显示文件或文件系统的状态
Usage:
stat [OPTION]... FILE...
常用选项:
-L,--dereference 跟随链接文件
#stat -L /etc/Rc5.d 如果目标是链接文件,那么跟随链接,就是找到源头,等价于--dereference #stat --derefernce /etc/Rc5.d
-f,--file-system 显示文件系统状态非文件状态
#stat -f 显示文件系统状态而非文件状态 #stat --file-system
-c,--format=格式,--printf=格式 按照指定的格式渲染之后输出
#stat -c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行 #stat -c --printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作,输出结尾。 如果您仍希望使用换行,可以在格式中加入"\n" 请注意可以用= 也可以不用,用空格隔开,也可以加‘%a’ 规定了一系列可输出的格式,如输入文件名、文件权限等等,基本都是文件的属性 参照--->
Echo命令
通过type echo可以看到,echo是Bash的内建命令,但是很多Bash解释器都会内建该命令!
Echo可以显示一行文本,准确来说在文本打印到标准输出上
Usage:
echo [SHORT-OPTION]... [STRING]... echo LONG-OPTION
常用选项:
基本参数
#echo -n 不输出行尾的换行符. #echo -e 允许对下面列出的加反斜线转义的字符进行解释. #echo -E 禁止对在STRINGs中的那些序列进行解释.
特殊情况,在没有 -E 的情况下,可承认并可以内置替换以下序列:
\NNN 字符的ASCII代码为NNN(八进制) \\ 反斜线 \a 报警符(BEL) \b 退格符 \c 禁止尾随的换行符 \f 换页符 \n 换行符 \r 回车符 \t 水平制表符 \v 纵向制表符