Python之禅 赖勇浩翻译优美胜于丑陋(Python 以编写优美的代码为目标) 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁) 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行
crontab,想说爱你不容易 悲剧的背景跑自动化脚本的机器连不上toast服务器了,只能自己写个脚本每天跑了。当然要放在crontab里了。5 3 * * * sh ~/nosecron.sh更悲剧的结果第二天过来一看结果,FAIL了大半。烦燥的分析很多都是因为:catch_pkts.append(pkt.getlayer(IP).build())AttributeE
禁用win7自动配置ipv4地址 现象一台新电脑,连了网线,没有dhcp,需要手动配置Ip。配置了一个Ip后,发现ping网关不通。ipconfig 发现有2 个IP: 自动配置 IPv4 地址 . . . . . . . : 169.254.11.19(首选) 子网掩码 . . . . . . . . . . . . : 255.255.0.0 IPv4 地址 . . . .
好用的linux screen配置文件 # Set default encoding using utf8defutf8 on## 解决中文乱码,这个要按需配置defencoding utf8encoding utf8 utf8 #兼容shell 使得.bashrc .profile /etc/profile等里面的别名等设置生效shell -$SHELL#set the startup messagestar
编译当天修改的所有C源码 #!/bin/sh#****************************************************************## ScriptName: gccmodify.sh# Function: compile *.c which mtime is 0 (in 24 hours) in current dir#*************************
编译所有C源码 #!/bin/sh#****************************************************************## ScriptName: gccall.sh# Function: compile *.c in current dir#***********************************************************
用C把整数转换成Ip地址 #define PRINT_IP_FORMAT "%u.%u.%u.%u"#define PRINT_HIP(x)\ ((x >> 24) & 0xFF),\ ((x >> 16) & 0xFF),\ ((x >> 8) & 0xFF),\ ((x >> 0) & 0xFF)char ip_str[64];sprintf(ip_str, PRI
UNIX LINUX缩写风格 -- Eric S. Raymond构建于图形界面之上的操作系统,使用鼠标作为主输入设备, 是否使用缩写并不重要。比如 Windows 系统中的目录,几乎都是全称…… 点击两次鼠标进入文件夹 pf, 并不意味着点击13次才能进入文件夹 Program Files而构建于命令行之上的操作系统,如 Linux,只要3个字母以上的单词,几乎都要缩写。 例如: cd 命令是 Chang
使用 SysRq 键安全重启挂起的 Linux 最近有台 NFS 服务器挂机,可以 ping 通,但不能 ssh 登陆,也不能通过本地终端登陆,只能重启了。我们一般处理文件服务器这种类型的重启都格外小心,不到迫不得已不会直接硬重启。Linux 运行过程中(为了提高性能)会把大量的数据暂时放在内存缓存中,而不是实时同步写入到磁盘,Linux 根据情况只有在需要(触发某条件)的时候才写入磁盘,所以这个时候挂机,数据还留在内存,没有办法及时写到磁
Linux 强制重启 有时候,linux 由于硬盘或者其它原因,某个进程挂住了,怎么也杀不死,输入 reboot 命令也无法重启。这时候,一般只能按机箱上的reset健来重启了。 如果是远程ssh,那怎么办呢? 下面两行命令可以搞定:echo 1 > /proc/sys/kernel/sysrqecho b > /proc/sysrq-trigger
10段超有用的Git命令行代码 1. 在最后提交中更改Export(Export changes done in last commit )这个命令通常会使用定期发送已更改的项目,以方便其他人审查/集成。[js] view plaincopygit archive -o ../updated.zip HEAD $(git diff --name-only HEAD
Git 忽略一些文件不加入版本控制 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法。这个文件每一行保存了一个匹配的规则例如:# 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅
批量编译目录下所有C文件 #cat gccall.sh #!/bin/sh# 将a.c 编译成afor file in `ls *.c`do gcc $file -lxx -o ${file%.*}done
linux无密码ssh登录(俗称打通) 概述在一些常用设备之间ssh, scp,不用输入密码可以节省不少时间。生成密钥先看本地是否有密钥,如果有,则不用生成,否则会影响到以前打通的设备。ls ~/.ssh/id_rsa.pub没有则用 ssh-key-gen 在本地主机上创建公钥和密钥ssh-keygen -t rsa一路回车把公钥复制到远程主机上ssh-copy-id -i
Vim的分屏功能 本篇文章主要教你如何使用 Vim 分屏功能。 分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出
linux中神奇的叹号命令 !!上一条命令!$上一条命令中的最后一个参数!:-上一命令除了最后一个参数!* 上一条命令中的所有参数!str最近一条以str开头的命令!?str?最近一条包含str的命令!n顺数第n条命令!-n倒数第n条命令^old^new将上一命令中的old替换为new!!:gs/old/new
Linux批量替换文件内容 替换单个文件sed -i "s/old/new/g" abc.txt先备份再替换sed -i.bak 's/old/new/g' abc.txt自动生成abc.txt.bak, 注意.bak前无空格替换多个文件sed -i "s/old/new/g" `grep old -rl /path/`
删除硬盘上的大文件 概述当linux系统运行久了,有些分区会没有可用空间,需要删除一些文件,当然首选删除大文件。确认使用情况df -lh找出大文件查找大于100M的文件find / -size +100M -exec ls -lh {} \;忽略某些不删除的文件find / -path "/mnt/huge/*" -a -prune -o -size +10