• centos 阶段复习 2015-4-6 dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史 /dev/zero 零发生器 /dev/null 黑洞 /dev/random 生成随机数 第十一节课


    centos 阶段复习 2015-4-6  dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史  /dev/zero 零发生器  /dev/null 黑洞   /dev/random 生成随机数  第十一节课

    104道题

    redhat 的源代码重新编译一下 变为了centos
    redhat收购了centos


    分区大小

    /boot 200M
    SWAP 2G <8G
    内核参数 swapness调整0 为什么系统仍然可能会有swap发生
    腾讯将swapness调整0
    腾讯将centos改为tlinux

    swappiness的值是个参考值,是否会发生swap跟当前是哪种page reclaim及系统当前状态都有关系,所以设置了swappiness=0并不代表一定没有swap发生,同时设为0也确实会可能发生OOM。

    个人仍然认为线上环境设置swappiness=0是没有任何问题的。
    http://www.douban.com/note/349467816/


    ifconfig -a  查看down掉的网卡

    网卡地址:/etc/sysconfig/network-scripts/ifcfg-eth0

     

    ifdown 没有UP

     

    ifup

    没有加-a


    DNS
    # cat /etc/resolv.conf 

    杀掉下面两个 进程 kill - 9
    dhclient服务
    network manager服务

    在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务network manager重启以后会根据
    /etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重新变成空值。


    修改主机名

    cat /etc/sysconfig/network


    密钥登录
    公钥放在服务器上
    私钥放在自己电脑
    最好设置私钥密码,丢掉密钥也比较安全
    公钥放在家目录下,不管是root还是普通用户
    xx/.ssh/authorized_keys
    chmod 600 xx/.ssh/authorized_keys
    关闭selinux cat /etc/selinux/config
    iptables -F
    service iptables save


    ssh命令
    他也有像xshell那样生成密钥对的小工具:ssh-keygen


    which myssh
    alias myssh=ssh -i /root/.ssh/1.txt
    1.txt为私钥,存放在本机的.ssh/目录下,只要远程机器有公钥就可以连接
    所以服务器都使用相同密钥对
    自己的本地机器Windows也存放同样的1.txt私钥,使用xshell使用密钥登录

    myssh www.bpy.com
    myssh 192.168.2.8


    救援模式:chroot /mnt/sysimage


    0:关机

    1:单用户

    2:少NFS

    3:命令行模式

    4:保留

    5:图形

    6:重启


     我们给某个目录的权限设置为rwxrw-rw- 766,其他用户能否ls该目录下的内容,能否进入到该目录下

    可以ls,因为有r权限,不能进入 cd,没有x权限


    20. 一个目录123的权限为755,属主和属组为root,在该目录里面有一个文件1.txt,权限为777,属主和数组为root,

    那么普通用户aming是否可以更改1.txt的内容?是否可以重命名1.txt为2.txt?

    可以更改,但是不能重命名

    http://www.cnblogs.com/MYSQLZOUQI/p/4802951.html

    用户有父目录的other位写入w权限,那么就可以删除重命名父目录下的文件和目录

    [root@steven ~]# ls -ld /123
    drwxr-xr-x 2 root root 4096 9月  28 00:38 /123
    [root@steven 123]# su - user3
    [user3@steven ~]$ echo 'df' >/123/1.txt 
    [user3@steven ~]$ mv !$ 22.txt
    mv /123/1.txt 22.txt
    mv: 无法将"/123/1.txt" 移动至"22.txt": 权限不够
    [user3@steven ~]$ 

    21. 如果设置 umask 为 001 , 那么用户默认创建的目录和文件的权限是什么样子的?

    目录:776

    文件:666


    22. 用find找出 /var/ 目录下,最近一天内变更的文件?再用find找出 /root/ 目录下一小时内变更的文件?

    atime:访问过文件,例如cat ,虚拟机cat之后可能atime不会变,但是真实机不会

    ctime:改过inode

    mtime:改过block

    find /root/ -mmin -60


     23. 用find找出 /etc/ 目录下,一年内从未变更过的文件?

    find /etc/ -type f ! -mtime -365  取反


    25. Linux系统里,分别用什么符号表示: 普通文本文件、二进制文件、目录、链接文件、块设备、套接字文件以及串行端口设备?

     普通文本文件 -

    二进制文件 -

     目录 d

    链接文件 l

    块设备 b

    套接字文件 s

    串行端口设备  c


     29. 如何使文件只能写不能删除? 如何使文件不能删除、重命名、设定链接接、写入、新增数据?

    特殊权限

    chattr +a

    chattr +i

    lsattr -R


     30. Linux 下一个点 '.' 和两个点 '..' 分别表示什么?

    当前目录

    上一级目录


    32. 用ls 查看目录或者文件时,第二列的数值表示什么意思?如果一个目录的这列的值为3,那么这个3是如何得到的?

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


    33. 如果没有locate命令,需要我们安装哪个包?初次使用locate命令会报错“can not open `/var/lib/mlocate/mlocate.db': No such file or directory”, 需要我们如何做呢?

    locate命令不会列出/tmp/目录


    1Mbps带宽一个月600元


    36. 更改文件读写执行权限的命令是什么?如何把一个目录下的所有文件(不含目录)权限改为644?

    find  /etc/ -type f |xargs chmod 644


    37. 如何查看当前用户的家目录是什么?
    [user3@steven ~]$ echo $HOME
    /home/user3


    41. linux系统里哪个命令设置了set_uid?其作用是什么?

    /etc/shadow


    42. set_uid 能否作用在目录上?

    可以,但无意义,一般二进制文件


    46. 我平时用一个命令很频繁,但是这个命令很长并且有多个选项,请为我想个办法,使我的操作快捷起来。

    alias也可以是shell脚本


    48. 我在/tmp/目录下临时放了一个可执行的命令,我可以这样使用它:/tmp/aming ,但不能直接输入aming去执行,为什么呢?

    如何做才能这样用?

    放在/etc/profile


    PATH=$PATH:/tmp/123


    50. 有一天你遇到一个奇怪的现象,你的远程终端窗口突然卡死了,无论敲什么命令都没有反应,想一下会是什么原因导致?

    ctrl+q


    锁屏解锁


    53. 新建一个用户,会改动系统里面哪些文件?
    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow
    /home


    56. 你一直使用的一个普通用户不能再登录,提示This account is currently not available. 这是什么原因呢?

    /sbin/nologin


    60. 请实现下面这个需求:只允许使用普通账户登陆,而普通账户登录后,可以不输入密码就能sudo切换到root账户,root是不允许远程登录的。

    visudo
    /etc/ssh/sshd_config

    /etc/sudoers


    61. 假如我们已经创建了一个普通用户user1, 默认这个用户的家目录为/home/user1, 做实验证明能否直接修改/etc/passwd配置文件中user1的家目录那个字段而改变user1的家目录呢?

    cp -rp /etc/skel/ /home/aming1/
    或许
    cp -r /etc/skel/ /home/aming1/
    chown -R amign1:aming1 /home/aming1/

    cp -p :把权限也复制过去


    63. 在root用户下,如何以普通用户aming的身份去执行一条命令?

    su -c "touch ab.txt" - aming


    64. 有一天你发现linux系统不能再创建新文件,你如何做?
    dd if of bs= count=  默认单位:字节

    /dev/zero 零发生器
    /dev/null 黑洞
    /dev/random 生成随机数

    写速度,/dev/zero零发生器不会有读  写1G文件
    dd if=/dev/zero  of=/root/bigfile count=1000 bs=1M --可以指定单位
    读速度
    dd if=/dev/sda  of=/dev/null  count=1000 bs=1M --可以指定单位

    腾讯云的读速度

    写速度

    家里虚拟机的读速度

    写速度

    备份MBR
    dd if =/dev/sda of =/tmp/1.txt bs= 512 count=1

    gzip

    -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。 

     http://www.cnblogs.com/qq78292959/archive/2012/02/23/2364760.html

    备份: 
    dd if=/dev/hdx of=/dev/hdy #将本地的/dev/hdx整盘备份到/dev/hdy 
    dd if=/dev/hdx of=/path/to/image #将/dev/hdx全盘数据备份到指定路径的image文件 
    dd if=/dev/hdx | gzip >/path/to/image.gz   Linux就这个范儿
    #备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径
    
    恢复:
    dd if=/path/to/image of=/dev/hdx #将备份文件恢复到指定盘 
    gzip -dc /path/to/image.gz | dd of=/dev/hdx #将压缩的备份文件恢复到指定盘
    
    
    备份软盘 
    dd if=/dev/fd0 of=disk.img count=1 bs=1440k --可以指定单位
    将软驱数据备份到当前目录的disk.img文件
    
    
    拷贝内存资料到硬盘 
    dd if=/dev/mem of=/root/mem.bin bs=1024 
    将内存里的数据拷贝到root目录下的mem.bin文件
    
    2.1.6.从光盘拷贝iso镜像 
    dd if=/dev/cdrom of=/root/cd.iso 
    拷贝光盘数据到root文件夹下,并保存为cd.iso文件
    
    
    销毁磁盘数据 
    dd if=/dev/urandom of=/dev/hda1   Linux就这个范儿
    利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作无法执行。
    
    
    得到最恰当的block size 
    dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file 
    dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file 
    dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file 
    dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file 
    通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小
    
    
    测试硬盘读写速度 
    dd if=/root/1Gb.file of=/dev/null bs=64k  Linux就这个范儿
    dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000 
    通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

    66. 你的服务器里面磁盘快满了,现在又添加了一块1T新硬盘,领导要求你划分两个分区,一个分区用来做备份,另外一个用来存储数据。你怎么做? 假如你发现一个问题,旧硬盘有一个分区每天都有新数据产生,你如何做才能避免旧硬盘被写满?

    ln -s 新盘 旧盘

    ln -s /tmp/dir新盘 /root/dir旧盘 /root/dir这个目录是不能预先创建好的,否则ln: 创建符号链接 " /root/dir旧盘": 文件已存在,软链接创建失败


    实际上这个答案是不行的,办法就是要么rm删除旧盘的文件,或者mv移走
    要么
    umount -l /root/dir旧盘
    将新盘挂载到/root/dir旧盘


    67. 假如你的新硬盘将要存放的文件,80%以上都是小于1k的,为了避免空间浪费你需要如何格式化这块硬盘,注意考虑inode数量。

    mke2fs -b 1024

    最小块大小:1024

    1024,2048,4096,8192


     70. 我们在分区时,最多可以分几个主分区和扩展分区?它们有什么规律呢?逻辑分区和扩展分区又有什么关系?

    对于MBR
    主分区+扩展分区<=4
    1<=主分区<=4
    0<=扩展分区<=1

    对于GPT
    可以有128个主分区


     74. 卸载某个分区的时候,会提示你磁盘在忙,无法卸载,你如何应对?

    先出来 ,不要逗留在那个分区,cd 

    然后,umount -l 


    75. 镜像文件(.iso)如何挂载到linux系统里面,去读里面的文件内容?

    mount -o loop xxx.iso  /mnt


    76.找出/media 目录下所有的mp3文件

    find /media -name "*.mp3"


    77.当在对服务器进行大负荷操作的时候,你不希望现在有普通用户登录上来,你该怎麽做,不能剪网线

    切换到root,然后执行命令 :touch /etc/nologin

    如果发现普通用户登录不上,可以检查一下/etc下是否有nologin这个文件


    78.出于安全考虑,如何实现让别人ping不通你的在线服务器

    两种方法 

    echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_all
    
    iptables禁止ping的命令如下:
    iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j DROP
    
    
    恢复ping的命令如下:
    iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j ACCEPT

    80. root用户用vim编辑完一个只读文件,保存会提示这文件只读,你需要如何做才能顺利保存?

    wq!


     81. vim分为几种模式?我们可以在这几种模式下做什么操作?

    进入编辑模式 : i  ,a ,o


    85. 如何快速删除一串很长跨行的字符串?
    先按v,然后hjkl移动,然后再x
    或者
    da{  hjkl }


    88. 写出你所见过的所有压缩包的名字,并且写出解压他们的命令
    .tar.gz
    .tar.bz2
    .tar.xz


    91. 在centos上想要安装一个软件,可以通过哪几种方式来安装?

    1源码安装
    2rpm安装
    3yum安装


    92. 使用rpm工具如何安装和卸载一个rpm包?

    rpm -i 包名

    rpm -i http://xxx.rpm
    rpm -i ftp://xxx.rpm


    rpm -e 包名


    93. 如何查看你的机器上都安装过哪些rpm包?

    rpm -qa
    yum list

    yum grouplist

     显示install的


    94. 如何查看一个rpm包都安装了哪些文件?

    rpm -ql

    query list


    95. 如何查找某个文件是由哪个rpm包安装来的?

    rpm -qf   

    query  file

    rpm -qf `which vim`
    vim-enhanced-7.4.629-5.el6.x86_64


    99. 如何查看你的系统都安装过哪些工具集?如果想安装中文支持如何做?

    LANG=en

    cat /etc/sysconfig/i18n    centos7是 /etc/locale.conf
    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    yum grouplist
    yum groupinstall "Chinese Support"


    105. 限制登录ip和允许登录ip 远程服务器

    第一种方法

    即时生效  ,已经登录服务器的不会被踢掉,尝试登录服务器的会被拒绝

    Connection closed by foreign host.

    Disconnected from remote host(家里CentOS6.6) at 13:39:56.

    # cat /etc/hosts.allow

    # cat /etc/hosts.deny

    echo "sshd: 192.168.1.100" >> /etc/hosts.deny


    先allow 再deny 白名单

    hosts.allow
    sshd: 192.168.31.141 192.160.0.0/24
    hosts.deny
    sshd: ALL

    第二种方法 iptables防火墙 22端口


    106. centos下打开vim怎麽永久显示行号

    注意:只对某个用户有效,比如只修改root用户的.vimrc文件那么只对root用户有效

    如果没有.vimrc文件需要先在用户家目录vi一个.vimrc文件,然后再编辑

    # vi .vimrc
    # cd ~  //打开root用户的家目录
    # vi .vimrc   //编辑隐藏文件.vimrc  输入 set nu  退出 wq
    # vim /etc/passwd    //查看效果

     107. 清空history命令历史

    root@centos66 ~]# history -c
    [root@centos66 ~]# history
        1  history

    f

  • 相关阅读:
    11
    关于一些问题的解决办法[记录]TF400017
    jdbc一次性采集mysql和oracle的海量数据,5000W+为例
    java 读取配置文件类
    Apache Thrift
    Runtime.getRuntime().exec 类 防止阻塞
    angularjs select
    angularjs
    简单的搭mysql开发环境
    运用java反射
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/4845435.html
Copyright © 2020-2023  润新知