Linux《文件》学习总结

一、文件目录的查看:ls

ls命令用来列出目标目录(缺省的话为当前目录)中所有的子目录和文件。指令英文原义:list directory contents

1、显示隐藏文件

参数是:-a 长参数是:–all
作用:显示指定目录(缺省为当前目录)下所有文件,包括隐藏文件与目录
-参数是:-A 长参数是:–almost-all
显示指定目录(缺省为当前目录)下所有文件,包括隐藏文件与目录,但不包括.和…这2个目录

[root@root /]# ls -a
.   .autofsck  boot   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr
..  bin        .dbus  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var
[root@root /]# ls -A
.autofsck  boot   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr
bin        .dbus  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var
2、列出目录本身而非目录内的文件

-短参数是:-d, 长参数是:–directory
作用:当遇到目录时列出目录本身而非目录内的文件

[root@root /]# ls -d /home
/home
[root@root /]# ls /home
clyuroot
3、显示完整时间

命令 :–full-time

[root@root /]# ls --full-time
总用量 98
dr-xr-xr-x.   2 root root  4096 2020-06-22 04:18:07.641693332 +0800 bin
dr-xr-xr-x.   5 root root  1024 2020-06-22 09:12:54.000000000 +0800 boot
drwxr-xr-x.  19 root root  3800 2020-08-18 15:35:56.513199349 +0800 dev
drwxr-xr-x. 116 root root 12288 2020-08-19 01:44:20.055172263 +0800 etc
drwxr-xr-x.   3 root root  4096 2020-06-22 01:58:03.140705787 +0800 home
dr-xr-xr-x.  11 root root  4096 2020-06-22 01:51:18.146698980 +0800 lib
dr-xr-xr-x.   9 root root 12288 2020-06-22 04:18:03.687693334 +0800 lib64
drwx------.   2 root root 16384 2020-06-22 09:05:41.000000000 +0800 lost+found
drwxr-xr-x.   3 root root  4096 2020-08-18 15:36:12.436199339 +0800 media
drwxr-xr-x.   2 root root     0 2020-08-18 15:35:54.723199350 +0800 misc
drwxr-xr-x.   2 root root  4096 2011-09-23 19:50:20.000000000 +0800 mnt
drwxr-xr-x.   2 root root     0 2020-08-18 15:35:54.735199354 +0800 net
drwxr-xr-x.   3 root root  4096 2020-06-22 09:11:40.014999721 +0800 opt
dr-xr-xr-x. 171 root root     0 2020-08-18 15:35:39.076993304 +0800 proc
dr-xr-x---.   5 root root  4096 2020-06-22 07:14:04.898686611 +0800 root
dr-xr-xr-x.   2 root root 12288 2020-06-22 04:18:07.919693331 +0800 sbin
drwxr-xr-x.   7 root root     0 2020-08-18 15:35:40.724939241 +0800 selinux
drwxr-xr-x.   2 root root  4096 2011-09-23 19:50:20.000000000 +0800 srv
drwxr-xr-x.  13 root root     0 2020-08-18 15:35:39.121988811 +0800 sys
drwxrwxrwt.  13 root root  4096 2020-08-19 03:47:42.603168585 +0800 tmp
drwxr-xr-x.  13 root root  4096 2020-06-22 09:06:25.682999867 +0800 usr
drwxr-xr-x.  22 root root  4096 2020-06-22 09:11:29.550999726 +0800 var
4、以易读方式显示列表

命令 :-l

[root@root /]# ls -l
总用量 98
dr-xr-xr-x.   2 root root  4096 6月  22 04:18 bin
dr-xr-xr-x.   5 root root  1024 6月  22 09:12 boot
drwxr-xr-x.  19 root root  3800 8月  18 15:35 dev
drwxr-xr-x. 116 root root 12288 8月  19 01:44 etc
drwxr-xr-x.   3 root root  4096 6月  22 01:58 home
dr-xr-xr-x.  11 root root  4096 6月  22 01:51 lib
dr-xr-xr-x.   9 root root 12288 6月  22 04:18 lib64
drwx------.   2 root root 16384 6月  22 09:05 lost+found
drwxr-xr-x.   3 root root  4096 8月  18 15:36 media
drwxr-xr-x.   2 root root     0 8月  18 15:35 misc
drwxr-xr-x.   2 root root  4096 9月  23 2011 mnt
drwxr-xr-x.   2 root root     0 8月  18 15:35 net
drwxr-xr-x.   3 root root  4096 6月  22 09:11 opt
dr-xr-xr-x. 171 root root     0 8月  18 15:35 proc
dr-xr-x---.   5 root root  4096 6月  22 07:14 root
dr-xr-xr-x.   2 root root 12288 6月  22 04:18 sbin
drwxr-xr-x.   7 root root     0 8月  18 15:35 selinux
drwxr-xr-x.   2 root root  4096 9月  23 2011 srv
drwxr-xr-x.  13 root root     0 8月  18 15:35 sys
drwxrwxrwt.  13 root root  4096 8月  19 03:47 tmp
drwxr-xr-x.  13 root root  4096 6月  22 09:06 usr
drwxr-xr-x.  22 root root  4096 6月  22 09:11 var
5、排序

