美文网首页
linux基础知识(二)

linux基础知识(二)

作者: 朱溪江 | 来源:发表于2018-12-26 09:10 被阅读21次
    1.将 /usr/local/test 目录下的大于 100k 小于500k 的文件转移到/tmp(-size 可以连着写)

    find /usr/local/test/ -size +100k -a -size -500k -exec mv -v {} /tmp/ ;

    2. 请找出 /home 所有七天以前,以 .ok 结尾的文件

    find /home/ -mtime +7 -a -name "*.ok"

    3.系统安全加固应该怎么做?

    0.1密码策略 并且经常修改密码 使用特殊字符和长度
    权限,锁定系统中不必要的系统用户和组
    锁定之前备份passwd shadow
    1.1锁定系统中多余的账号 password -l password -u
    1.2 设置系统口令策略 使用命令 #cat /etc/login.defs|grep PASS 查看密码
    加固方法:vim /etc/login.defs
    1.3 禁用root之外的超级用户
    1.4 限制能够su 为root的用户
    1.5 检查shadow中空口令账号
    2.1 停止或禁用与承载业务无关的服务
    3.1设置合理的初始文件权限 umask = 027
    4.1网络访问控制
    使用SSH进行管理
    4.2 禁止root用户远程登录,使用普通用户登录su到root 用户
    4.3 防止误使用ctrl+alt+del重启系统 vi /etc/inittab 注释掉

    4.标准端口的范围是多少?

    1~65535
    (1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
    (2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
    (3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

    5.linux运维工程师应该具备哪些职业技能和品质?

    1.技能,足够专业的知识面存储,凭借熟悉程度加相关文档配置服务,以便提高工作效率又防止漏配;整理排错过程,快速定位并且解决问题,谨慎(因为云计算工程师拥有很高的权利,防止给公司带来损失);
    2.有责任心,
    (1.要有网络基础。现在时互联网的时代,任何一个应用离开了网络什么都不是,这在linux中体现的尤为重要,由于Linux多用于服务器领悟,网络是最重要的介质。所以一个优秀的运维人员,网络技术是必须要掌握的。可以系统的看一看ccnp的知识,深入理解一下TCP/IP协议。
    2.开发基础。对于Linux来说,如果你会编程,哪怕只会一种编程语言,那么也是非常好的。由于运维和开发是紧密关联的,如果一个运维人员不懂开发,没有开发人员的思想。那么他就不可能理解开发人员的想法。其次,Linux不像windows,其涉及到多方面的开发,比如shell脚本,python自动化运维,php、js等等 都是可以帮助运维人员更好的管理和操作linux的工具。
    3.自学能力,理解能力,抗压能力。linux目前国内的应用越来越多,linux运维也不像以前那么的神秘,但相比window还是有一定的门槛。但相对的薪资水平也不是一个档次。由于Linux运维一直走在技术的前沿,那么自学能力一定是你拉开别人的利器。可以这么说,在这个知识开放的年代,什么样的能力都是浮云,唯有自学能力是一个人是否优秀的体现。)

    6.grep 怎么同时过滤两个条件
    grep -E "word1|word2|word3" file.txt
    
    7.查找出最后创建时间是三天前后缀是*.log 的文件并且删除。
    find -mtime +3 -a -name "*.log" |xargs rm -rf
    
    8.查找出linux系统下以TXT结尾30天内没有修改的文件,大小大于20k,同时具有执行权限的文件,并备份到 /data 下
    find / -name "*.txt" -mtime +30 -size +20k -perm 755 -type f -exec cp -rvf {} /data \;
    
    9.每次开机在 /tmp下创建一个当天日期的目录

    vim /etc/rc.d/rc.local
    添加 mkdir -p(递归创建)/tmp/date +%F保存退出
    添加 /etc/rc.d/rc.local 的执行权限

    10.删除 /logs 目录下七天前的日志
    find /var/log -mtime +7 |xargs rm -rvf
    
    11.磁盘空间满了,删除一部分NGINX日志后,磁盘空间仍然是满的,为什么?

    在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。而删除的是nginx的log文件删除的时候文件应该正在被使用
    解决方法
    重启nginx服务,或者用>/opt/nginx/logs/nginx.log清空日志文件,而不是直接删除。

    12.请用linux命令行实现查看 /var/log 目录下的文件数?(wc)

    1.1统计当前目录下文件的数目

    ls -l |grep "^-"|wc -l
    

    1.2统计当前目录下目录的个数

    ls -l |grep “^d”|wc -l
    

    1.3 统计文件夹下目录的个数,包括子文件夹里的

    ls -lR|grep “^d” |wc -l
    
    13.cpu利用率高,cpu的负载一定高吗?

    等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就导致负载过大,但cpu使用率低。
    1。磁盘读写 请求过多就会导致大量I/O等待

    1. MySQL中存在没有索引的语句或存在死锁
    2. 外接硬盘故障,常见有挂在了NFS,但是NFS Server 故障
    14.创建一个 1G 的文件(dd if )
    dd if=/dev/zero of=/tmp/test bs=1M count=1024
    

    此命令在/tmp/下建立一个名为test的1g的文件
    在当前目录下会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源),但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢。在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘

    此时创建的文件在文件系统中的显示大小为1000000MB,但是并不实际占用block,因此创建速度与内存速度相当,seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的。当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的

    相关文章

      网友评论

          本文标题:linux基础知识(二)

          本文链接:https://www.haomeiwen.com/subject/lghqlqtx.html