目录文件篇

简介: 目录文件篇

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的文件名。


相关文章
|
5月前
|
Python
获取文件夹文件
这是一个使用Python 3.10+的简单程序,依赖`NStudyPy`库,通过`PyFile.get_file_list()`函数获取指定文件夹及其子目录(可选)中的文件列表。核心函数`get_file_list()`接受路径和一个布尔值,决定是否递归搜索。如果路径不存在或不是目录,会抛出错误。返回值是包含所有文件路径的列表。
48 1
读取指定文件夹下面的所有文件(含子目录)
读取指定文件夹下面的所有文件(含子目录)
48 0
Mardown中添加文章目录
Mardown中添加文章目录
126 0
Mardown中添加文章目录
获取目录下的文件及文件夹等信息
获取目录下的文件及文件夹等信息
111 0
C#编程-116:获取指定目录下的所有文件及文件夹
C#编程-116:获取指定目录下的所有文件及文件夹
596 0
|
Java 容器 Spring
目录
记录Java的学习轨迹. 工程化专题 (一)Java工程化--Maven基础 (二)Java工程化--Maven实践 (三)Java工程化--Git起步 (四)Java工程化--Git基础 (五)Java工程化--Jenkins 设计模式 设计模式一: 单例模式(Singleton) 设计模式二: ...
1490 0
将文件夹下的一级目录文件改名并移动目录
#此段代码实现将文件夹下的一级目录文件改名并移动目录 #list = os.listdir(Datadir) #列出文件夹下所有的目录与文件 #for i in range(0,len(list)): # path = os.
932 0