目录

四:目录管理

Linux系统的目录组成类拟一个倒置的树型结构linux压缩文件夹命令 t,它以一个名为根(“/”)的目录开始向上延展。

它不同与其它操作系统。诸如windows,在windows中,它有多少分区这么就有多少个根,而这种根之间是并列的,而在Linux中无论有多少个分区都有一个根。

在Linux系统中对应的文件类型字符为“d”。

目录是一种特殊的文件

目录上的读写执行权限与普通文件有所不同。

读:用户可以读取目录内的文件

写:单独使用没有作用。它与读和执行权限连用可以在目录内添加与删掉任何文件。

执行:用户可以步入目录,调用目录内的资料

1、常见目录:

/bin储存常用用户指令。

/boot储存用于系统引导时使用的各类文件

/dev储存设备文件

/etc储存系统、服务的配置目录与文件

/home储存用户家目录

/lib储存库文件,如内核模块、共享库等

/usr储存系统应用程序目录i

(1)setuid

设置使文件在执行阶段具有文件所有者的权限(比如:/usr/bin/passwd);假如通常用户执行该文件,则在执行过程中,该文件可以获得root权

句型:

chmodu±s

(2)setgid

该权限只对目录有效,目录被设置该位后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组

句型:

chmodg±s

u+s实验:

su-uos1

touch/root/file#权限严禁

chmodu+s/usr/bin/touch#给touch设置强制位setuid以后就可以以root身分去执行

su-uos

touch/root/file#权限容许

切回root查看

g+s实验:

mkdiruos1//创建目录/uos并设置所属组为uos

chown:uos/uos1/

touch/uos1/1.txt//新创建文件、可以见到其属组还是属于创建者的

chmodg+s/root/uos1///为属组添加强制位setgid

touch/uos/2.txt//可以看见新建的文件会手动承继此前目录的属组

o+t实验:

useradd-m-s/bin/bashuos1

mkdir/tx

chmodo=rwx/tx/

touch/tx/uos1

su-uos1

rm/tx/uos1//是可以删掉的

exit注销

chmodo+t/tx/

touch/tx/uos2

su-uos1

rm/tx/uos2

rm:难以删掉'/tx/uos1':不容许的操作//加上t权限以后就不可以删掉其他人的文件

2、umask:控制新建的文件或目录的权限

umask值与新建文件、目录权限对照表

umask值目录权限值文件权限值

076

166

254

344

432

522

610

700

比如:umask值为0000,则目录权限值777,文件权限值666

umask值为0022,则目录权限值755,文件权限值644

(1)反例:

umask

0022//当前umask网段是0022,新创建文件的权限是644,目录的权限是755

touchfile1

mkdirdi1

ls-l

umask0027//将umask网段更改为0027以后,新建文件的权限是640,目录的权限是750

touchfile2

mkdirdi2

ls-l

五:系统交互工具与编辑器1、实验要求:

除管理员root用户外linux教程下载,新建普通用户uos1

使用tty1登陆root用户,tty2登陆uos1

(1)write命令指定一个在线用户发送短消息

//使用root用户对uos1用户发送消息

root@uos1-PC:~#writeuos1

write:write:youhavewritepermissionturnedoff.

aaaaaaaaaaa

aaaaaaaaaaa

ctrl+d结束

//去uos1用户验证查看

(2)wall命令向所有在线用户广播

//使用root用户对所有用户发送消息

root@uos1-PC:~#wall123456789

//顾客端验证接收

2、vim编辑器:

vi编辑器是所有Unix和Linux系统下标准的编辑器,相当于Windows的记事本一样,它工作在字符模式,因为不须要图形界面,所以效率高;vim是vi编辑器的升级版本,不仅兼容vi的所有指令以外,还添加了许多重要的特点,比如支持正则搜索,句型高亮,对C语言的手动缩进等;

(1)vim的三种模式:

命令模式(其它模式->ESC):

控制光标联通,删掉字符,段落复制

编辑/插入模式(命令模式->a、i、o、A、I、O)

新增文字及更改文字

末行模式(命令模式->:)

保存文件,离开vi,以及其他设置

(2)vim基础操作

vim--help查看帮助

命令模式:

yy复制当前行正行

nyy复制从光标所在行开始的n行

dd剪切当前光标所在行

ndd剪切从光标所在行开始的n行

p粘贴光标位置以后

G跳转至尾行

