Linux 常用命令小结

时间:2021-08-04 02:41:16

  学习脚本几天了,总结下linux debian下脚本常用命令。

 

Linux

     1.添加删除账户 useradd / userdel

     2.修改“张三”密码 passwd 张三 或者 echo "user:password"|chpasswd

         3.查找 grep {-r 路径} {文件} “ 查找内容” 或者 grep -Rrni “内容” 查找当前目录下所有文件内是否有“内容”。

   4.pwd 输出当前路径

   5.tail -n 行数   显示文件最后n行

   6.time  time ./XXX.sh 查看脚本运行时间

     7.cut {-d '按该字符分割'} {-f 2-5 针对分割后的区域,选2-5区域} {-c 1-8 切割前1-8位}     eg: 8位随机密码    $RANDOM|md5sum|cut -c 1-8

   8.shift 针对 函数或者脚本输入参数的前进一步

     9.test -eq ==    -ne !=   -gt >   -lt <  -le <=  -ge >=  -e 文件存在 -f文件 -d目录 

           多与if test ...  或者 test ... $?(上条语句是否成功执行)  

   10. if [  ];then                  if test -f ./XX.txt ;then

      表达式a                       表达式a

     else                            elif []   ;then

      表达式b                       表达式b

     fi                                else

                                                   表达式c

                 fi

   11. while read line

     do

        echo $line

              done

   12.for i in `seq 1-5`

      do

       echo $i

             done

   13. eg: mybash.sh  -a -b 1 -c1 (挨着)

      while getopts  ab:c::

      do

       case $ARGV in

       a) 

          echo "a" ;;

                      b) 

          bb=$OPTARG  echo $bb ;;

                      c) 

          cc=$OPTARG   echo $cc ;;

                      *)   exit 1;;

                       esac

               done

           14.echo -n 无回车输出  -e 支持"\n\t..."

           15.    .  + 库文件  (引用库)

           16. 打包 tar zcvf  文件名    目录  eg: tar zcvf /root/etc/etc.tar.gz  /etc >>file  2>>file          解包 tar zxvf 文件 目录

           17. 算数运算 $((&i + 1))  equals    i++          或者 expr $i \+1

           18. fun(){

          echo $1 $2

      }

                 fun 1 2

      #函数调用

            19. cat <<EOF

          1.aaa

          2.bbb

      EOF

                 #打印菜单

            20. [[   字符串比较 等于 =  大于>  小于 < ]]     

                  [ 整数判断 -eq -nq -f -d ....]&&  YES ||  NO

            21. i=1

      echo "string${i}"  输出 string1

                 seq 3 输出

                 1

                 2

                 3

                 反引号 echo `seq 3` 和 echo  $(seq 3)  输出 1 2 3

     22. seq -s "=" 3 输出  1=2=3    seq -w 10 输出 01 \n 02 ....10

     23. $PATH路径 $UID 用户id $#输入参数个数 $?上条指令是否执行正确 $1 第一个参数 $RANDOM 随机数

     24. 流重定向  cat 1.txt >/dev/null 2>&1(2同1)        0标准输入 1标准输出  2错误输出

     25.raad -p "输入:" var  读输入到参数var

     26.su root  root 用户           logout 退出root                    su user  user用户   

            27.fg 回到挂起程序  一般同 ctrl +z(暂停) 合用   bg 挂起程序继续执行

            28.=~ 跟正则表达式

            29.vim 配置文件  vim ~/.vimrc           输入 set nu (显示行号) syntax on (语法高亮)

            30.添加path路径 1》 vim /etc/profile         2》追加 expot PATH="mypath:$PATH"  3》 source /etc/profile

     31.设置预言 LANG=en 改英文

     32. dos2unix myfile   windos file to unix file

     33. diff file1 file2 比表file1 file2   还有 vimdiff 

            34.>> 追加文件  > 流入   <流出   | 管道

            35. basename 文件名     dirname 目录

            36. 命令语句可能出错  可以加   || exit 2

            37. touch + 文件 创建文件

            38. awk -F '分割字符' '{printf  $1 $2}'      awk -F ['识别多个字符分割'] 'BEGIN{printf}     {}     END{}'

            39.find 目录 操作 -type f文件 d目录 c字符设备 -mtime 修改时间 +1一天前 -1 一天内 -name "名字  *.sh   " -size 文件大小    

               eg:删除当前目录7天前sh文件   find ./ -type f -name "*.sh" -mtime +7 |xargs rm

     40.xargs 针对不支持管道的命令

     41. rm -rf 强制递归删除

     42. alias 自定义指令 永久添加  vim /root/.bashrc  vim /user/.bashrc    添加 rm -i mv -i cp -i ls -a ls -al   

     43. kill -9 强杀进程

            44. sort  uniq 

    45. curl -I www.baidu.com 服务器头信息  curl -s ip.cn?ip=201.37.45.107 查询ip地址

 

未完待续。。。

 

参考网址:

  http://edu.51cto.com/course/course_id-6068.html