Linux基本命令-02(文件操作)

简介: Linux基本命令-02(文件操作)

1,Linux的文件系统

(1)Ext:Linux 中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用。

(2)Ext2:是 Ext 文件系统的升级版本,Red Hat Linux 7.2 版本以前的系统默认都是 Ext2 文件系统。于 1993 年发布,支持最大 16TB 的分区和最大 2TB 的文件(1TB=1024GB=1024x1024KB)。

(3)Ext3:是 Ext2 文件系统的升级版本,最大的区别就是带日志功能,以便在系统突然停止时提高文件系统的可靠性。支持最大 16TB 的分区和最大 2TB 的文件。

(4)Ext4:是 Ext3 文件系统的升级版。Ext4 在性能、伸缩性和可靠性方面进行了大量改进。Ext4 的变化可以说是翻天覆地的,比如向下兼容 Ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS 6.3 的默认文件系统。

(5)xfs:被业界称为最先进、最具有可升级性的文件系统技术,由 SGI 公司设计,目前最新的 CentOS 7 版本默认使用的就是此文件系统。

(6)swap:swap 是 Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB。它是 Linux 的必需分区。

(7)NFS:NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源。

(8)iso9660:光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统。

(9)fat:就是 Windows 下的 fatl6 文件系统,在 Linux 中识别为 fat。

(10)vfat:就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件。

(11)NTFS:就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件。

(12)ufs:Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统。

(13)proc:Linux 中基于内存的虚拟文件系统,用来管理内存存储目录 /proc。

(14)sysfs:和 proc —样,也是基于内存的虚拟文件系统,用来管理内存存储目录 /sysfs。

(15)tmpfs:一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区。

2,Linux的文件类型

(1)普通文件(-)

类似mp4、pdf、html这样应用层面上的文件类型都属于普通文件;Linux用户可以根据访问权限对普通文件进行查看、更改和删除。

(2)目录文件(d,directory file)

目录文件对于用惯Windows的用户来说不太容易理解,目录也是文件的一种;目录文件包含了各自目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件,只要有访问权限,你就可以随意访问这些目录下的文件(普通文件的执行权限就是目录文件的访问权限),但是只有内核的进程能够修改它们;虽然不能修改,但是我们能够通过vim去查看目录文件的内容。

(3)符号链接(l,symbolic link)

这种类型的文件类似Windows中的快捷方式,是指向另一个文件的间接指针,也就是我们常说的软链接

(4)块设备文件(b,block)和字符设备文件(c,char)

这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到;比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件;系统中的所有设备要么是块设备文件,要么是字符设备文件。

(5)FIFO(p,pipe)

管道文件主要用于进程间通讯。比如使用mkfifo命令可以创建一个FIFO文件,启用一个进程A从FIFO文件里读数据,启动进程B往FIFO里写数据,先进先出,随写随读。

(6)套接字(s,socket)

用于进程间的网络通信,也可以用于本机之间的非网络通信;用于进程间的网络通信,也可以用于本机之间的非网络通信。

3,进入到目标目录

(1)切换到根目录:cd + enter

(2)切换到上级目录:cd + ./

(3)切换到当前目录的上一级目录:cd + ../

(4)切换到目标目录:cd + 目标路径 + enter

4,查看当前文件目录

命令:pwd 打印出当前所在目录

5,创建文件夹及文件

(1)创建文件夹

命令:mkdir + 文件夹名称

注意:需要新建的文件夹必须是不存在的,若不指定路径,则是在当前目录下创建文件夹;如果需要指定目标路径,命令需要添加参数 -p ,否则报错。

(2)创建文件

命令:touch + 文件名称.文件后缀

注意:需要新建的文件必须是不存在,若不指定路径,则是在当前目录下创建目标文件类型的文件;如果需要指定目标路径,命令需要添加参数 -p ,否则报错。

6,删除文件夹及文件

命令:rm + 参数 + 目标文件夹/目标文件

参数:

(1)-f 强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。

(2)-i 这个选项的作用是,当用户删除一个文件时会提示用户是否真的删除。

(3)-r 当删除目录时,加该选项,如果不加这个选项会报错。rm是可以删除不为空的目录的。

(4)-p 将上级目录一起删除。

7,复制文件夹或文件

命令:cp + 参数 + 目标文件夹/目标文件

参数:

(1)-r 如果你要拷贝一个目录,必须要加-r选项,否则你是拷贝不了目录的。

(2)-i 如果遇到一个存在的文件,会问是否覆盖。

(3)-d 这里涉及到一个“连接”的概念。连接分为软连接和硬链接。

(4)-p 将上级目录复制。

(5)-u 该选项仅当目标文件存在时才会生效,如果源文件比目标文件新才会拷贝,否则不做任何动作。

8,移动文件夹或文件

命令:mv+ 参数 + 源文件 + 目标文件

参数:

(1)-i 如果遇到一个存在的文件,会问是否覆盖。

