UCA-Linux系统工程师初级知识(二)【4-6】

目录

四:目录管理

1、常见目录:

(1)setuid

(2)setgid

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

(1)例子:

五:系统交互工具与编辑器

1、实验要求:

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

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

2、vim编辑器:

(1)vim的三种模式:

(2)vim基础操作

(3)修改vim配置

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

六:系统文件查找与文件管理

1、可执行文件的搜索

2、find 在指定目录下查找文件

(1)特点:

(2)常用选项:

(3)示例:

(4)对文件进一步操作

(5)示例:

3、grep 查找文件里符合条件的字符串。

(1)常用选项:

(2)示例:

4、tar 文件归档压缩

(1)功能说明:

(2)常用选项:

(3)示例:

(4)gzip 压缩

(5)bzip2压缩


UCA-Linux系统工程师初级知识(一)【1-3】

UCA-Linux系统工程师中级知识(三)【7-9】

四:目录管理

Linux系统的目录组成类拟一个倒置的树型结构,它以一个名为根(“/”)的目录开始向下延伸。
它不同与其它操作系统。例如windows,在windows中,它有多少分区那么就有多少个根,而这些根之间是并列的,而在Linux中无论有多少个分区都有一个根。

在Linux系统中对应的文件类型字符为“d”。
目录是一种特殊的文件
目录上的读写执行权限与普通文件有所不同。
    读:用户可以读取目录内的文件
    写:单独使用没有作用。它与读和执行权限连用可以在目录内添加与删除任何文件。
    执行:用户可以进入目录,调用目录内的资料

1、常见目录:

    /bin    存储常用用户指令。
    /boot   存放用于系统引导时使用的各种文件
    /dev    存放设备文件
    /etc    存放系统、服务的配置目录与文件
    /home   存放用户家目录
    /lib    存放库文件,如内核模块、共享库等
    /usr    存放系统应用程序目录i

(1)setuid

    设置使文件在执行阶段具有文件所有者的权限(例如:/usr/bin/passwd);如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权
    语法:
        chmod u±s <文件名>

(2)setgid

    该权限只对目录有效,目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组
    语法:
        chmod g±s <目录名>

u+s实验:
    su - uos1
    touch /root/file        #权限禁止
    chmod u+s /usr/bin/touch    #给touch设置强制位setuid之后就可以以root身份去执行
    su - uos
    touch /root/file        #权限允许
    切回root查看


g+s实验:
    mkdir uos1  //创建目录/uos 并设置所属组为uos
    chown :uos /uos1/
    touch /uos1/1.txt    //新创建文件、可以看到其属组还是属于创建者的
    chmod g+s /root/uos1/      //为属组添加强制位setgid
    touch /uos/2.txt    //可以看到新建的文件会自动继承此前目录的属组


o+t实验:
    useradd -m -s /bin/bash uos1
    mkdir /tx
    chmod o=rwx /tx/
    touch /tx/uos1
    su - uos1
    rm /tx/uos1     //是可以删除的

    exit   注销
    chmod o+t /tx/
    touch /tx/uos2
    su - uos1
    rm  /tx/uos2 
    rm: 无法删除'/tx/uos1': 不允许的操作  //加上t权限之后就不可以删除其他人的文件

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

umask值与新建文件、目录权限对照表
    umask值  目录权限值   文件权限值
    0           7           6
    1           6           6
    2           5           4
    3           4           4
    4           3           2
    5           2           2
    6           1           0
    7           0           0
例如:umask 值为 0000,则目录权限值 777,文件权限值 666
     umask 值为 0022,则目录权限值 755,文件权限值 644

(1)例子:

    umask 
    0022    //当前umask掩码是0022,新创建文件的权限是644,目录的权限是755
    touch file1
    mkdir di1
    ls -l 
    umask 0027  //将umask掩码修改为0027之后,新建文件的权限是640,目录的权限是750
    touch file2
    mkdir di2
    ls -l


五:系统交互工具与编辑器

