joozh 发表于 2018-5-20 09:17:05

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]
查看完整版本: linux下基本的操作