知识储备


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                        纵向制表符