默认排序

-S 根据文件大小排序
-t 根据修改时间排序

[root@root /]# ls -lS
总用量 98
drwx------.   2 root root 16384 6月  22 09:05 lost+found
drwxr-xr-x. 116 root root 12288 8月  19 01:44 etc
dr-xr-xr-x.   9 root root 12288 6月  22 04:18 lib64
dr-xr-xr-x.   2 root root 12288 6月  22 04:18 sbin
dr-xr-xr-x.   2 root root  4096 6月  22 04:18 bin
drwxr-xr-x.   3 root root  4096 6月  22 01:58 home
dr-xr-xr-x.  11 root root  4096 6月  22 01:51 lib
drwxr-xr-x.   3 root root  4096 8月  18 15:36 media
drwxr-xr-x.   2 root root  4096 9月  23 2011 mnt
drwxr-xr-x.   3 root root  4096 6月  22 09:11 opt
dr-xr-x---.   5 root root  4096 6月  22 07:14 root
drwxr-xr-x.   2 root root  4096 9月  23 2011 srv
drwxrwxrwt.  13 root root  4096 8月  19 03:47 tmp
drwxr-xr-x.  13 root root  4096 6月  22 09:06 usr
drwxr-xr-x.  22 root root  4096 6月  22 09:11 var
drwxr-xr-x.  19 root root  3800 8月  18 15:35 dev
dr-xr-xr-x.   5 root root  1024 6月  22 09:12 boot
drwxr-xr-x.   2 root root     0 8月  18 15:35 misc
drwxr-xr-x.   2 root root     0 8月  18 15:35 net
dr-xr-xr-x. 173 root root     0 8月  18 15:35 proc
drwxr-xr-x.   7 root root     0 8月  18 15:35 selinux
drwxr-xr-x.  13 root root     0 8月  18 15:35 sys

[root@root /]# ls -lt
总用量 98
drwxrwxrwt.  13 root root  4096 8月  19 03:47 tmp
drwxr-xr-x. 116 root root 12288 8月  19 01:44 etc
drwxr-xr-x.   3 root root  4096 8月  18 15:36 media
drwxr-xr-x.  19 root root  3800 8月  18 15:35 dev
drwxr-xr-x.   2 root root     0 8月  18 15:35 net
drwxr-xr-x.   2 root root     0 8月  18 15:35 misc
drwxr-xr-x.   7 root root     0 8月  18 15:35 selinux
drwxr-xr-x.  13 root root     0 8月  18 15:35 sys
dr-xr-xr-x. 173 root root     0 8月  18 15:35 proc
dr-xr-xr-x.   5 root root  1024 6月  22 09:12 boot
drwxr-xr-x.   3 root root  4096 6月  22 09:11 opt
drwxr-xr-x.  22 root root  4096 6月  22 09:11 var
drwxr-xr-x.  13 root root  4096 6月  22 09:06 usr
drwx------.   2 root root 16384 6月  22 09:05 lost+found
dr-xr-x---.   5 root root  4096 6月  22 07:14 root
dr-xr-xr-x.   2 root root 12288 6月  22 04:18 sbin
dr-xr-xr-x.   2 root root  4096 6月  22 04:18 bin
dr-xr-xr-x.   9 root root 12288 6月  22 04:18 lib64
drwxr-xr-x.   3 root root  4096 6月  22 01:58 home
dr-xr-xr-x.  11 root root  4096 6月  22 01:51 lib
drwxr-xr-x.   2 root root  4096 9月  23 2011 mnt
drwxr-xr-x.   2 root root  4096 9月  23 2011 srv
二、创建目录:mkdir

