查找文件并打開
vim $(find -name file.txt)
find -name file.txt -exec vim {} \;
查找特定進(jìn)程并殺掉
ps aux | grep app | grep -v grep | awk '{print $2}' | xargs kill -9
鎖屏快捷鍵
ctrl + alt + L
選擇當(dāng)前目錄下除data之外的文件, 并刪除
find . -maxdepth 1 -regex "./[^(data)].*" -exec rm -rf {}/;
找到所有相關(guān)進(jìn)程并殺掉
ps aux|grep "xterm"|grep -v "grep"|awk '{print $2}'|xargs kill -9
用進(jìn)程名殺進(jìn)程
pkill xterm
縮進(jìn)工具intent
indent -linux main.c
查找并刪除
find / -name '.svn' | xargs rm
find -name *.svn -exec rm {} /;
批量修改后綴名:
如把cpp改為cc
$ rename 's//.cpp//.cc/' *
在指定文件中查找字符串
find . -name *.c | xargs grep string
查看目錄大小
du -sh ./dir
同時輸出到文件和標(biāo)準(zhǔn)輸出
echo "hello world" | tee log.txt
cscope顯示文件路徑
$ cscope -p10 #10表示最多10級目錄
grep查找字符串a(chǎn)aa或bbb
$grep -E "aaa|bbb"
要統(tǒng)計(jì)結(jié)果行數(shù)加-c
將所有.h和.c文件中的tab轉(zhuǎn)為空格
find . -name "*.h" -o -name "*.c" -exec sed -i 's/\t/ /g' {} \;
刪除特殊字符文件名的文件
$ls -il #找到inode
find ./ -inum xxxx -exec rm {} \;
tar命令
壓縮打包
$ tar -cvf test.tar test #打包
$ tar -zcvf test.tar.gz test #打包+gzip
$ tar -jcvf test.tar.bz2 test #打包+bzip2
解壓
$tar -xvf test.tar
$tar -zxvf test.tar.gz
$tar -jxvf test.tar.bz2
添加用戶
如添加用戶,例:
$ sudo adduser jzj #建議不要用useradd
$ sudo chown jzj:jzj jzj
以其它用戶身份登錄
如換到用戶jzj,例:
$ su - jzj
切換為root用戶
$ sudo -s -h
文件作為參數(shù)
$ program "`ls`"
將錯誤輸出和標(biāo)準(zhǔn)輸出同時定向到屏幕和文件
./xxx.sh 2>&1 | tee outpu.txt
查找過程中忽略指定目錄
find . -path /home/zjin/tmp -prune -o -name "to_search.txt" -print
sed刪除windows換行符
sed -i 's/^M//g' data.txt # ^M 輸入方法是CTRL+v,放開v,然后按m
另外可以用dos2unix命令