记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

Linux 命令备忘&Python 常用代码备忘(转)

Linux 命令备忘&Python 常用代码备忘(转)

Linux 命令备忘
xargs 占位符
XML/HTML代码
  1. echo aaa |xargs -I {} python3 test.py {} {}.xlsx
查看进程启动时间
XML/HTML代码
  1. ps -eo pid,lstart,etime,cmd | grep nginx
找出大于 500m 的文件
XML/HTML代码
  1. find / -type f -size +500M -print0 |xargs -0 ls -l
Debian 显示已安装的软件包
XML/HTML代码
  1. apt list --installed
批量杀进程
XML/HTML代码
  1. ps aux |grep hydra |awk '{printf "%s\n", $2}' |xargs kill -9
apt-get 配置代理
XML/HTML代码
  1. export httphttp_proxy=http://192.168.137.1:1080
wget 设置代理
XML/HTML代码
  1. 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代码
  1. update-rc.d  ssh enable
Kali 设置阿里云源
修改/etc/apt/sources.list文件为以下内容:
XML/HTML代码
  1. deb https://mirrors.aliyun.com/kali/ kali-rolling main non-free contrib
  2. deb-src https://mirrors.aliyun.com/kali/ kali-rolling main non-free contrib
查找重复行并统计出现次数,例:统计各 IP 出现次数
XML/HTML代码
  1. cat ip.txt |grep -E -o "(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]?)"  |sort |uniq -c > ipncount.tx
Python 常用代码备忘
使用清华 pip 源安装软件
XML/HTML代码
  1. pip3 install jupyter  -i https://pypi.tuna.tsinghua.edu.cn/simple/
去除 HTTP 协议头,http://baidu.com->baidu.com
XML/HTML代码
  1. domain = re.sub('https?://', '', domain, flags=re.IGNORECASE)
把字符串内多个空格合并成一个空格,'   '->' '
XML/HTML代码
  1. line = re.sub(' +', ' ', line)
超大文件读取,超大文件读取使用 fileinput,会逐行读取,而 readlines 会一次读完导致内存爆炸
XML/HTML代码
  1. # def read_ip_history_file(filename):
  2. #     with open(filename, 'r', encoding='utf-8') as f:
  3. #         for line in f.readlines():
  4. #             lineline = line.strip()
  5. #             yield line
  6.  
  7.  
  8. def read_ip_history_file(filename):
  9.     for line in fileinput.input([filename], openhook = fileinput.hook_encoded("utf-8")):
  10.         yield line
  11.  # 或者
  12.  def read_ip_history_file(filename):
  13.      with open(filename, 'r', encoding='utf-8') as f:
  14.          for line in f:
  15.              lineline = line.strip()
  16.              yield line
日期转换
XML/HTML代码
  1. # 字符串格式化为日期对象
  2. mail_date = '2019-09-29 04:55:46'
  3. strdate = datetime.datetime.strptime(mail_date, '%Y-%m-%d %H:%M:%S')
  4. # 日期对象格式化为字符串对象
  5. strdate.strftime('%Y%m%d')
子线程随父线程退出
XML/HTML代码
  1. write_flag_task = Thread(target=saveFlagargs=(LOG_FILE_NAME, ))
  2. # 子线程随父进程退出
  3. write_flag_task.setDaemon(True)
  4. write_flag_task.start()
拼接脚本依赖文件的绝对路径。比如:脚本依赖一个数据库文件,未防止他人使用脚本时路径异常读不到数据库,需要拼接路径。
XML/HTML代码
  1. DBPATH = '123.db'
  2. script_path = sys.argv[0]
  3. abs_script_dir, _ = os.path.split(os.path.abspath(script_path))
  4. DBPATH = os.path.join(abs_script_dir, DBPATH)
提取中文的正则表达式
XML/HTML代码
  1. s = '123你好a'
  2. re.findall('[\u4e00-\u9fa5]+', s)
  3. 输出:['你好']
openpyxl 修改 Excel 的字体样式
XML/HTML代码
  1. main_wb = Workbook()
  2. main_sheet = main_wb.active
  3. # 添加Excel首行标题
  4. main_sheet.append(
  5.     '站点URL,站点IP,漏洞名称,漏洞风险值,风险等级,CVE编号,详细描述,解决办法,存在漏洞链接,漏洞验证参数'.split(','))
  6. # 定义标题字体格式
  7. t_font = Font(name='宋体'size=12bold=True)
  8. for row in main_sheet.rows:
  9.     for cell in row:
  10.         cell.font = t_font
  11.     break
openpyxl 删除行:
删除第三行之后的两行,行号从 1 开始算
XML/HTML代码
  1. sheet.delete_rows(3, 2)
删除第一列之后的两列,列号从 1 开始算
XML/HTML代码
  1. wk_sheet.delete_cols(1,2)
转自:Linux命令备忘   Python常用代码备忘

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):