Linux创建文件和目录的一些方法探究

本文详细介绍了在Linux系统中创建文件(包括使用touch、echo、printf、cat、文本编辑器和编程语言)以及目录(通过mkdir命令及多层目录创建)的方法。特别强调了Linux的设备文件和虚拟文件系统概念。
摘要由CSDN通过智能技术生成


Linux系统的设计哲学是"一切皆文件",所以文件在linux中至关重要,而linux文件又分为:设备文件和虚拟文件系统(VFS)
1.设备文件:
Linux硬件设备被表示为设备文件,通过在文件系统中创建设备节点,使得用户和应用程序可以通过标准的文件I/O接口来访问这些设备。如:硬盘驱动器可以表示为/dev/sda,串口可以表示为/dev/ttyS0

2.虚拟文件系统(VFS):
Linux内核实现了虚拟文件系统层,它是Linux系统实现"一切皆文件"思想的重要组成部分。虚拟文件系统将不同的文件系统(如ext4、NTFS、procfs等)抽象为统一的接口,使得用户和应用程序可以使用相同的文件I/O系统调用来访问不同的文件系统。

一、创建文件方法(以testfile.txt为例, 不限于txt文件)

1. 使用touch命令创建空文件

   touch testfile.txt

在这里插入图片描述

2.使用重定向符号(>)

2.1. 使用echo命令重定向输出到文件:

   echo "hello" > testfile.txt

在这里插入图片描述

2.2 printf命令与echo工作方式类似:

  printf "hello"  > testfile.txt

在这里插入图片描述

2.3. 使用cat命令创建文件并输入内容:

   cat > testfile.txt
   # 输入内容后,按Ctrl + D退出

在这里插入图片描述
要在末尾添加内容可使用 >> 代替 >

3. 使用vi或vim编辑器创建和编辑文件

   vi testfile.txt
   # 按i进入编辑模式,输入内容,按Esc退出编辑模式,然后输入:wq保存并退出

在这里插入图片描述

4. 使用gedit或其他文本编辑器创建和编辑文件

   gedit testfile.txt

5. 使用nano编辑器创建和编辑文件

   nano testfile.txt

6.使用一些图形化IDE编辑器(需要额外安装)

例如使用vs code、qtcreator、clion、pycharm等等,提供了文件菜单进行文件创建。

7.一些更为特殊创建方法(类似从已有文件拷贝或填充到新文件):

7.1:cp命令: 复制一个已有文件到新文件

   cp sourcefile.txt testfile.txt

7.2:mv 命令:重命名文件(严格来说并不是新建文件)

   mv sourcefile.txt testfile.txt

7.3:rsync和scp命令:一般用来网络间文件拷贝

   	scp /home/test/testfile.txt root@ip:/home/test/testfile.txt
   	# 拷贝本地/home/test/testfile.txt到远程ip下/home/test/testfile.txt

7.4:head命令:默认是显示存在文件前10行内容,这里是新建空文件

	head -c 0k /dev/zero > testfile.txt

7.5:tail 命令:默认是输出文件末尾部分,这里将末尾2行写入到新建的文件

	tail -n 2 testfile.txt > testfile1.txt

7.6:truncate命令:将文件大小缩小或扩展到指定大小,这里创建空文件

	truncate -s 0k testfile.txt

7.7: dd 命令:从设备/dev/zero中拷贝1k内容到输出文件

	dd if=/dev/zero of=testfile.txt bs=1k count=1

8.使用代码实现(各种编程语言)

基本上每种编程语言都提供了文件io的功能, 可以通过语言提供的接口或者系统的open来创建新文件。
例如c语言:

int main()
{
	FILE *fp;
	if((fp = fopen("./testfile.txt", "wb")) == nullptr)
	{
		printf("open file error\n");
		return -1;
	}
	fclose(fp);	
	return 0;
}

二、文件目录创建方法

1.mkdir: 新建单层目录

	mkdir testdir

在这里插入图片描述

2.mkdir:新建多层目录

加入-p参数,新建目标可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

	mkdir  -p testdir/test2/test3

在这里插入图片描述
当然了,新建目录也可用各种编程语言使用代码实现

作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处,如有不当欢迎指正

  • 31
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值