linux命令收集

      1. eval `getent passwd $LOGNAME | cut -d: -f7`  获得用户自己的解释器路径并执行
      2. echo $? 查看上一条命令执行成功否
      3. 清理message queues
        ipcs查询msqid
        ipcrm -q [msqid]
      4. ubuntu增加账户sudo adduser yourname,添加sudo权限sudo usermod -aG sudo yourname
      5. 终端欢迎界面文件/etc/motd
      6. ssh连接后执行某命令:/etc/ssh/sshd_config最后加一行ForceCommand /xx.sh,xx.sh中最后要加入eval `getent passwd $LOGNAME | cut -d: -f7`,不然命令完后可能会直接中断ssh(bash解析器没有被执行)
      7. 查找文件:

            7.1.按文件特征查找

            (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
            (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
            (3)find / -empty   # 查找在系统中为空的文件或者文件夹
            (4)find / -group cat   # 查找在系统中属于 group为cat的文件
            (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
            (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
            (7)find / -user fred   #查找在系统中属于fred这个用户的文件
            (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
            (9)find / -size -1000k   #查找出小于1000KB的文件

            7.2.使用混合查找方式

            参数有: !,-and(-a),-or(-o)。

            (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
                 (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
                 (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件

      8. grep:

        [options]主要参数:
            -c:只输出匹配行的计数。
            -i:不区分大小写
            -h:查询多文件时不显示文件名。
            -l:查询多文件时只输出包含匹配字符的文件名。
            -n:显示匹配行及行号。
            -s:不显示不存在或无匹配文本的错误信息。
            -v:显示不包含匹配文本的所有行。

        pattern正则表达式主要参数:
            \: 忽略正则表达式中特殊字符的原有含义。
            ^:匹配正则表达式的开始行。
            $: 匹配正则表达式的结束行。
            \<:从匹配正则表达 式的行开始。
            \>:到匹配正则表达式的行结束。
            [ ]:单个字符,如[A]即A符合要求 。
            [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
            .:所有的单个字符。
            * :有字符,长度可以为0。

        实例

            (1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
            (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
            (3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
            (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
            (5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

            (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

            (7)grep xxx --include='*.cpp'  ~/ 在~/目录下查找所有cpp中包含"xxx"的片段

      9. 查看所有磁盘大小(包括没有挂载的)sudo fdisk -l
      10. 原本主硬盘不够用,外挂硬盘扩容方法:
          (1)先挂载第二磁盘,使用fdisk -l查看所有磁盘节点,如/dev/sda1
          (2)设置开机磁盘自动挂载,
            (2.1)查看UUID信息:blkid,得到磁盘节点对应的UUID,如

            

                /dev/sda1: UUID="04d63634-7966-440e-a5c4-b1594f073c75" TYPE="ext4" PARTLABEL="pt1" PARTUUID="c0312e4e-aa0f-42cc-a185-f97dfda9819a"

         

                     (2.2)为系统分区表/etc/fstab中加入如下信息:
                           
        UUID=04d63634-7966-440e-a5c4-b1594f073c75  /media/disk1 ext4 defaults 1 2

                           其中,/media/disk1为挂载目录,保存退出。
                    (2.3)mount -a进行挂载。

          (3)扩容:
                      
        cd   /home    
        tar  -zcvf  /media/disk1 /home.tar.gz  *
        cd  /media/disk1 
        tar  -zxvf  home.tar.gz
        
        umount /home   //卸载旧的home文件
        mount  -text4 /dev/sda1  /home

         

      11. screen 玩法:

        • -ls -- 列出当前用户分享的 screen
        • -dmS session -- 新建一个 session (-d 表示不立即附着)
        • -r -- (对于本机登录的自己) 恢复离线的 screen 作业
        • -x -- (对于别处登录的相同的账号) 恢复作业, 实现同账号分享

        以下操作处于 screen 中:

        • <C-a> d -- 从 screen 中脱离 (注: 直接 <C-d> 会关闭这个 screen !)
        • <C-a> s -- 冻结屏幕
        • <C-a> q -- 恢复冻结的屏幕
        • <C-a> :multiuser on -- 开始多用户模式
        • <C-a> :acladd USER -- 多用户模式中允许用户 USER 访问

        要实现不同账号分享, 首先在 root 权限下执行:

        chmod u+s $(which screen)
        chmod 755 /var/run/screen
        rm -fr /var/run/screen/*
        

        再进行上述多用户模式中的操作即可 (比如 screen -x usera/shared).     

      12. 查看磁盘占用率汇总:

        df | awk '{a+=$2;b+=$3;c+=$4;g=1024*1024}END{printf "Disk Condition:\nTotal: %.1fG\nUsed: %.1fG\nAvailable: %.1fG\n",a/g,b/g,c/g}'

      13. 批量杀死进程

        ps -ef|grep 进程名关键字|grep -v grep|awk '{print "kill -9 "$2}' | sh

      14.  

posted @ 2017-11-03 13:22  木易修  阅读(301)  评论(3编辑  收藏  举报