g跳转至首行

dw删至辅音

ndw删掉后n个词

d$删至行尾

nd$删掉后n行(从光标当前处开始算起)

u撤消上一次更改

U撤消一行内的所有更改

末行模式

:r/etc/passwd读文件内容进vim

:r!ls-l/读命令结果保存到文件中

:setnumber行号

:setnonumber消除行号

:s/old/new/g在当前行中查找到的所有字符串old替换为new

:2,6s/old/new/g2-6行替换

:%s/old/new/g在整个文件范围内替换

:X加入密码

:q不保存退出

:q!强制退出不保存

:wq保存退出,同x

:wq!强制保存退出

步入编辑模式

a光标后插入

i当前光标前插入

o在当前光标下插入空行

A在光标所在行尾插入

I在光标行首插入内容

O在当前光标上插入空行

(3)更改vim配置

echo”:setnumber”>>/etc/vim/vimrc

vim/etc/passwd

3、实验-非正常关掉vim的恢复

vimuos直接关掉终端

ls-la

vimuos会有提示信息

删掉同目录下边同名的隐藏文件即可

六:系统文件查找与文件管理1、可执行文件的搜索

which显示一个指令的完整路径与别称。

whereis搜索一个指令的完整路径以及其帮助文件

locate用于查找文件或目录,比find命令快,是由于不回家搜索目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db,这个库有本地所有文件信息,Linux会手动创建这个数据库,每晚手动更新一次,因而,我们在用whereis和locate查找文件时,有时会找到早已被删掉的数据,或则刚才构建文件,却未能查找到,缘由就是由于数据库文件没有被更新。为了防止这些情况,可以在使用locate之前,先使用updatedb命令,自动更新数据库

apt-getinstalllocate-y

updatedb

locatepasswd

2、find在指定目录下查找文件(1)特性:

从指定路径下递归向上搜索文件。

支持根据各类条件形式搜索。

支持对搜索得到的文件再进一步的使用指令操作(比如:删掉、统计大小、复制等)

(2)常用选项:

-name按照文件名找寻文件

-user按照文件拥有者找寻文件

-group按照文件所属组找寻文件

-perm按照文件权限找寻文件

-size按照文件大小找寻文件[±Sizek]

-type按照文件类型找寻文件,常见类型有:f(普通文件)、c(字符设备文件)、b(块设备文件)、l(联接文件)、d(目录)

-o表达式或

-a表达式与

(3)示例:

find/-nameuos1

find/-userhehe

find/-groupxiaolizi

find/-perm644

find/-size+10k

find/etc-size-10k

find/etc-typef/c/b/l/d

(4)对文件进一步操作

find[路径][参数][表达式]-exec指令{};

{}代表find找到的文件

;命令结束标志linux手机软件,因为各个系统中的;会有不同的意义,所以上面加通配符

(5)示例:

find/tmp/-typef-execrm-rf{};用exec选项执行cp命令

3、grep查找文件里符合条件的字符串。(1)常用选项:

-c估算匹配关键字的行数

-i忽视字符大小写的差异

-n显示匹配的行及其行号

-s不显示不存在或不匹配文本的错误信息

-h查询多个文件时不显示文件名

-l查询文件时只显示匹配字符所在的文件名

-v取反

--color=auto

(2)示例:

greproot/etc/passwd

grep^root/etc/passwd

grepbash$/etc/passwd

grep-iROOT/etc/passwd

4、tar文件归档压缩(1)功能说明:

用于构建、还原备份文件的工具,它也可以加入或解开备份文件内的文件。有时亦称之为“打包”。

(2)常用选项:

c完善新的备份文件

v显示指令执行过程

x解包

t显示tar文件的内容

z用gzip压缩或解压文件,以.tar.gz或.tgz为后缀

j用bzip压缩或解压文件,以.tar.bz2为后缀

f指定要操作的文件

-C指定解压目录

(3)示例:

tarczvf`date+%F`.log.tar.gz/var/log/#以时间为名称打包

tarxzvf2016-03-09.log.tar.gz-C/tmp/#-C指定解压目录

(4)gzip压缩

gunzip或gzip-d解压

只能压缩文件,不能压缩目录;后缀名为.gzlinux压缩文件夹命令 t,但是不保留原文件

(5)bzip2压缩

bunzip2或bzip2-d解压

压缩文件,-k参数可以保留原文件;后缀为.bz2

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复