Linux目录和文件管理
1 Linux系统目录结构和相对/绝对路径1.1系统目录结构1.2 绝对路径和相对路径
2 文件的管理2.1 创建文件和文件夹2.2 使用vim和重定向创建一个新文件2.3 命令之:mkdir2.4 删除文件和目录2.5 复制文件2.4 移动文件
3 查看文件3.1 命令之:cat3.2 命令之:more3.3 命令之:less3.4 命令之:head3.5 命令之:tail3.6 统计文件的内容:wc
4 检索和过滤文件内容: grep5 压缩命令: gzip、bzip26 归档命令:tar
)
1 Linux系统目录结构和相对/绝对路径
1.1系统目录结构
在WIN系统中,查看文件先进入相应的盘符,(C)(D)(E)(F)然后进入文件目录 在Linux只有一个根目录
使用tree命令查看linux目录结构,这个命令默认是没有安装的,需要手工安装一下
[root@localhost ~]# mount
/dev
/sr0
/media
/
mount
: /dev
/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rpm
-ivh
/media
/Packages
/tree
-1.6.0-10.el7.x86_64.rpm
查看
/tmp目录结构
[root@localhost ~]# tree
/tmp
/
查看根下有哪些文件:
[root@localhost ~]# ls
/
bin dev home lib64 mnt proc
run srv tmp var
boot etc
lib media opt root sbin sys usr
常见的子目录的作用
目录说明
/root系统管理员root的宿主目录/home普通用户的宿主目录/boot系统内核、启动文件/dev设备文件/etc配置文件/bin所有用户可执行的命令/sbin管理员可执行的管理命令/usr应用程序/var日志文件等
1.2 绝对路径和相对路径
路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径
绝对路径:在Linux中,绝对路径是从”
/”开始的,比如
/usr、
/etc
/passwd。如果一个路径是从根(
/)开
始的,它一定是绝对路径.
相对路径:相对路径是以 . 或 .. 开始的,
[root@localhost etc]# pwd #判断用户当前所处的位置
绝对路径: 从
/开始的路径
/home
/mk
相对路径: 相对于当前目录开始,a.txt .
/a.txt ..
/miao
/b.txt 当前目录在
/etc
[root@localhost ~]# cd
/etc
/
[root@localhost etc]# ll passwd
-rw
-r
--r
-- 1 root root
2116 11月
16 14:57 passwd
[[root@localhost etc]# ll
/etc
/passwd
-rw
-r
--r
-- 1 root root
2116 11月
16 14:57 /etc
/passwd
2 文件的管理
文件管理方式有多种: 改变目录: cd 创建/修改/移动/删除: touch mkdir mv vi rm cp
2.1 创建文件和文件夹
命令之:touch
作用:常用来创建空文件
,如果文件存在,则修改这个文件的时间
补充:文件的三种时间
[root@localhost ~]# ll
/etc
/passwd #查看文件修改的时间
-rw
-r
--r
-- 1 root root
2116 11月
16 14:57 /etc
/passwd
[root@localhost ~]# stat
/etc
/passwd #查看文件属性(其中包括文件时间属性)
文件:
"/etc/passwd"
大小:
2116 块:
8 IO 块:
4096 普通文件
设备:
803h
/2051d Inode:
9401663 硬链接:
1
权限:
(0644/-rw
-r
--r
--) Uid:
( 0/ root
) Gid:
( 0/ root
)
最近访问:
2017-11-16 14:57:39.923177258 +0800
最近更改:
2017-11-16 14:57:39.397177256 +0800
最近改动:
2017-11-16 14:57:39.409177256 +0800
注:
访问时间:atime 查看内容 cat a.txt
修改时间:mtime 修改内容 vim a.txt
改变时间:ctime 文件属性,比如权限 change
time。 chmod
+x a.sh
语法:touch 文件名
[root@localhost ~]# cd
/opt
/
[root@localhost opt]# touch a.txt
[root@localhost opt]# touch file1 file2
[root@localhost opt]# touch file{
6..20} #创建file6到file20的文件
[root@localhost opt]# ls
a.txt file10 file12 file14 file16 file18 file2 file6 file8 rh
file1 file11 file13 file15 file17 file19 file20 file7 file9
[root@localhost opt]# touch
-d
"20181019 21:30" xuegod.txt
[root@localhost opt]# ll xuegod.txt
-rw
-r
--r
-- 1 root root
0 10月
19 2018 xuegod.txt
2.2 使用vim和重定向创建一个新文件
用vim命令创建一个新文件
[root@localhost ~]# vim xuegod
-1.txt
用重定向创建一新文件
[root@localhost ~]#echo aaa
> xuegod.txt
2.3 命令之:mkdir
作用:创建目录
语法:
mkdir (选项
) 文件名
例:
[root@localhost opt]#
mkdir dir1
[root@localhost opt]#
mkdir dir2 dir3
/home
/dir4
[root@localhost opt]# ls
/home
/
dir4 mk
[root@localhost opt]#
mkdir /tmp
/a
/b
/c
mkdir: 无法创建目录
"/tmp/a/b/c": 没有那个文件或目录
[root@localhost opt]#
mkdir -p
/tmp
/a
/b
/c #在创建一个目录的时候,如果这个目录的上一级不存在的话,要加参数
-p
[root@localhost opt]# ls
/tmp
/a
/b
/
2.4 删除文件和目录
用到的命令:rm
作用:可以删除一个目录中的一个或多个文件或目录,对于链接文件,只是删除整个链接文件,而原文件保持不变的
语法:rm
(选项
) 处理对象
选项:
-f 强制删除,没有提示
-r 删除目录
例子:
[root@localhost opt]# rm
-rf a.txt
[root@localhost opt]# rm
-rf a.txt dir
[root@localhost opt]# rm
-rf file
*
rm
-rf
(慎用
,一定要在删除以前确定一下所在目录,防止误删除重要数据
)
2.5 复制文件
命令:cp 源文件
/目录 目录文件
/目录
选项:
-R
/r:递归处理,将指定目录下的所有文件与子目录一并处理
例子:
[root@localhost ~]# cp
/etc
/passwd
/opt
/ #复制文件
[root@localhost ~]# cp
-r
/boot
/grub
/opt
/ #复制目录
2.4 移动文件
[root@localhost opt]# mv passwd dir1
[root@localhost opt]# mv xuegod.txt dir1
/a.txt #在移动文件的时候支持改名操作
3 查看文件
3.1 命令之:cat
语法:cat 文件名
作用:查看文件内容,一次显示整个文件的内容
[root@localhost ~]# cat
/etc
/passwd
3.2 命令之:more
作用:以分页形式显示文件内容 语法:more + 文件名 说明: 按下回车刷新一行,按下空格刷新一屏,输入q键退出
3.3 命令之:less
作用:和more功能一样 语法:less +文件名 说明:linux中more与less的区别 more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便 less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。,空格键是向下翻页,Enter键是向下翻一行
3.4 命令之:head
作用: 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容 语法:head(选项)文件名 参数: -n 显示从文件头开始的行数 [root@localhost opt]# head /etc/passwd [root@localhost opt]# head -n 3 /etc/passwd #显示前3行
3.5 命令之:tail
作用
: 用于显示文件中的尾部内容。默认在屏幕上显示指定文件的末尾
10行
语法
:tail
(选项
)文件名
参数
:
-n 显示文件尾部多少行的内容
(n为数字
)
-f 动态显示数据(不关闭)
,常用来查看日志
[root@localhost ~]# tail
-n
3 /var
/log/secure #查看最后
3行记录
[root@localhost ~]# tail
-f
/var
/log/secure #在一个终端执行此命令动态查看文件内容
[root@localhost ~]# ssh root@
192.168.1.63 #在另一个终端远程登录Linux,登录成功后
[root@localhost ~]# tail
-f
/var
/log/secure #可以动态查看到登录成功的日志
Nov
17 00:08:32 xuegod63 sshd[
2924]
: Accepted password
for root from
192.168.1.63 port
39904 ssh2
3.6 统计文件的内容:wc
统计文件中的单词数量
wc [选项]... 目标文件...
常用命令选项
-l:统计个数
-w:统计单词个数
-c:统计字节数
[root@localhost ~]# wc
-wcl
123.txt
8 8 51 123.txt
分别表示 行数 单词个数 字节数 文本名
4 检索和过滤文件内容: grep
在文件中查找并显示包含指定字符串的行
grep [选项]... 查找文件 目标文件
常用命令选项
-i:查找时忽略大小写
-v:反转查找,输出与查找条件不相符的行,过滤
查找条件设置
要查找的字符串以双引号括起来
“
^……”表示以……开头,“……$”表示以……结尾,“
^$”表示空行
查找以#开头的内容:grep
-i
"^#" [目标文件名]
过滤以#开头的内容:grep
-v
"^#" [目标文件名]
三级过滤:grep
-v
^# [目标文件名] | grep
-v
^$| grep
-v
^server表示目标文件在过滤
以#为开头的内容基础上过滤空行内容,在过滤空行内容的基础上过滤以server开头的内容
5 压缩命令: gzip、bzip2
制作压缩文件,解开压缩文件
压缩文件:gzip [
-9] 文件名...
bzip2 [
-9] 文件名...
解压缩文件:gzip
-d .gz格式的压缩文件
bzip2
-d .bzip2格式的压缩文件
常用命令选项:
-9、
-d
gzip压缩文件,bzip2同理:gzip
-9 123.txt
gzip解压缩文件,bzip2同理:gzip
-d
123.txt
6 归档命令:tar
制作归档文件,释放归档文件
tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [
-c目标目录]
常用命令选项
-c:建立打包文件
-t:查找打包文件的内容
-x:解压缩
-j:解压缩.bz2的文件
-z:解压缩.gz的文件
-v:显示压缩
/解压缩的过程
-f:要处理的文件名
-C:解压缩的指定目录
-p:保留原文件属性不变
tar zcvf a.tar.gz
/root
/etc 打包
/root和
/etc到a.tar.gz
tar zxvf a.tar.gz
-C
/opt 解压缩a.tar.gz到指定目录
tar jcvf b.tar.bz2
/root 压缩为.bzip2格式
tar jxvf b.tar.bz2
-C
/aa 解压缩.bzip2格式