mkdir命令用来创建目标目录,若指定目录不存在则创建目录。指令英文原义:make directories

指令所在路径:/bin/mkdir

执行权限:All User

命令语法:mkdir [选项]… 目录…

mkdir是一个外置命令

[root@root ~]# type mkdir
mkdir is /bin/mkdir
[root@root ~]# type cd
cd is a shell builtin

builtin就是内置对意思

1、创建目录
[root@root clyuroot]# mkdir ddd
[root@root clyuroot]# ll
总用量 2404
drwxr-xr-x. 2 root     root        4096 8月  19 04:53 ddd
-rw-r--r--. 1 root     root     2418874 6月  22 01:47 SQL必知必会(第4版)的副本.docx
drwxrwxr-x. 2 clyuroot clyuroot    4096 6月  22 01:39 yucl
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 公共的
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 模板
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 视频
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 图片
drwxr-xr-x. 3 clyuroot clyuroot    4096 6月  22 01:39 文档
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 下载
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 音乐
drwxr-xr-x. 2 clyuroot clyuroot    4096 6月  22 01:20 桌面

注意如果目前创建的目前存在的话,就会报错

[root@root clyuroot]# ls
aaa  clbb.txt  ddd  SQL必知必会(第4版)的副本.docx  yucl  公共的  模板  视频  图片  文档  下载  音乐  桌面
[root@root clyuroot]# mkdir clbb.txt
mkdir: 无法创建目录"clbb.txt": 文件已存在
2、创建多级目录

短命令:-p
长命令:–parents
作用:需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理

[root@root clyuroot]# mkdir aaa/ccc
mkdir: 无法创建目录"aaa/ccc": 没有那个文件或目录
[root@root clyuroot]# mkdir -p aaa/ccc
[root@root clyuroot]# ls -d aaa/ccc
aaa/ccc
三、创建空文件:touch

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件 ,若文件存在,那么touch会修改文件的时间属性

指令英文原义:change file timestamps

指令所在路径:/bin/touch

执行权限:All User

命令语法:touch [选项]… 目录…

echo也可以创建文件,echo的作用是将信息输出到屏幕上
echo “hello word” > test.txt
执行原理:将原来文件内容清除,然后写入信。如果文件不存在,就创建。
如果不想 将原来文件内容清除,然后写入信息,可以这样写
echo “hello word” >> test.txt

四、文件或者目录的复制:cp
1、文件复制

将文件test.txt复制到aaa目录中

[root@root clyuroot]# cp test.txt  aaa
[root@root clyuroot]# ls aaa
ccc  test.txt

将文件test.txt复制到aaa目录中,并将文件变为test.bak.txt

[root@root clyuroot]# cp test.txt aaa/test.bak.txt
[root@root clyuroot]# ls aaa
ccc  test.bak.txt  test.txt
2、目录复制

那复制目前可以这样写么

[root@root clyuroot]# cp aaa ddd
cp: 略过目录"aaa"
[root@root clyuroot]# cp -r aaa ddd
[root@root clyuroot]# ls ddd
aaa

目前备份时想要多次确认,如果不想可以

[root@root clyuroot]# \cp -r aaa ddd
五、文件或者目录的移动:mv
1、文件的移动
[root@root clyuroot]# ls
aaa       ddd                              test.txt  公共的  视频  文档  音乐
clbb.txt  SQL必知必会(第4版)的副本.docx  yucl      模板    图片  下载  桌面
[root@root clyuroot]# mv test.txt aaa
[root@root clyuroot]# ls aaa
test.txt
[root@root clyuroot]# ls
aaa  clbb.txt  ddd  SQL必知必会(第4版)的副本.docx  yucl  公共的  模板  视频  图片  文档  下载  音乐  桌面
2、目录的移动

和cp的区别是 可以直接移动整个目录,不用 加参数,移动信息时,如果出现重复也会提示

[root@root clyuroot]# ls
aaa  clbb.txt  ddd  SQL必知必会(第4版)的副本.docx  yucl  公共的  模板  视频  图片  文档  下载  音乐  桌面
[root@root clyuroot]# mv aaa ddd
[root@root clyuroot]# ls
clbb.txt  ddd  SQL必知必会(第4版)的副本.docx  yucl  公共的  模板  视频  图片  文档  下载  音乐  桌面
[root@root clyuroot]# ls ddd
aaa
六、文件或者目录的删除:rm
1、文件的删除
[root@root aaa]# ls
ccc  test.bak.txt  test.txt
[root@root aaa]# rm test.txt
rm:是否删除普通文件 "test.txt"?^C

