一、文件目录的查看: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 4月 21 2020 CentOS_BuildTag
drwxr-xr-x 3 clyu clyu 2048 4月 21 2020 EFI
-rw-rw-r-- 3 clyu clyu 227 8月 30 2017 EULA
-rw-rw-r-- 3 clyu clyu 18009 12月 10 2015 GPL
drwxr-xr-x 3 clyu clyu 2048 4月 21 2020 images
drwxr-xr-x 2 clyu clyu 2048 4月 21 2020 isolinux
drwxr-xr-x 2 clyu clyu 2048 4月 21 2020 LiveOS
drwxr-xr-x 2 clyu clyu 671744 4月 22 2020 Packages
drwxrwxr-x 2 clyu clyu 4096 4月 22 2020 repodata
-rw-rw-r-- 3 clyu clyu 1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 3 clyu clyu 1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 clyu clyu 2883 4月 22 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 6月 7 2013 /etc/hosts
改动时间 是数据属性信息发生改变了
十三、文件链接
链接文件时,最好写绝对路径
软链接:ln -s 链接的源文件 软链接的文件
硬链接:ln 链接的源文件 软链接的文件
硬链接和软链接区别
链接后文件大小不一致,文件类型不一致 权限不一致,链接后的文件和源文件信息不一样
硬连接inode号码和源文件一样,但是软链接不一样
源文件删除后,硬链接文件依然有效,但软链接无效
硬链接可以防止误删除,因为他相当一个文件的入口,但是不能防止误修改,所以操作文件时,应该先复制在操作
目录不能创建硬连接,但是可以创建软链接