Linux文件系统的结构类似一棵树,是从一个树根生长出来的。树根叫做/。从树根长出很多分叉,就这么一直生长下去。我们使用Linux操作系统的时候总是落在某个分叉上。ls命令可以帮助我们查看当前分叉上所有文件和子分叉。pwd命令可以帮助我们了解从树根到当前分叉的整个路径。
/*注释*/
就是说Linux的文件系统是采用数据结构中树的形式存储的
pwd命令返回的结果如下:
/home/soft01
其中最开始的/表示整颗书的根,也就是这个文件系统的源头。home表示根上长出来的一个分叉,soft01则是home分叉上长出来的一个更小的分叉。不同分叉之间使用/分隔。
/*注释*/
pwd命令 pwd显示当前路径...显示的路径是绝对路径...从根目录到当前位置的路径
clear命令可以用来清除屏幕上的所有内容。
/*注释*/
clear命令,清屏命令,清屏还是可以恢复的,用滚动鼠标中间就可以看到清屏前的屏幕。要是不想看到情况,可以使用菜单栏->终端(T)->复位并清屏
文件系统中各个分叉之间是有关系的,假设分叉A上长出了分叉B,则我们说分叉A是父分叉,分叉B是子分叉。如果我们在分叉B上想跳跃到分叉A上则采用命令:
cd ..
如果我们想在分叉A上跳跃到分叉B上则可以使用如下命令:
cd B
采用cd命令还可以跳跃到非常远的一个另外的分叉上,这个时候就应该在cd命令后边写上目标分叉的绝对位置(也就是从根目录开始的完整路径),例如:
cd /etc
/*注释*/
cd命令 通俗说法,就是目录切换,从一个目录跳转到另一个目录中。
命令格式是: cd 要跳转的目标路径
这个要跳转的目标路径可以是相对路径,也可以是绝对路径,有两点需要说明
. 代表当前目录
.. 代表上层目录
当要跳转到当前目录的子目录下是,可以直接cd 子目录
如果想在当前所在分叉上建立新的分叉可以使用命令mkdir,这个命令后边跟着新分叉的名字就可以了,例如:
mkdir StardardC
其中 mkdir是命令,StardardC 是新分叉的名称
/*注释*/
当然想要在指定目录下建立一个目录,只需要将你所要新建的文件用相对或者绝对路径表示出来,并替换StardardC即可,例如:
mkdir ../StardardC
//意思是在当前目录的上层目录新建一个StardardC的目录,绝对路径方法类似
*错误声明:StardardC应该是StandardC 意思是标准C
只是这里只是简单的介绍一下mkdir命令
rmdir
命令可以用于删除一个已经存在的分叉,前提条件是这个分叉里边什么都没有。
/*注释*/
命令格式同mkdir
chmod命令可以修改一个文件的属性(权限),命令格式如下:
chmod 755 create.sh
其中chmod是命令名称,755是修改后的属性值,create.sh是要修改属性的文件名称。755表示这个文件是一个可以运行的文件,而644就表示文件是不可以运行的。
/*注释*/
其中755用来描述文件的属性值,Linux系统中的文件都可以
7 5 5
1 2 3
其中第一个数字 7 代表文件拥有者对该文件的权限
其中第二个数字 5 代表文件拥有者所在组的其他人对该文件的权限
其中地三个数字 5 代表其他人对该文件的权限
这3个数字用二进制表示成如下:(其中每一位对应的权限也已经给出)
7 5 5
111 101 101
rwx rwx rwx
//r ->读权限 w -> 写权限 x -> 执行权限
最常用的两组权限数字组是 755 644
6 4 4
110 100 100
rwx rwx rwx
手工编写并可以运行的文件叫做脚本文件,可以使用脚本文件实现一些大量反复要做的工作。脚本文件必须使用chmod命令设置成可以运行,否则不能使用。在LINUX系统中运行当前位置上的文件要使用如下的方式:
./文件名
/*注释*/将文件名替换成带有路径的可运行文件,就可以运行指定位置上的文件了
chmod 755 create.sh
./create.sh
shell脚本 执行批量命令时,可以将要执行的命令输入到一个文件中,然后运行
使用cp命令可以完成文件的复制粘贴工作,cp命令的例子如下:
cp <要复制的已经存在的文件> <目标位置>
//复制粘贴
cp命令同样可以把当前位置上的一个文件复制成另一个名字
cp <要复制的已经存在的文件> <要保存的名字> 例如://重命名
cp create.sh build.sh
其中
create.sh表示当前位置上一个已经存在的文件,build.sh表示要复制生成的新文件的名字。
使用mv命令可以实现文件的剪切功能,mv命令如下:
mv <原文件名> <新文件名>
这个命令执行完成后原文件被替换成了新文件
//如上命令同样可以实现文件的重命名,当是两个带有不同路径的文件是,就实现了剪切操作
mv <要移动的文件名> <目标位置>
touch命令可以用于在当前文件目录创建一个新的空文件,命令如下
touch 文件名
命令执行完成后新文件就出现了。
rm命令可以删除一个现有文件,命令如下:
rm 文件名
命令执行后文件消失
//注释:rm
//同样也可以用来删除目录,当要删除的目录非空是,可使用rm命令删除该目录,命令如下:(其实空目录也可以用rm来删除)
rm -r 要删除的非空目录名
echo 命令可以用于把后边的所有文字内容再次展示在屏幕上。例如
echo hello world
这个命令的执行结果是
hello world
这样的命令单独使用没有什么意义,但是和其他的命令结合在一起就可以实现非常复杂的效果
在linux操作系统里可以使用输出重定向把本应该出现在屏幕上的内容转而输出到文件中。使用方法是在任何命令后边加上大于号(>)然后在跟上一个文件名,这样这个命令本应该显示在屏幕上的内容就出现在文本中了。
例如
echo mkdir day01 > create.sh
这个命令执行结果就会在文件create.sh中记录如下一行内容mkdir day01
在使用输出重定向的时候一个大于号(>)会导致文件内容被清除,所以采用这种方式永远只能在文件中记录最后一次命令的输出结果。为了能在文件中记录多次命令的记过我们就需要采用两个大于好的重定向方法,例如
echo mkdir day01 > create.sh
echo mkdir day02 >> create.sh
上面个这两条命令会在文件create.sh中记录如下内容
mkdir day01
mkdir day02
tab只能输入快捷补全
通配符是Linux系统提供的一个辅助工具,他们用于在命令中描述一个名字格式。所有符合名字格式描述的名字都应该被使用命令进行操作。它可以代替一些其他的字符,通配符有如下几个
? : 这个通配符可以替代某个单一的字符,也就是说在使用了这个通配符的地方无论出现什么字符都符合描述
* : 这个通配符可以替代任意多个字符
[] :
这个通配符的作用非常广泛,能力非常强大。我们只学习非常简单的一种,就是使用它描述某个范围内的单一字符。例如:[3-7]就表示3,4,5,6,7这五个字符中的一个。
[] 还可表达--> 通用表达式
cat more less head tail
cat 命令可以用来查看一个文件的内容,命令如下:
cat create.sh
这个命令就会把文件create.sh中的所有内容展示在屏幕上。
使用cat命令查看文件内容之适合于小文件,因为cat命令会一下把文件的所有内容都展示在屏幕上,如果有很多行则前边行的内容是看不见的。如果要想查看达文件需要使用more命令,这个命令会主页显示文件内容,用回车键翻页。如果不想继续查看了,可以使用q退出。
有些文件最重要的内容都在最开始的几行,查看这种文件的时候可以使用head命令。缺省情况下head命令把文件中前10行内容展示在屏幕上,我们也可以在命令中指定要展示机行内容,例如:
head create.sh
head -3 create.sh
其中-3 表示只查看前3行
在Linux系统中有些文件是不断扩展的,最新的内容都在最后机行,如果我们只想查看最新的内容就可以使用tail命令。缺省情况下tail命令会把最后10行内容展示在屏幕上,我们也可以指定想展示的行书。例如
tail create.sh
tail -3 create.sh
其中 -3表示之展示3行
当我们希望在系统中查找某个名字的是偶可以使用find命令。find命令的功能很强大,我们只介绍最简单的一个。例子如下:
find . -name day03
上面的命令中find是命令名字, .表示从当前位置开始查找, -name day03
和起来表示查找叫做day03这个名字的所有东西。
find不可以依据文件内容来查找文件,也就是说它在查找中,不会打开文件
grep可以给予文件内容精细查找。这个命令功能也很复杂,而且有很多类似的命令,我们之介绍最简单的一种。使用grep命令可以把某个文件中包含某些内容的行摘取出来,例如:
grep 09 create.sh
这个命令可以把文件create.sh中所有包含09内容的行展示在屏幕上。
连接
在linux操作系统中可以为文件建立连接文件,连接文件可以作为原文件的代表但是它所站有的存储空间却非常小。连接文件分为软连接和硬连接两种。软连接文件是原文件的影子,原文件一旦消失则软连接文件就没法用了。硬连接文件和原文件完全平等,它们只是共用一块存储位置而已。
ln create.sh build.sh
其中create.sh是已经存在的文件而build.sh是新建立的硬连接文件的名字。
可以使用如下命令建立软连接文件:
ln -s create.sh build.sh
相对于上一个命令只是多了一个-s,这样建立起来的连接文件就是软连接文件。
管道
Linux系统提供了管道功能,这个功能可以把两个完全无关的命令连接起来,让一个命令的输出作为另一个命令的输入。采用这种凡是可以实现非常复杂的效果。例子如下
ls | more
上面这条命令中把ls命令输出的结果作为more命令的输入信息使用,这样我们就可以在屏幕上逐行查看ls命令的结果了。