如果想没有提示

[root@root aaa]# \rm test.txt
[root@root aaa]# ls
ccc  test.bak.txt
1、目录的删除

必须加参数r

[root@root clyuroot]# rm -r aaa
rm:是否进入目录"aaa" 

如果想删,没有提示

[root@root clyuroot]# \rm -r ddd
[root@root clyuroot]# ls
clbb.txt  SQL必知必会(第4版)的副本.docx  test.txt  yucl  公共的  模板  视频  图片  文档  下载  音乐  桌面
七、Vi快捷键

将光标切换到文章开头:gg

将光标切换到文章结尾:shif + g

将一整行剪贴:dd

操作撤回:u

复制:yy

粘贴:p

模糊查询:/ 字符 (n以次向下搜索)
模糊查询:?字符 (n以次向上搜索)

八、Vim

vim nodepad++(功能更强)有颜色区分不同信息
1、取消高亮显示

: /搜索一个文件中没有的信息

2、快速移动数据信息
案例:将第2行到第4行的内容移动到第9行的后面

:2,4move9 

3、快速复制数据信息
案例:将第2行到第4行的内容复制到第9行的后面

 :2,4copy9  

4.文件内容信息进行修改替换

% 表示全部替换
s 替换
g 将整行符合要求的字符都做替换
#要替换的信息#修改成什么信息#

案例:将文件中所有o1dboy改为oldgirl

:%s#o1dboy#oldgirl#g

5、批量加注释

第一个步骤: ctrl+v 进入试图模式
第二个步骤: 方向键选择 ,批量选中要编辑的行
第三个步骤:进行编辑修改,shift+i一进行单行编辑
第四个步骤:实现批量修改,按2下esc

6、批量去注释

第一个步骤: ctrl+v 进入试图模式
第二个步骤: 方向键选择 ,批量选中要编辑的行
第三个步骤:进行编辑删除,按d键(或者x键)
第四个步骤:实现批量修改,按esc

九、echo

重定向:>

[root@root /]# echo "hello word" > test.txt

将hello word写入test.txt文件中,原test.txt文件内容清空

追加重定向:>>

[root@root /]# echo "hello word" > test.txt

将hello word写入test.txt文件中,原test.txt文件内容不清空

十、查看文件内容

linux中一般用下面这些命令来查看文件:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行

直接查看一个文件的内容可以使用cat/tac/nl 这几个命令

1、cat

用法:cat [选项]… [文件]…
其常用选项参数如下
-b, 对非空输出行编号
-n, 对输出的所有行编号

[root@root clyuroot]# cat clbb.txt
a
b
c

d
[root@root clyuroot]# cat -b clbb.txt
     1	a
     2	b
     3	c

     4	d
[root@root clyuroot]# cat -n clbb.txt
     1	a
     2	b
     3	c
     4
     5	d
2、tac

用法:tac [选项]… [文件]…
作用:反向输出文件内容

[root@root clyuroot]# tac clbb.txt
d

c
b
a
3、nl

用法:nl [选项]… [文件]…
作用:添加行号打印

指定行号指定的方式,主要有2种
-b a : 表示不论是否为空行,也要同样列出行号(类似cat -n)
-b t : 如果有空行,空的那一行不要列出行号(默认值)

[root@root clyuroot]# nl clbb.txt
     1	a
     2	b
     3	c

     4	d
[root@root clyuroot]# nl -b a clbb.txt
     1	a
     2	b
     3	c
     4
     5	d
[root@root clyuroot]# nl -b t clbb.txt
     1	a
     2	b
     3	c

     4	d

列出行号表示的方法,主要有3种
-n ln :行号在屏幕的最左方显示
-n rn :行号在自己栏位的最右方显示,且不加0
-n rz :行号在自己栏位的最右方显示,且加0

[root@root clyuroot]# nl -n ln clbb.txt
1     	a
2     	b
3     	c

4     	d
[root@root clyuroot]# nl -n rn clbb.txt
     1	a
     2	b
     3	c

     4	d
