Linux系统——文件管理
在进行Linux系统的学习时,必须知道Linux系统是一个倒树型结构,最大的目录名称叫“/” (根目录)
文件管理
- 建立文件
[root@localhost Desktop]# touch file file1 file2
[root@localhost Desktop]# stat file
File: ‘file’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 41943218 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-03 07:08:35.941885510 -0400
Modify: 2019-07-03 07:08:35.941885510 -0400
Change: 2019-07-03 07:08:35.941885510 -0400
Birth: -
其中需要注意:
touch不但可以建立文件也可以修改文件的时间戳
时间戳分为:
atime(Access):文件内容被访问的时间标识
mtime(Modify):文件内容被修改的时间标识
ctime(Change):文件属性或文件内容被修改的时间标识
- 建立目录
[root@localhost Desktop]# mkdir a
[root@localhost Desktop]# mkdir b/c/d
mkdir: cannot create directory ‘b/c/d’: No such file or directory
[root@localhost Desktop]# mkdir -p b/c/d
[root@localhost Desktop]# ls a b b/c
a:
b:
c
b/c:
d
一次性建立多个目录时,如果不使用-p,会报错
-p建立递归目录时,当上层目录不存在自动建立
- 删除文件
[root@localhost Desktop]# rm a
rm: cannot remove ‘a’: Is a directory
[root@localhost Desktop]# rm -r a
rm: remove directory ‘a’? y
[root@localhost Desktop]# rm -r -f b
[root@localhost Desktop]# touch file
删除文件时,可以使用-f 强制删除
-f=force 标示强制删除不提示
- 删除目录
[root@localhost Desktop]# rm -r a
rm: remove directory ‘a’? y
[root@localhost Desktop]# rm -r -f a
[root@localhost Desktop]# rm -r -f b
删除目录时,可以使用-f 强制删除;-r标示递归删除,也就是删除目录本身和里面的所有内容
在命令参数使用过程中,-f -r =-rf=-fr ,顺序是不需要注意的
- 编辑文件
5.1 使用gedit编辑文件
[root@localhost Desktop]# gedit file
只有在图形界面中才能使用
5.2 使用vim编辑文件
[root@localhost Desktop]# vim file
使用vim时,第一次出现的为只读文件,按i进入编辑模式,退出时先按Esc’退出编辑模式,再按:wq保存并退出编辑
5.3 在使用vim中时异常退出
当vim异常退出时会生成.file.swp文件
当再次打开此文件时会出现以下情况:
file name: ~kiosk/Desktop/hello
modified: YES
user name: kiosk host name: foundation0.ilt.example.com
process ID: 31820
If this already, delete the swap file ".hello.swp" <<<此文件中存放大是未保存的数据
Swap file ".hello.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 继续编辑 恢复数据 删除swap文件 退出 退出
需要注意当多次异常关闭时会生成多个.file.swp文件,该文件为隐藏文件,必须使用ls -a查看,在用rm删除,ls在下文中
- 查看文件
6.1 使用cat查看文件——全部内容
[root@localhost Desktop]# cat file
[root@localhost Desktop]# cat -b file
[root@localhost Desktop]# cat -n file
-b显示行号不包含空行; -n显示行号包含空行
6.2 使用less查看文件——分页浏览
上|下 ##逐行移动
pageup|pagedown ##逐页移动
/关键字,高亮显示关键字,n向下匹配,N向上匹配
v 进入vim模式 在vim模式中按:
wq 退回到less模式
q 退出
6.3使用head查看文件——查看文件前n行
默认查看文件前10行;-n 5 查看文件前5行
6.4使用tail查看文件——查看文件后n行
默认查看文件后10行;-n 5 查看文件后5行
6.5使用ls查看目录中的文件及属性
名称 | 含义 |
---|---|
ls -l file | 文件属性 |
ls -l file | 文件属性 |
ls dir | 目录中保函的内容 |
ls -d dir | 目录本身 |
ls -a dir | 所有文件包含隐藏的 |
ls -S dir | 查看并且按照大小排序 |
ls -s file | dir |
需要注意的是我们不能凭借图标去判断一个文件的属性,例如上图中的压缩,歌曲,视频和可执行文件都其实都是文本文件
- 复制文件
[root@localhost Desktop]# cp file1 /mnt
[root@localhost Desktop]# ls /mnt
file1
[root@localhost Desktop]# cp -r file[1-3] a
[root@localhost Desktop]# ls a
file1 file2 file3
-r表示从目录复制到目录
- 移动文件
[root@localhost Desktop]# mv file1 /mnt
[root@localhost Desktop]# ls /mnt
file1
[root@localhost Desktop]# mv -r file[2-3] a
[root@localhost Desktop]# ls a
file2 file3
注意:相同磁盘的文件移动只是一个重明名过程,不同磁盘的文件移动是复制删除过程
-
切换路径
|名称|方法 |
|–|--|
|cd 目录名称 |进入指定目录 |
|cd - |上个目录和当前目录的切换|
|cd ~|进入当前用户家目录|
|cd ~user|进入user家目录|
|cd…|进入当前目录的上级目录|
pwd显示当前路径 -
文件大小的统计
|名称|方法 |
|–|--|
|wc -l |行数 |
|wc -w|单词数|
|wc -m|字节数|
|wc -c|字符数|
-
系统中的通用配置符号
名称 | 方法 |
---|---|
* | 匹配0到任意字符 |
? | 匹配单个字符 |
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:punct:]] | 单个符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 单个数字或字 |
需要注意其中可以搭配使用例如:[[:punct:][:upper:]] 表示单个符号或单个大写字母
名称 | 方法 |
---|---|
[1-9] | 1位,这位是1-9的任意数字 |
[!3-5] | 1位,不是3-5的数字 |
[^3-5] | 1位,不是3-5的数字 |
[a-z] | 1位,a-z的任意字母 |
{1…3} | 3个,1 2 3 |
{1,4,7} | 3个1,4,7这三个数 |
中括号表示匹配,大括号表示全部
名称 | 方法 |
---|---|
~ | 当前用户家目录 |
~username | 指定用户的家目录 |
~+ | 当前目录. |
~- | 相当于- - |