1、实验要求:

     除管理员root用户外,新建普通用户uos1
    使用tty1登录root用户,tty2登录uos1

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

   //使用root用户对uos1用户发送消息
    root@uos1-PC:~# write uos1
    write: write: you have write permission turned off.
    aaaaaaaaaaa
    aaaaaaaaaaa
    ctrl+d 结束
    //去uos1用户验证查看

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

    //使用root用户对所有用户发送消息
    root@uos1-PC:~# wall 123456789                                                            

    //客户端验证接收

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 / 读命令结果保存到文件中
        :set number 行号
        :set nonumber   去除行号
        :s/old/new/g    在当前行中查找到的所有字符串old替换为new
        :2,6s/old/new/g 2-6行替换
        :%s/old/new/g   在整个文件范围内替换
        :X  加入密码
        :q  不保存退出
        :q! 强制退出不保存
        :wq 保存退出,同x
        :wq!    强制保存退出
    进入编辑模式
        a   光标后插入
        i   当前光标前插入
        o   在当前光标下插入空行
        A   在光标所在行尾插入 
        I   在光标行首插入内容
        O   在当前光标上插入空行

(3)修改vim配置

    echo ":set number" >> /etc/vim/vimrc
    vim /etc/passwd

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

    vim uos   直接关闭终端
    ls -la
    vim uos 会有提示信息
    删除同目录下面同名的隐藏文件即可


六:系统文件查找与文件管理

1、可执行文件的搜索

    which <指令>  显示一个指令的完整路径与别名。
    whereis <指令>    搜索一个指令的完整路径以及其帮助文件

locate 用于查找文件或目录,比find命令快,是因为不回去搜索目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db,这个库有本地所有文件信息,Linux会自动创建这个数据库,每天自动更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库
    apt-get install locate -y
    updatedb
    locate passwd

2、find 在指定目录下查找文件

(1)特点:

    从指定路径下递归向下搜索文件。
    支持按照各种条件方式搜索。
    支持对搜索得到的文件再进一步的使用指令操作(例如:删除、统计大小、复制等)

(2)常用选项:

    -name    根据文件名寻找文件
    -user    根据文件拥有者寻找文件
    -group    根据文件所属组寻找文件
    -perm    根据文件权限寻找文件
    -size    根据文件大小寻找文件[±Sizek]
    -type    根据文件类型寻找文件,常见类型有: f(普通文件) 、c(字符设备文件)、b(块设备文件)、l(连接文件)、d(目录)
    -o     表达式或
    -a    表达式与

(3)示例:

    find / -name uos1
    find / -user hehe
    find / -group xiaolizi
    find / -perm 644
    find / -size +10k
    find /etc -size -10k
    find /etc -type  f/c/b/l/d

(4)对文件进一步操作

    find [路径]  [参数] [表达式]  -exec  指令 {}  \;
    {}代表find找到的文件
    ;命令结束标志,由于各个系统中的;会有不同的意义,所以前面加\转义

(5)示例:

    find /tmp/ -type f -exec rm -rf {} \;        用exec选项执行cp命令  

3、grep 查找文件里符合条件的字符串。

(1)常用选项:

    -c    计算匹配关键字的行数
    -i    忽略字符大小写的差别
    -n    显示匹配的行及其行号
    -s    不显示不存在或不匹配文本的错误信息
    -h    查询多个文件时不显示文件名
    -l    查询文件时只显示匹配字符所在的文件名 
    -v  取反
    --color=auto

(2)示例:

    grep root /etc/passwd
    grep ^root /etc/passwd
    grep bash$ /etc/passwd
    grep -i ROOT /etc/passwd

4、tar 文件归档压缩

(1)功能说明:

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

(2)常用选项:

    c   建立新的备份文件
    v   显示指令执行过程
    x   解包
    t   显示tar文件的内容
    z   用gzip压缩或解压文件,以.tar.gz或.tgz为后缀
    j   用bzip压缩或解压文件,以.tar.bz2为后缀
    f   指定要操作的文件
    -C    指定解压目录

(3)示例:

    tar czvf `date +%F`.log.tar.gz /var/log/        #以时间为名称打包
    tar xzvf 2016-03-09.log.tar.gz -C /tmp/        #-C指定解压目录

(4)gzip 压缩

gunzip或gzip -d解压
只能压缩文件,不能压缩目录;后缀名为.gz,而且不保留原文件

(5)bzip2压缩

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值