<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="Linux 命令备忘&amp;Python 常用代码备忘（转）">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2024-11-26 11:12<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
Linux 命令备忘&amp;Python 常用代码备忘（转）




Linux 命令备忘


xargs 占位符




XML/HTML代码


    echo aaa |xargs -I {} python3 test.py {} {}.xlsx




查看进程启动时间




XML/HTML代码


    ps -eo pid,lstart,etime,cmd | grep nginx




找出大于 500m 的文件




XML/HTML代码


    find / -type f -size +500M -print0 |xargs -0 ls -l




Debian 显示已安装的软件包




XML/HTML代码


    apt list --installed




批量杀进程




XML/HTML代码


    ps aux |grep hydra |awk '{printf &quot;%s\n&quot;, $2}' |xargs kill -9




apt-get 配置代理




XML/HTML代码


    export httphttp_proxy=http://192.168.137.1:1080




wget 设置代理




XML/HTML代码


    wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2rc1.tgz -e 'httphttps_proxy=http://192.168.137.1:1080'




Debian 设置 SSH 自启动




XML/HTML代码


    update-rc.d  ssh enable




Kali 设置阿里云源


修改/etc/apt/sources.list文件为以下内容：




XML/HTML代码


    deb https://mirrors.aliyun.com/kali/ kali-rolling main non-free contrib

    deb-src https://mirrors.aliyun.com/kali/ kali-rolling main non-free contrib







查找重复行并统计出现次数，例：统计各 IP 出现次数




XML/HTML代码


    cat ip.txt |grep -E -o &quot;(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][ 0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)&quot;  |sort |uniq -c &gt; ipncount.tx







Python 常用代码备忘


使用清华 pip 源安装软件


XML/HTML代码


    pip3 install jupyter  -i https://pypi.tuna.tsinghua.edu.cn/simple/





去除 HTTP 协议头，http://baidu.com-&gt;baidu.com




XML/HTML代码


    domain = re.sub('https?://', '', domain, flags=re.IGNORECASE)




把字符串内多个空格合并成一个空格，'　　　'-&gt;' '




XML/HTML代码


    line = re.sub(' +', ' ', line)




超大文件读取，超大文件读取使用 fileinput，会逐行读取，而 readlines 会一次读完导致内存爆炸




XML/HTML代码


    # def read_ip_history_file(filename):

    #     with open(filename, 'r', encoding='utf-8') as f:

    #         for line in f.readlines():

    #             lineline = line.strip()

    #             yield line

     

     

    def read_ip_history_file(filename):

        for line in fileinput.input([filename], openhook = fileinput.hook_encoded(&quot;utf-8&quot;)):

            yield line

     # 或者

     def read_ip_history_file(filename):

         with open(filename, 'r', encoding='utf-8') as f:

             for line in f:

                 lineline = line.strip()

                 yield line







日期转换




XML/HTML代码


    # 字符串格式化为日期对象

    mail_date = '2019-09-29 04:55:46'

    strdate = datetime.datetime.strptime(mail_date, '%Y-%m-%d %H:%M:%S')

    # 日期对象格式化为字符串对象

    strdate.strftime('%Y%m%d')







子线程随父线程退出




XML/HTML代码


    write_flag_task = Thread(target=saveFlag, args=(LOG_FILE_NAME, ))

    # 子线程随父进程退出

    write_flag_task.setDaemon(True)

    write_flag_task.start()







拼接脚本依赖文件的绝对路径。比如：脚本依赖一个数据库文件，未防止他人使用脚本时路径异常读不到数据库，需要拼接路径。




XML/HTML代码


    DBPATH = '123.db'

    script_path = sys.argv[0]

    abs_script_dir, _ = os.path.split(os.path.abspath(script_path))

    DBPATH = os.path.join(abs_script_dir, DBPATH)







提取中文的正则表达式




XML/HTML代码


    s = '123你好a'

    re.findall('[\u4e00-\u9fa5]+', s)

    输出：['你好']







openpyxl 修改 Excel 的字体样式




XML/HTML代码


    main_wb = Workbook()

    main_sheet = main_wb.active

    # 添加Excel首行标题

    main_sheet.append(

        '站点URL,站点IP,漏洞名称,漏洞风险值,风险等级,CVE编号,详细描述,解决办法,存在漏洞链接,漏洞验证参数'.split(','))

    # 定义标题字体格式

    t_font = Font(name='宋体', size=12, bold=True)

    for row in main_sheet.rows:

        for cell in row:

            cell.font = t_font

        break







openpyxl 删除行：


删除第三行之后的两行，行号从 1 开始算




XML/HTML代码


    sheet.delete_rows(3, 2)







删除第一列之后的两列，列号从 1 开始算




XML/HTML代码


    wk_sheet.delete_cols(1,2)




转自：Linux命令备忘   Python常用代码备忘


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
