• 日复一日


    4月12
          安装系统必须分区  /  和swap(不超4G时建议分它2倍)  最好也单独分个/boot分区  避免容量问题导致无法启动   安装好之后为系统配置IP    ifconfig命令   用于显示或配置网络设备(网络接口卡)的命令    dhclient是一个自动获取IP的命令   当然前提是在有DHCP服务的环境下    但实际机房的服务器IP都是手动固定的  所以我们得设置静态IP  先自动获取IP再运行route查看NETMASK(子网掩码)和GATEWAY(网关)IPADDR(网址)   vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes 开机启动网卡   BOOTPROTO=static(静态)   编辑要按i键  :wq保存退出   重启网络服务 service network restart    进行ping测试网络联通性  这个ping是不会停止 所以可以按   ctrl+c 可中断或者取消运行的命令   在完成网络连通下我们可以使用终端工具如putty和xshell SecureCRT等进行远程登录操控   密钥验证 :SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议     Generate(生成)    先在/root/下mkdir(创建目录的命令)  .ssh目录    chmod 其权限为700    rwx=421   
    ls列出当前路径的文件和目录 后接以下选项   -l 列出详细信息   -a列出隐藏文件   -d只列出针对目录  -t列出由近及远的操作时间排序  -h智能显示文件的大小  也可查看多个路径的文件  要查看.ssh的权限值操作   ls -la     把生成的公钥粘贴到  vi /root/.ssh/authorized_keys中(之前多次由于少了个s导致效果失败)   修改其权限chmod 600     selinux:是系统的一种安全机制  但为了避免实验错误性所以必须将其关闭  暂时关闭:#setenforce 0   永久关闭:#vi /etc/selinux/config  将Selinux=enforcing其改为disabled    临时清除iptables -F   然后保存规则service iptables save (/etc/sysconfig/iptables)       修改密码命令:passwd       history:列出历史操作命令
    七个运行级别:0-halt(关机)  1-single(单用户) 2-multiuser(多用户)没有NFS服务  3-full(命令行模式)  4-unused(为预留的 无用) 5-X11(图形模式 ) 6-reboot(重启)     init 3 内核自行启动     cat /etc/inittab  yum grouplist/groupinstall ''
    单用户模式:启动界面按e   选到带有kernel字样的那行再按e  输入1或者s  回车回到启动界面按b(boot的意思)可以修改密码
    救援模式:应用于系统无法进入  例如grub损坏或者某一个配置文件修改出错   选择shell模式  #chroot /mnt/sysimage 即可操作
    cd命令 不接选项回到当前用户的家目录   whoami查看当前用户   查看一个用户的家目录echo $HOME   pwd查看当前所在目录
    cd /etc/*/*进入指定路径   cd -切换到上次所在目录    cd ..进入上一级目录     cd后面跟的必须是目录是文件则会报错
    linux环境变量:which用来查找某个命令的绝对路径 #which ls      alias ls='ls --color=auto'     /bin/ls     取消别名unalias 别名
    #echo $PATH(打印出当前环境变量)  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin   添加路径/root到环境变量  # PATH=$PATH:/root       #. .bash_profile(重置环境变量)
    常用快捷键:ctrl+l  清屏      exit/logout/ctrl+d  退出     ctrl+u  删除光标前的    ctrl+k 删除光标后面的   ctrl+z 暂停运行
    fg 恢复运行  ctrl+s  锁屏    ctrl+q 解锁      ctrl+a快速定位光标首行   ctrl+e移动光标末尾
     
    4月13
    mkdir  创建目录 -p是用来创建级联目录的     rmdir删除目录(只针对目录本身无法删除非空目录 -p删除级联目录非空也无法删除) yum install -y  man后接命令是用来查看命令帮助信息的文档的  退出按q   -v是运行可视化的  tree是用来看目录树形结构的
    rm 用来删除目录和文件的无论非空不非空  带 -r选项才是删除目录的   -f强制删除   
    cp  -r拷贝目录必须选项   -i询问是否覆盖其实不带也会询问当然针对的是文件    -a连带文件属性 (注意复制 移动 接绝对路径后还有命名那就是双重效果 既cp mv 重命名)
    mv"命令操作目录时,不需要带"-r"选项,   ("cp"、"rm"等命令在操作目录时,是需要带"-r"选项的) 当源文件所在的目录跟目标目录不同时,就是剪切操作;   当源文件所在目录跟目标目录相同时,就是改名操作(目标文件为目录,并且目标文件不存在)(目标文件为目录,并且目标文件存在)(目标文件不是目录,且不存在,则会重命名)
     
    4月14
    cat命令(效果针对文件的不支持目录)   #echo '这里要用单引号' >ab/bc    #echo '这里必须要用单引号啊' >>ab/bc    cat ab/bc  打印出来的内容不会覆盖因为>>这也是重定向有追加效果  把前面的东西输入到后边的文件中  (尝试过目录 则不支持重定向 )但不删除原有的内容    而>则反之
    -n选项    显示对应的行号     -A(得大写)显示所有东西包括特殊字符 如$   
    tac命令 和cat相反   排列出来的顺序颠反了下  more这个命令则是针对cat查看文件内容时的不便性  空格键翻屏查看 
    less 相对more来说 支持上翻(ctrl+b)下翻(ctrl+f) G翻到文本末端  g翻到文件首部    查看过程中输入/和? 搜索字符串  前者是当前行向下搜索 可以按n显示下一个   N显示上一个   而?是当前行向上搜索      想退出q即可
    head   文件名  显示文件前十行   -n2选项显示文件前n行     n后空不空格无影响
      tail    文件名  显示文件后十行   -n2选项显示文件后n行     n后空不空格无影响  -f选项在文件不断增加 可动态显示文件的后十行
                    如(tail -f /var/log/messages  大写-F也是可以的)话说特别常用  所以得牢记 
     
    文件和目录属性 :目录也是文件的一种  列出的数值仅仅是目录   包含隐藏的   . 和..也是当前目录的子目录  这样就可以理解了!
    c字符设备类型    b块设备类型   s套接字文件进程间通信只能本地    p管道一个命令的输出作为另一个命令的输入
    chmod 命令 后可以直接数字 目标文件  也可以u=r--,g=r--,o=r--  目标文件  也可以u+x,g-w,o+r 注意用,分隔   a(ugo)+r 
    root用户创建的目录默认权值755  文件为644  默认的umask 022  对应的目录最大权值777  文件最大权值666  通过u,g,o加减推算权值  chmod和chown  后跟   -R选项相当于有往下继承的效果  xyz(数字)/u:g 中间.也一样意义  文件名  
    useradd增加用户 groupadd增加组    改变文件所属 chown  user:group  文件名   (chgrp 组名 文件名)    !结合最近使用的命令 ls  cd等等     #chmod -R a+rwx,g-rwx,o-rwx 文件名     所对应的rwx(u,g,o)相加减无论针对目录还是文件 不存在负值  即最大用0也就是-代替  这样理解好像是成立的
     
    4月16
    lsattr查看特殊文件  列出来的默认一个e  说是一种文件类型   lsattr -d 文件名  查看目录本身   lsattr -R 文件名 查看级联目录
    chattr +a  文件名(加a权限后 可以>>修改  不能删除  改名  非root用户不能设定  -a则取消效果)
    chattr +i 文件名 ,给文件添加i权限,表示文件不能删除,增加、重命名、设定链接等  固定死   -i则取消效果 (a i权限后-R是可以递归修改属性的)
    suid特殊权限   存放密码的配置文件 /etc/shadow  权限为000   ll  /usr/bin/passwd的权限rws 即suid  它的作用在于可以把使用这个命令的人赋予一种临时的权限  而这个临时的拥有者就是root  普通用户使用这个命令临时拥有root权限 所以才可以修改密码
    初始下普通用户无法ls /root/  但是通过root用户chmod u+s /bin/ls  普通用户就相当于临时拥有了root权限  logout可用来
    登出普通用户    root用户chmod u-x /bin/ls   u的权限就变成了rwS之前是rws  但依旧没有影响  要记住root是至高无上的 可普通用户o-x就没有那能力了 不能ls  对于普通的非二进制文件加了s权限是不起作用的(判别二进制文件 file /bin/ls  看到ELF就是二进制)
    目录加s权限没有意义 suid=4 sgid=2 stick=1  要看s作用哪里就添加到哪里 u,g,o   !$是上一条命令的最后一个参数  sgid可用目录
    当一个目录的权限为777 默认的文件权限为644 像这样类似的其他用户可以强行篡改(vi来说)目录下的原文件 并且所属主组都变了 那么这种情况就不是很安全 所以有t权限的出现了  它应用的意义在于目录    当有t权限之后其他人就不能随意删减了
     
    4月18
    which 用来查看某个命令的绝对路径   查看某文件时最起码需要执行权限并且在环境变量内
    whereis  ls  很模糊的查找  用的不多
    locate    安装 yum install -y mlocate    搜索文件时会提示不能统计  所以要updatedb更新列表库   这个命令也并不精准
    (当服务器上有着重要业务在跑,建议不要去运行这个更新 这样会导致负载很高)
    语法 find 路径 参数   /tmp (-name 文件名{可以通配*得引号起来})(-type 文件类型)  (-atime -ctime -mtime )+n/-n
    前面的三个时间参数是天 也可接参数 -mmin/分钟   +n/-n  (组合用法如 find /tmp/ -name '2*' -type d)
    find / inum 141250 (通过inode搜某些文件 前提是你得知道号啊)
    访问或者执行时间   写入 更改inode属性(更改所有者 权限或链接)    写入时间
    |:管道符  将前面命令的输出给后面的命令去执行  find /tmp/ -type f |xargs ll 报错(xargs: ll: 没有那个文件或目录)ls -l却可以
    find /tmp/ -type f |xargs -i mv {} {}.bbq  (两个大括号里面的是两个文件    源文件  目标文件)
    stat 文件名 查看三个时间属性  修改文件内容mtime变了  ctime必然也会变   cat读一下atime会变其他两个一定不会变  touch三个都会变  而ctime变了其他两个不一定会变(比如修改权限 属组)
    软链接:find /etc/ -type l |xargs ls -l    软链接类似一个快捷方式    ln -s /tmp/a.txt  /root/b.txt (可以是文件也可以是目录)
    它的inode是不一样的   删除源文件  链接就失效了  要用绝对路径做软链接
    硬链接:类似一个替身   指向相同的inode  并不会改变空间的大小  无论删除哪一个  依然有效   不支持目录做硬链接
    不支持跨分区(每一个分区下有自己一套独立的inode)
     
    4月20
    用户名文件:/etc/passwd   七个字段  1用户名;2存放的口令x 出于安全后将其存放在/etc/shadow中;3用户标识uid 0就是root
    1~499系统保留作为管理帐号 普通用户500开始;4组标识gid 对应位置/etc/group;5注释说明,记录用户属性 finger显示信息
    6用户的家目录 这个可以自定义 修改/etc/passwd对应用户的字段即可;7用户的shell   传达用户下达的指令到内核  默认/bin/bash
    限制用户登录/sbin/nologin
    新增组:groupadd [-g GID]  组名   指定gid      删除组:groupdel  组名    当某个组中包含了用户是无法删除的
    增加用户:useradd (-u -g -d -M -s) 用户名   不加任何选项则建立同名的用户和组  -M选项虽说不建立用户家目录但是在
    /etc/passwd中任然存有家目录字段  这个只是说没有生成用户的家目录的目录文件
    删除用户:userdel  [ -r ]  用户名   连带删除用户的家目录
    修改用户的属性usermod (-u -g -d -s -G -L -U)  附属组   锁定用户  解锁登录
    修改密码passwd  不接用户名默认修改root   也可指定用户名修改他的密码  这一切当然在root环境下
    自动生成密码:mkpasswd  安装一个包才有此命令yum -y install expect    -l 指定长度 -s指定特殊字符  -d指定数字个数  -c 字母
    #passwd --stdin hzc   只需输入一次密码
     
    4月21
    id/whoami   查看当前用户是谁   # su -(初始化当前用户的各种环境变量)用户名       编辑模式下/关键字可以快速搜索
    普通用户下不加-  su  切换到root 默认路径是之前用户的家目录  加- su 切换到root用户的家目录  
    #su - -c "mkdir/touch /tmp/222" hzc    su - -c "ls -ld /tmp/222" hzc(不切换root以hzc身份创建/tmp/222文件)
    visudo 找到添加的行编辑相关配置 test ALL=(ALL)ALL 逗号分隔多个命令  如要取消设定#注释掉就行 sudo -l  查看可运行状态
    添加命令/usr/bin/passwd      运行sudo passwd就可以更改root的密码这样不安全    每次使用命令需要密码登录 
    预设命令前添加NOPASSWD: 加空格就好了    umount  /mnt     mount 设备文件名 /mnt
    不允许root远程登录    编辑/etc/ssh/sshd_config  将PermitRootLogin yes/no  保存  重启service sshd restart服务
    free:查看swap使用状态   ls -h 文件名  显示文件实际大小    du  -h 文件名   显示磁盘占用空间大小
    df查看已挂载的磁盘的总容量,使用量,剩余量 常用选项 -i   -h  -k  -m         /dev/shm为内存挂载点
    du查看目录或文件所占空间大小 [-abckmsh]     -sh列出合理大小的总和
     
     

    5月1

     
      1. root的shell历史保存在~/.bash_history  正常退出才会保存进去
      2. alias做别名    记得后面的命令带'' 
      3. *匹配0个或者多个字符   ?匹配一个字符    >   >>    < ((输入重定向,用于改变命令的输入)  2>   2>>
      4. | 管道符 将前面命令运行的结果丢给后面命令执行    fg恢复暂停的命令    bg调动到后台运行   调入前台进程可以使用ctrl+c终止  
      5. jobs 查看被暂停或者后台运行的任务     运行进程的命令后面加 &符号可以查看进程pid   vmstat 1 >/tmp/1.log  &
      6. kill pid终结进程     -9选项  [pid]  强制结束进程
      7. 使用 env 命令即可全部列出系统预设的全部系统变量了。不过登录的用户不一样这些环境变量的值也不一样。当前显示的就是root这个账户的环境变量了。下面阿铭简单介绍一下常见的环境变量:
      8. PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录 HISTSIZE 历史记录数 LOGNAME 当前用户的登录名 HOSTNAME 指主机的名称 SHELL 前用户Shell类型 LANG 语言相关的环境变量,多语言可以修改此环境变量 MAIL 当前用户的邮件存放目录 PWD 当前目录
      9. env命令显示的变量只是环境变量,系统预设的变量其实还有很多,你可以使用set命令把系统预设的全部变量都显示出来。
      10. set不仅可以显示系统预设的变量,也可以连同用户自定义的变量显示出来。
      11. 声明多个变量 中间用;隔开  变量名不能以数字开头  变量内容有特殊符号就要带上单引号   bash打开一个子shell export声明全局变量 子shell也生效
      12. tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
      13.  在这里,你只需要明白一个道理:正常访问网站,是这样的一个过程,源ip向服务器(目标ip)的80端口发起请求,假如源ip为1.1.1.1 目标ip为2.2.2.2 ,那我们只需要在服务器上也就是2.2.2.2上增加一条规则,filter表INPUT链,把1.1.1.1这个来源ip访问目标端口为80的包给拒绝或者丢掉就直接封了这个1.1.1.1来源ip。
      14. DROP就是包过来连看都不看直接扔了,REJECT包过来后,先拿来看看,然后再拒绝掉。DROP更显的流氓,REJECT有点礼貌
      15. kill  也可以杀 screen的id
      16. does not exist  不存在
      17. /etc/profile.d/     里面定义变量的时候不要加空格可以多行定义
      18. 克隆之前,先把 vim /etc/udev/rules.d/70-persistent-net.rules这里面的所有行都注释掉,然后再关机克隆  但是并不知道eth1的配置文件在哪里  所以还是得去改 IP MAC UUID(通过软件查看)
      19. 还原虚拟网络编辑器  vmnet1 /vmnet8  即使已经禁用也自动启动了  然后重新划分网段
      20. 以下是我的路由表的一项:
        Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
        202.119.24.55   172.18.12.129   255.255.255.255 UGH   0      0        0 eth0

        我的局域网IP是172.18.12.153
        这条路由的意思是:
        当目的地址是202.119.24.55时,发到网关172.18.12.129, 255.255.255.255表示全匹配。
        即当查找路由表至此表项时,目的地址与255.255.255.255做与运算,若结果等于202.119.24.55,则发给172.18.12.129(此IP是到202.119.24.55的下一跳。)。
  • 相关阅读:
    编写登陆认证程序
    模拟实现一个ATM + 购物商城程序
    三级菜单
    12 场景制造
    11 Unity Editor界面
    3.7练习题
    Coolite 弹窗妙用
    Nginx反向代理 实现Web负载均衡
    MySQL 架构
    Lnmmp
  • 原文地址:https://www.cnblogs.com/wowcool/p/6366200.html
Copyright © 2020-2023  润新知