(2)-u 该选项仅当目标文件存在时才会生效,如果源文件比目标文件新才会移动,否则不做任何动作。

9,查看文件内容

(1)命令:cat + 文件名 (查看一个文件的内容并显示在屏幕上)

参数:-n 查看文件时,把行号也显示到屏幕上。

(2)命令:head + 文件名(显示文件的前十行)

参数:-n 查看文件时,把行号也显示到屏幕上。

(3)命令:tail + 文件名(显示文件最后十行)

参数:-n 选项则显示文件最后n行。

       -f 动态显示文件的最后十行,如果文件是不断增加的,则用-f 选项。


(4)命令:more + 文件名(用来查看一个文件的内容。当文件内容太多,一屏幕不能占下,当看完一屏后按空格键继续看下一屏。可以按一下”/” 键,然后输入一个word回车,这样就可以查找这个word了。如果是多个该word可以按”n”键显示下一个。另外你也可以不按”/”而是按”?”后边同样跟word来搜索这个word,唯一不同的是,”/”是在当前行向下搜索,而”?”是在当前行向上搜索。但看完所有内容后就会退出。如果你想提前退出,只需按q键即可)

(5)命令:less + 文件名(作用跟more一样,但比more好在可以上翻,下翻。空格键同样可以翻页,而按”j”键可以向下移动(按一下就向下移动一行),按”k”键向上移动。可以按一下”/” 键,然后输入一个word回车,这样就可以查找这个word了。如果是多个该word可以按”n”键显示下一个。另外你也可以不按”/”而是按”?”后边同样跟word来搜索这个word,唯一不同的是,”/”是在当前行向下搜索,而”?”是在当前行向上搜索。)

10,文件查找

(1)命令:which + 名称

    释义:用来查找可执行文件的绝对路径;which只能用来查找PATH环境变量中出现的路径下的可执行文件。

(2)命令: whereis 参数 [文件名称]

     释义:通过预先生成的一个文件列表库去查找跟给出的文件名相关的文件。

     参数:-b:只找binary 文件;-m:只找在说明文件manual路径下的文件;-s:只找source来源文件;-u:没有说明档的文件

(3)命令: find [路径] [参数] (ls -l 命令可用来列出文件的 atime、ctime 和 mtime。)

参数:

【1】-atime +n :访问或执行时间大于n天的文件。(ls -lu filename 列出文件的 atime)

【2】-ctime +n :写入、更改inode属性(例如更改所有者、权限或者连接)时间大于n天的文件。(ls -lc filename 列出文件的 ctime)

【3】-mtime +n :写入时间大于n天的文件。(ls -l filename 列出文件的 mtime)

【4】-name filename 直接查找该文件名的文件。

【5】-type type :通过文件类型查找。

11,文件权限查看与修改

(1)文件权限查看:ls –l

    查看当前目录下的文件时,共显示了9列内容(用空格划分列)

含义:

    【1】:包含的东西有该文件类型和所属主、所属组以及其他用户对该文件的权限。第一列共10位。其中第一位用来描述该文件的类型。文件类型包含”d”(目录),“-“(普通文件) ,”l”(连接文件),“b”(块设备文件,比如磁盘分区), “c”(串行端口设备),”s”(套接字文件);后边的9位,每三个为一组。均为rwx 三个参数的组合。其中r 代表可读,w代表可写,x代表可执行。前三位为所属主(user)的权限,中间三位为所属组(group)的权限,最后三位为其他非本群组(others)的权限。(例如:一个文件的属性为-rwxr-xr-- ,它代表的意思是,该文件为普通文件,文件拥有者可读可写可执行,文件所属组对其可读不可写可执行,其他用户对其只可读。)

    【2】:表示为连接占用的节点(inode),若为目录时,通常与该目录地下还有多少目录有关系。

    【3】:表示该文件的所属主。

    【4】:表示该文件的所属组。

    【5】:表示该文件的大小。

    【6、7、8】:为该文件的创建日期或者最近的修改日期,分别为月份日期以及时间。

    【9】:文件名。如果前面有一个. 则表示该文件为隐藏文件。

(2)文件权限修改

    【1】更改所属组 chgrp

    命令:chgrp [组名] [文件名]

    【2】更改文件的所属主 chown

    命令:chown [ -R ] 账户名文件名

    释义:-R选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件全部更改。

    【3】改变用户对文件的读写执行权限 chmod

    命令: chmod [-R] 三位数字 文件名

    释义:linux使用数字去代替rwx ,具体规则为r: 4 w:2 x:1 -:0 举个例子,-rwxrwx---用数字表示就是 770,具体是这样来的:rwx = 4+2+1=7; rwx= 4+2+1=7; --- = 0+0+0=0
相关文章
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
624 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
456 21
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
217 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
3月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
3月前
|
Linux
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
247 8
|
2月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
76 0
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
264 32
|
3月前
|
安全 Linux 定位技术
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
90 4