• linux


    1.chattr和lsattr使用

    lsattr /etc/resolv.conf
    chattr +i /etc/resolv.conf	#不能修改,不能删除 只读
    lsattr /etc/resolv.conf  #查看文件属性
    
    chattr -i +a /etc/resolv.conf #只能追加,不能删除
    lsattr /etc/resolv.conf
    echo aaaa >> /etc/resolv.conf	#只能追加,不能删除
    

    chattr 改变一个Linux文件系统上的文件属性。

    一个通用格式是:+-=[aAcCdDeijsStTu]
    + :在原有参数设定基础上,追加参数。
    - :在原有参数设定基础上,移除参数。
    = :更新为指定参数设定。
    A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
    S:硬盘I/O同步选项,功能类似sync。
    a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
    c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
    d:即no dump,设定文件不能成为dump程序的备份目标。
    i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
    j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
    s:保密性地删除文件或目录,即硬盘空间被全部收回。
    u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
    各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。
    

    2.文件访问控制列表

    getfacl 文件名 //查看访问控制信息
    
    setfacl -m u:用户名:权限  文件名   //设置用户对此文件的访问权限
    setfacl -x u:用户名:权限  文件名   //取消
    

    3.链接文件的创建

    ln -s /etc/passwd /root/passwd  //为文件设置软连接
    ln /etc/passwd /mnt/passwd		//为文件设置硬连接
    

    4.u+s
    直接在普通用户使用vim编辑器打开文件是不可以修改的,给vim设置强制位setuid之后就可以以root身份去执行

    chmod u+s /usr/bin/vim
    su - zhangsan
    vim /etc/passwd  
    

    5.vim基础操作
    1.)命令模式

    yy   复制   	nyy  复制n行
    dd   剪切   	ndd  剪切n行
    p    粘贴   	G    跳转至尾行
    g    跳转至首行 dw/ndw   剪切至词尾/剪切后n个单词
    d$	 删除至行尾
    :r /etc/rc.d/rc.sysinit
    :r! find / -name passwd  底行模式,执行其他命令
    :set number 开启行号
    :行号
    : set nonumber 关闭行号
    :s/old/new/g 查找替换
    :2,6s/old/new/g
    :%s/old/new/g  查找替换
    :X 加入密码
    :q 退出
    :q! 强制退出
    :wq 保存退出
    :wq! 强制保存退出
    :x  退出
    

    6.文件查找
    (1.)可执行文件的搜索

    which ls
    whereis ls 
    

    (2.)locate搜索

    apt-get  install -y locate
    updatedb
    locate passwd
    

    (3.)find使用

    find / -name xxx
    find / -user zhangsan
    find / -group zhangsan
    find / -perm 644
    find / -size +10k
    find /etc -size -10k
    find /etc -type  f/c/b/l/d
    

    (4.)移除文件

    rm -rf /tmp/*
    find /etc/ -type f -exec cp {} /tmp/ ;  //查找执行
    

    (5.)查看文件内容的操作

    head -5 passwd
    tail -5 passwd
    more passwd
    less passwd
    

    (6.)统计行数

    cat passwd |wc -l 
    wc -l passwd
    

    (7.)grep用法

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

    (8.)排序

    sort passwd
    

    (9.)去重复

    uniq 1.txt
    paste passwd  /etc/passwd
    

    (10.)文件的归档

    date +"%Y-%m-%d %H:%M:%S"
    tar czvf `date +%F`.log.tar.gz /var/log/
    tar xzvf 2018-04-09.log.tar.gz -C /tmp/
    

    (11.)paste用法
    paste 指令会把每个文件以列对列的方式,一列列地加以合并。

    语法:

    paste [-s][-d <间隔字符>][--help][--version][文件...]
    参数:
    
    -d<间隔字符>或--delimiters=<间隔字符>  用指定的间隔字符取代跳格字符。
    -s或--serial  串列进行而非平行处理。
    --help  在线帮助。
    --version  显示帮助信息。
    [文件…] 指定操作的文件路径
    

    使用示例

    paste file testfile testfile1 #合并指定文件的内容 
    paste -s file             #合并指定文件的多行数据,为一行数据
    

    (12.)批量注释

    在指定的行首添加注释。

    使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。
    

    取消注释:

    使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。
    

    例子:

    1、在 10 - 20 行添加 // 注释
    
    :10,20s#^#//#g
    2、在 10 - 20 行删除 // 注释
    
    :10,20s#^//##g
    3、在 10 - 20 行添加 # 注释
    
    :10,20s/^/#/g
    4、在 10 - 20 行删除 # 注释
    
    :10,20s/#//g
    
  • 相关阅读:
    JavaScript中的prototype
    SQL 时间格式转换
    ASP.NET MVC自定义视图引擎ViewEngine 创建Model的专属视图
    JavaScript事件使用指南
    30行代码实现JavaScript中的MVC
    JavaScript中this指针指向的彻底理解
    JavaScript 中的命名空间
    C#嵌套类型
    C# 为枚举创建新方法
    Lambda 表达式
  • 原文地址:https://www.cnblogs.com/tomtellyou/p/13213431.html
Copyright © 2020-2023  润新知