[root@root clyuroot]# nl -n rz clbb.txt
000001	a
000002	b
000003	c

000004	d
4、head

用法:head [-n number] 文件
作用:取出前面几行

[root@root clyuroot]# cat clbb.txt
a
b
c

d
[root@root clyuroot]# head -n 2 clbb.txt
a
b
5、tail

用法:tail [-n number] 文件
作用:取出后面几行

[root@root clyuroot]# cat clbb.txt
a
b
c

d
[root@root clyuroot]# tail -n 3 clbb.txt
c

d
6、od

非纯文本文件读取,事实上,由于执行文件通常是二进制文件,使用上面的命名读取他们的内容时,会产生乱码的现象,这时我们可以使用od这个命令来读取

用法:od [-t 参数] 文件
常用参数如下
a : 利用默认的字符来输出
c : 使用ASCII字符来输出

7、more
8、less
十一、挂载

挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备

语法:mount [ -t 文件类型] [ -o 参数 ] 设备文件信息 挂载点(注意这个 挂载点目录必须已经存在)

常用参数如下:

rw:实现挂载后挂载点目录可读可写 (默认)
ro:实现挂载后挂载点目录可读可写
suid:在共享目录中可以让setuid权限位生效 (默认)
nosuid:在共享目录中可以让setuid权限位失效 提供共享目录的安全性
exec :共享目录中的执行文件可以直接执行
noexec:共享目录中的执行文件可以无法直接执行提供共享目录的安全性
auto :可以实现自动挂载 (在/etc/fstab配置好后,可以使用mount 一a 实现加载fstab文件自动挂载)
noauto:不可以实现自动挂载
nouser:禁止普通用户可以卸载挂载点
user:允许普通用户可以卸载挂载点

[root@root /]# ll /mnt
总用量 0
[root@root /]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@root /]# ll /mnt
总用量 694
-rw-rw-r-- 2 clyu clyu     14 421 2020 CentOS_BuildTag
drwxr-xr-x 3 clyu clyu   2048 421 2020 EFI
-rw-rw-r-- 3 clyu clyu    227 830 2017 EULA
-rw-rw-r-- 3 clyu clyu  18009 1210 2015 GPL
drwxr-xr-x 3 clyu clyu   2048 421 2020 images
drwxr-xr-x 2 clyu clyu   2048 421 2020 isolinux
drwxr-xr-x 2 clyu clyu   2048 421 2020 LiveOS
drwxr-xr-x 2 clyu clyu 671744 422 2020 Packages
drwxrwxr-x 2 clyu clyu   4096 422 2020 repodata
-rw-rw-r-- 3 clyu clyu   1690 1210 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 3 clyu clyu   1690 1210 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 clyu clyu   2883 422 2020 TRANS.TBL

如果想去除挂载,可以使用umount命令

语法:umount 参数 挂载目录
-l 不退出挂载目录就可以进行卸载
-f 强制进行卸载操作

[root@root /]# umount /mnt
[root@root /]# ll /mnt
总用量 0
十二、文件时间信息

文件时间类型有3种,访问时间,修改时间,改变时间
注意 ll命令显示的是修改时间,如果想显示一个文件的所有时间,可以使用下面的命令

[root@root ~]# stat /etc/hosts
  文件:"/etc/hosts"
  大小:158       	块:8          IO 块:4096   普通文件
设备:803h/2051d	Inode:16778299    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2020-10-09 16:46:08.071033867 +0800
最近更改:2013-06-07 22:31:32.000000000 +0800
最近改动:2020-09-21 16:59:12.029485347 +0800
创建时间:-
[root@root ~]# ll /etc/hosts
-rw-r--r--. 1 root root 158 67 2013 /etc/hosts

改动时间 是数据属性信息发生改变了

十三、文件链接

链接文件时,最好写绝对路径

软链接:ln -s 链接的源文件 软链接的文件
硬链接:ln 链接的源文件 软链接的文件

硬链接和软链接区别
链接后文件大小不一致,文件类型不一致 权限不一致,链接后的文件和源文件信息不一样
硬连接inode号码和源文件一样,但是软链接不一样
源文件删除后,硬链接文件依然有效,但软链接无效
硬链接可以防止误删除,因为他相当一个文件的入口,但是不能防止误修改,所以操作文件时,应该先复制在操作

目录不能创建硬连接,但是可以创建软链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值