最近練練linux下的基本操做,隨意寫點東西,也大體記錄一下:linux
網卡IP的獲取正則表達式
ifconfig | grep 'inet addr' | sed 's/^.* addr://g' | grep -v '127.0.0.1' | sed 's/Bcast.*//g' --- 取消本地ip的獲取,若是網卡較多,能夠直接ifconfig eth*bash
ifconfig | grep "inet addr:" | awk -F: '{print $2}' | awk '{print $1}' --- awk的方式dom
ifconfig eth0 | grep "inet addr:" | awk -F[:" "]+ '{print $4}' --- 語法格式不一樣tcp
man路徑的獲取ide
cat /etc/man.config | grep 'MAN' |sed 's/#.*//g'|sed '/^$/d'測試
刪除行首空格編碼
sed 's/^[ ]* //g' filename sed 's/^ * //g' filename sed 's/^[[:space:]]* //g' filename -- 其實都同樣spa
行前行後添加新行xml
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' {} \;