二、Linux下的文件管理与输入输出

二、Linux下的文件管理

1.基础文件管理命令:
(1)touch 命令
【1】新建系统文件:“touch /…/…/文件名(文件建立时间为当前时间)”注:可以多个不同的文件同时创建
【2】修改系统文件的时间:"touch -t 修改日期(例:202001010101) 文件名(file1…)”
在这里插入图片描述如图:在桌面建立wenjian1,并将其建立时间改为1990年9月9日00点。注:在执行touch -t时不要忘记加文件名。

(2) mkdir 命令
【1】“mkdir dir1 dir2 …” 表示建立空目录 注:可以多个不同的目录同时创建
【2】“mkdir -p /home/lin/…” 表示在根下建立home目录并继续在其下建立lin目录…(建立多层目录)
在这里插入图片描述如图:在westos的桌面上建立包含dir3,dir2两个目录的文件夹dir1。

(3) rm 命令
【1】“rm /…/…/ 文件名(file1,file2…)” 表示删除/…/…/目录下的…文件(有提示) 注:可以多个文件同时创建
【2】“rm -f 文件名(file…)” 表示强制目标删除文件(不提示)
【3】“rm -r 目录名(dir dir1…)” 表示删除目录有提示
【4】“rm -fr 目录名(dir…)” 表示强制删除目录无提示
在这里插入图片描述
如图表示同时创建多个文件和文件夹,后强制删除westos用户桌面所有的文件和文件夹。注:/* 表示目录下的任意内容(rm -fr /* 表示删除根目录下的所有内容)。

(4)gedit 命令
【1】 “gedit 文件名(可以存在也可以不存在)” 表示以图形界面编辑文件(若文件不存在则先创建后编辑)注:gedit 在使用时必须有图形界面,gedit在执行时会占用shell命令行,如需使用命令行可通过“ctrl c”结束命令或用”ctrl shift z“将命令在后台暂停。

(5) vim 命令
【1】vim 文件名(file1…) 表示进入到vim的浏览模式(不能编辑文件)
在浏览模式中按"i"进入到插入模式(可以编辑文件)
在vim中鼠标不能控制光标用上下左右移动光标
按退出插入模式
按:wq保存更改,按q退出不保存(wq!,q!表示强制执行命令)
【2】vim的异常退出问题
当vim编写文件时在未保存更改内容被强制关闭,此时再次打开vim会出现异常显示(原因是在进行vim编辑时会打开.swp隐藏文件,异常关闭后.swp文件任存在):
在这里插入图片描述

vim出现异常
[O]	只读打开文件
(E)	继续编辑
(R)	恢复未保存内容编辑
(D)	删除.swp文件进入编辑
(Q)	退出当前编辑的文件,可继续编辑下一个文件(不退出vim文本编辑)
(A)	退出vim文本编辑模式

注:出现异常时,只能进行d(删除)操作,其余操作不能解决问题。

(6) cat 命令
【1】“cat 文件名称(file1…)” 表示:显示该文件的全部内容(在shell中显示)
【2】“cat -b 文件名称(file…)” 表示:显示该文件内容并显示行号,不显示空行的行号
在这里插入图片描述【3】“cat -n 文件名(file…)” 表示显示文件内容并显示行号(包括空行,结果如图:)
在这里插入图片描述
(7)head,tail 命令
【1】“head 文件名(file…)” 表示:查看文件前多少行 (默认显示文件前10行)
【2】“head -n 文件名(file…)” n 代表数字 显示文件的前n行
【3】“tail 文件名(file…)” 表示:查看文件后多少行 (默认显示文件后10行)
【4】“tail -n 文件名(file…)” n 代表数字 显示文件的后n行

(8)less 分页浏览命令
【1】“less 文件名(file1…)” 进入到less模式查看该文件全部内容(less页面,不是在shell中显示)
【2】less模式中 <上><下> 逐行查看文件内容
【3】使用"pgup"和“pgdn” 逐页查看文件内容
【4】“/关键字 ” 表示搜索关键字 n 向下匹配 N 向上匹配
【5】“v” 表示由less模式进入到vim文本编辑模式,编辑完成后:wq退出返回less
【6】在less中使用”q“ 退出

在这里插入图片描述上图为less分页浏览文件,搜索关键字/cat 高亮标出并显示

(9)cp 复制文件命令
【1】“cp 文件名 目的地文件名” 表示:将该文件复制到目标文件(目标文件中原来的东西会丢失)
【2】“cp 文件1 文件2 目的地目录” 表示将文件复制到目的地(可以一次复制多个文件)
【3】“cp -r 目录1 目录2 目的地目录” 表示将目录文件复制到目的地

(10)mv 移动文件命令
【1】“mv 文件名(file file1…) 目的地目录(dir)” 表示将目标文件移动到目的地目录下(可以同时一次移动多个文件)
【2】“mv 目录名(dir dir1…) 目的地目录(dir)” 表示将目标目录移动到目的地目录下(可以一次同时移动多个目录)
【3】“mv 文件名目录名(file dir…) 不存在的文件名目录名(file dir…)” 表示:对文件或目录重命名
【4】移动原理:相同设备分区中的文件移动是重命名的过程,不同分区的文件移动是先复制建立,后删除过程的过程,“ls -i file” 表示:查看文件节点号(相当与文件身份证号)

(11)file 文件类型查看命令
【1】“file 文件名” 表示:查看该文件的真实类型
在这里插入图片描述
(12)wc 文件容量统计命令
【1】“wc -l 文件名” 表示显示该文件的行数
【2】“wc -m 文件名” 表示显示该文件的字符数
【3】“wc -w 文件名” 表示显示该文件的单词数
【4】“wc -c 文件名” 表示显示该文件的字节数
在这里插入图片描述如图表示:file1文件的行数为384,字符数为1167,单词数为7031,字节数为7043。

2.linux中的文件寻址与寻址命令
(1)相对路径与绝对路径:相对路径是绝对路径名称的简写,省略了用户当前所在的系统位置此名称只有在管理当前所在系统目录中子文件时才能使用,系统中不以/开头的文件名称都为相对路径,在程序操作时会自动识别当前路径的信息并关联操作目标;绝对路径是文件在系统中的真实位置,在任何场景下都可以使用,通常以/开头,不会考虑当前系统位置。注:linux中的一切都是以文件形式存在的。

(2)linux中的目录:“/”为一级目录,也称根目录,根下的目录称为二级目录,二级目录的默认信息如下:
/bin ------------##系统常规命令
/sbin ----------##系统管理命令
/dev -----------##设备文件
/home --------##普通用户家目录集合,此目录中的子目录为普通用户家目录
/root ----------##超级用户家目录
/lib64 ---------##64位函数库
/lib ------------##系统函数库
/proc ---------##进程信息,系统识别的硬件信息
/run ----------##当前运行的硬件和系统模块
/srv ----------##系统数据(常量)
/var ----------##系统数据(变化)
/tmp ---------##系统临时文件存放目录
/mnt ---------##临时设备挂载点
/media ------##cdrom临时挂载点
/etc ----------##系统大多数程序的配置目录
/opt ----------##第三方软件安装位置
/boot --------##系统启动分区,系统启动时读取的文件都在此目录中
/sys ----------##关于内核设定目录
/usr ----------##unix system resource 重要性仅次于“/” ,多数系统资源都在此目录中。

(3)linux中的文件寻址命令
【1】pwd ------显示当前的工作目录
【2】cd /…/…/ ------切换当前的工作目录(".“表示本层目录,”…"表示上层目录)
“cd ~-” = “cd -” -------表示切换到上一个工作目录
【3】

    # ls-------------------------显示当前目录中文件的名称
	# ls file--------------------显示指定文件名称
	# ls dir	-----------------显示指定目录中内容的名称
	# ls -d dir	-----------------显示目录本身的名称
	# ls -l file	-------------显示文件属性
	# ls -l dir	-----------------显示目录中内容的属性
	# ls -ld dir	-------------显示目录本身属性
	# ls -a dir	----------------显示目录中所有文件名称包括隐藏文件案
	# ls -s---------------------显示文件大小
	# ls -R dir----------------递归显示目录中的内容

在这里插入图片描述注:“ ls -a dir ”和“ls ”的功能一样,但“ls -a dir”功能更全面(能显示隐藏文件);“ls -d dir”表示的是显示目录本身的属性信息(不包括目录中的目录和文件);“ls -l dir”表示显示目录中所有内容的属性信息(如该目录下有其他目录,只显示目录信息);“ls -R dir”递归调用,表示显示该目录下所有层级目录和文件的属性信息。

4.linux文件的批处理
(1)批处理具有相同特点的文件

" *"------------------------匹配0~任意字符
“?”------------------------匹配单个字符
[[:alpha]] --------------- 匹配单个字母
[[:lower:]]----------------匹配单个小写字母
[[:upper:]]---------------匹配单个大写字母
[[:digit:]]-----------------匹配单个数字
[[:alnum:]]--------------匹配单个数字或字母
[[:punct:]] --------------匹配单个符号
[[:space:]]--------------匹配单个空格
在这里插入图片描述如图:分别表示删除dirrr1目录下的“wes数字tos”,“wes符号tos”,”wes所有“,“wes字母或空格或数字tos”文件。
注:最后一行中间的[[:alpha:][:space:][:alnum:]]表示的是“或”的意思,只代表一个字符位。

(2)字符集合表示方法
【1】“[ ]” 表示模糊匹配 ,[ ] 中的表示或关系,对象和几个匹配就操作几个
【】[1-10] 表示1或者…或者10,[!d-f] |或[^d-f] 表示除了d-f以外
【2】“{ }” 表示精确匹配,点名机制,精确指定集合中的每一个元素;{1…10}表示1到10。
在这里插入图片描述
如图:首先创建15个文件(1a,1b,1c,2a…),删除2到5 之间的所有,删除除了a之外的所有文件(!和^都表示除了);“{ }”操作会报错,“[ ]”不会报错(有就操作,没有就跳过)。

附:【1】 cat 命令 :主要有三大功能

1 )一次显示整个文件: $ cat filename

2 )从键盘创建一个文件: $ cat > filename

3 )将几个文件合并为一个文件: $ cat file1 file2 > file

文件的输出输出

1 理解什么是输入输出的定义:

1)字符设备
字符设备就是显示字符到屏幕上的设备文件

2)stdin
标准输入
编号为0
键盘 鼠标 打字机

3)stdout
标准正确输出
标号为1

4)stderr
标准错误输出
标号为2

在这里插入图片描述

输出重定向:
在这里插入图片描述

输出,多行录入:
在这里插入图片描述

单行输出重定向:tr ‘a-z’ ‘A-Z’ < file ;将file中的内容重定向到tr命令中,相当于 cat file | tr ‘a-z’ ‘A-Z’;

find /etc -name passwd 2>

猜你喜欢

转载自blog.csdn.net/lb1331/article/details/109180794
今日推荐