Linux的文件系统
采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
Linux系统主要目录含义
/bin 构建最小系统所需的命令
/boot 内核与启动文件
/dev 各种设备文件
/etc 系统软件的启动和配置文件
/home 用户的主目录
/lib c编译器库
/media可移动介质安装点
/Proc 进程的映像
/root 超级用户root的主目录
/sbin 和系统操作有关的命令
/tmp 临时文件的存放点
/usr 非系统的程序和命令
/var 系统专用的数据和配置文件
一句很经典的话是“在Linux世界里,一切皆文件”,Linux不存在所谓的c盘,d盘等,
目录和文件的建立
使用mkdir命令可以创建一个或几个目录,如命令:
mkdir work work1
当前目录下创建两个文件夹(目录)work和work1,也可以使用
mkdir –p work/work1/work2
创建多级目录。创建一个文件使用命令touch 文件名 ,创建一个test文件
touch test
删除目录和文件
rmdir命令删除目录,使用这个命令要先将这个目录下的文件和子目录全部删除,如命令删除work目录
rmdir work
使用rm命令删除文件,如删除test文件
rm test
删除test文件,也可以使用带参数命令
rm –f text.txt
不经提示直接删除文件,而命令
rm –r test
是直接递归删除test下的所有文件和目录
目录和文件的移动
目录和文件的移动以及重命名都可以使用mv命令完成,如移动test文件到home目录下
mv test home/
移动文件目录test到home目录下
mv test/ home/
上面移动文件的时候会将目标目录下的同名文件直接删除,可以通过
mv –i test home/
进行提示是否覆盖home下的test文件,mv重命名,对test重命名
mv test test1
复制文件和目录
cp命令用于复制文件和目录,
cp test home/
将test文件复制到home目录下,和mv命令一样,cp默认直接覆盖目标目录下的同名文件,可以使用
cp –i test home/
进行提示是否覆盖,
而
cp –r test/ home/
是将test目录下的所有目录以及文件都复制到另一个目录下
查看文件和目录属性
使用命令ls –l或者ll可以查看文件的属性,使用ls –ld可以查看目录的属性
文件和目录属性的一行字符串所代表的含义:
第一个字段标识文件类型d(目录),而-标识普通文件
rwxr-xrwx表示三组权限,这9个字符每三个一组,以此表示属主 属组 和其他人所具有的权限,r读权限、w写权限、x执行权限,紧跟权限后面的数字1表示文件的链接个数,root root 表示这个文件的属主 以及属组,16表示文件的大小为16个字节。后面是最后修改时间,文件所在的路径。
改变文件的所有权
使用chown命令对已经有权限的文件修改权限,例如:
chown lisi:root test
将文件test的属主设置为lisi 属组改为root,也可以单独修改属主和属组
chown lisi test
test文件的属主修改为lisi
chown :root test
test文件的属组修改为root
设置文件权限(使用八进制语法)
对于新创建的文件如何使用设置它的rwx权限,可以通过九个字符表示他的权限,每一位可以使用二进制10表示,1表示设置了 权限,0表示没有设置权限,即使用-表示。
例如rwx使用二进制表示为111,转正八进制即7。例如新创建文件test赋予属主读写执行三个权限,属组赋予读执行权限,其他赋予执行权限,即使用九位权限表示为rwxr-x- -x,对应到八进制为751,
可以使用命令
chmod 751 test
设置文件权限
输出输入重定向和管道
默认输出程序结果的地方称为标准输出(stdout),一般标准输出都是显示器,例如ls将所有的内容输出到显示器,如何将结果输出到指定的文件,使用“>”例如ls > /home/out。
将结果输出到home下的out文件中,如果没有out文件,会自动创建,“>”默认覆盖原文件的内容,可以使用"》"不覆盖,接在原文件末尾输出。
默认接受程序输入的地方成为标准输入(stdin),一般标准输入指向键盘,例如cat命令,会等待从标准输入内容,然后使用ctrl+D结束输入,可以使用”<”让程序从一个文件获取输入,例如cat < test表示将文件test作为输入传递给cat命令,cat命令读取test中的每一行。
管道“|”将重定向又向前推进了一步,通过一根竖线”|”将一条命令的输出连接到另一条命令的输入,例如ls | grep ay,ls首先列出当前目录的所有文名,管道“|”接受到这些输入并把他们发送给grep命令作为输入,grep从中查找包含ay的文件名。