linux下基本的操作
最近练练linux下的基本操作,随意写点东西,也大致记录一下:[*] 网卡IP的获取
ifconfig | grep 'inet addr' | sed 's/^.* addr://g' | grep -v '127.0.0.1' | sed 's/Bcast.*//g' --- 取消本地ip的获取,如果网卡较多,可以直接ifconfig eth*
ifconfig | grep "inet addr:" | awk -F: '{print $2}' | awk '{print $1}' --- awk的方式
ifconfig eth0 | grep "inet addr:" | awk -F[:" "]+ '{print $4}' --- 语法格式不同
[*] man路径的获取
cat /etc/man.config | grep 'MAN' |sed 's/#.*//g'|sed '/^$/d'
[*] 删除行首空格
sed 's/^[ ]* //g' filenamesed 's/^ * //g' filenamesed 's/^[[:space:]]* //g' filename -- 其实都一样
[*] 行前行后添加新行
sed 's/pattern/&\n/g' filename ---- 行后
sed 's/pattern/\n&/g' filename ---- 行前&代表模式 **正则表达式还是重要**
[*] 检查远程端口是否对bash或者本机开放
echo > /dev/tcp/8.8.8.8/53 && echo "open"ip可替换,输出语句可随便,为了效果
[*] 产生随机的十六机制数,其实n是字符数:
openssl rand -hex n或者openssl rand -base64 n hex,base64只是编码格式
[*] 列出包括子进程的进程树
ps axwef 或者 pstree -Aup
[*] 创建war文件
jar -cvf name.war file
[*] 测试硬盘写入速度
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
[*] 测试硬盘读取速度
hdparm -Tt /dev/sda
[*] 获取文本的md5 hash
echo -n "test" | md5sum
[*] 检查xml格式
xmllint --noout file.xml
[*] 生产随机密码
LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo; 16个字符长度的
[*] 快速备份一个文件
cp some_file{,.bak}
[*] 显示所有用户列表
getent passwd
[*] 列出前10个最大文件
lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail
[*] 列出/home/user下的所有空子目录
find /home/user -maxdepth 1 -type d -empty
[*] 获取文件的owner
stat -c %U test.log
[*] block设备列表
lsblk -f
[*] 找出文件名结尾有空格的文件
find . -type f -exec egrep -l " +$" {} \;
[*] 找出文件名有tab缩进符的文件
find . -type f -exec egrep -l $'\t' {} \;
页:
[1]