Linux 学习笔记--目录结构及文件基本操作
Linux 目录结构及文件基本操作
新建
新建空白文件
$ touch <文件名>
在命令行输入以上命令可以创建一个空白的文件。
可以看到,在原本的空文件夹中多了一个名为test的文件。
新建目录
$ mkdir [-option] <文件夹>
如果要创建多级目录,如果不加参数的话,会创建目录失败。这个时候可以 -p
参数,创建多级目录时,如果父级目录不存在,就会先创建父级目录。
可以看到,多级目录已经创建成功了。
复制
使用 cp
(copy)命令可以复制一个文件到指定目录
$ cp [-option] <文件名> <目录地址>
可以看到,son1目录下已经有了test文件了,说明test文件已经复制到了son1目录下。cp
命令不仅仅可以复制文件也可以复制目录,不过如果复制的目录不为空,会复制不成功,这个时候可以使用-r
或者-R
参数,递归复制目录。
删除
使用 rm
(remove)命令来删除一个文件或者文件夹。
$ rm [-option] <文件名|目录>
有时候, 我们在删除一些只读文件时,会有“是否删除”的提示,我们可以使用 -f
参数来强制删除。
前面创建多级目录时没有父级目录存在需要使用参数。删除的时候也是一样,如果这个目录下不为空,想要删除的话需要使用 -r
或者 -R
来递归删除。
如果遇到权限不足可以使用 -f
来强制删除。rm -rf <目录>
移动、重命名
使用 mv
(move or rename files)命令移动文件(剪切)。命令格式是
$ mv <源目录文件> <目的目录>
重命名文件,也是使用mv
命令
像上面的命令是将本目录下的file1
文件重新命名为myfile
。
批量重命名文件
使用这个命令可以批量创建文件。
简单解释一下上面的命令,rename
是先使用第二个参数的通配符匹配所有后缀为 .txt
的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的 .txt
后缀替换为 .c
查看文件
使用 cat
,tac
和 nl
命令查看文件
前两个命令都是用来打印文件内容到标准输出(终端),其中 cat
为正序显示,tac
为倒序显示。
标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
可以使用-n
来显示行号
nl
命令,添加行号并打印,这是个比 cat -n
更专业的行号打印命令。
这里简单列举它的常用的几个参数:
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)
使用 more
和 less
命令分页查看文件
如果说上面的 cat
是用来快速查看一个文件的内容的,那么这个 more
和 less
就是天生用来”阅读”一个文件的内容的,比如说 man 手册内部就是使用的 less
来显示内容。其中 more
命令比较简单,只能向一个方向滚动,而 less
为基于 more
和 vi
(一个强大的编辑器,我们有单独的课程来让你学习)开发,功能更强大。less
的使用基本和 more
一致,具体使用请查看 man 手册,这里只介绍 more
命令的使用。
$ more <文件名>
$ less <文件名>
打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter
键向下滚动一行,使用 Space
键向下滚动一屏,按下 h
显示帮助,q
退出。
使用 head
和 tail
命令查看文件
这两个命令,那些性子比较急的人应该会喜欢,因为它们一个是只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。还是拿 passwd 文件举例,比如当我们想要查看最近新增加的用户,那么我们可以查看这个 /etc/passwd
文件,不过我们前面也看到了,这个文件里面一大堆乱糟糟的东西,看起来实在费神啊。
$ head -n <行数> <文件名>
$ tail -n <行数> <文件名>
附加:如果想查看文件类型可以使用file <文件名>
来查看。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: