linux shell 学习


1.查看进程号 pgrep gedit
2.查看环境变量 cat /proc/12401/environ
3.tr cat /proc/12401/environ | tr '\0' '\n'


4.代理设置 HTTP_PROXY=http://192.168.0.2:3128
export HTTP_PROXY


5.获取变量长度
var=1234567890
echo ${#var}


6.算术操作 let 、 (( )) 、[]
let result = no1+no2
echo $result

result=$[no1 + no2]
result=$[$no1 + 5]
result=$((no1 +50))
result=`expr 3 + 4`
result=$(expr $no1 + 5)

echo "4 * 0.56" | bc
result=`echo "$no*1.5" | bc`



7.获取命令推出状态
echo $?
每行数据都加上行号 ll | cat -n
别名设置 alias rm='cp $@ ~/backup; rm $@'
取消别名 $ \command


8.find 命令
find /home/slynux -iname "*.txt" -print
find . \( -name "*.txt" -o -name "*.pdf" \) -print
find /home/slynux -path "*slynux*" -print
-regex 支持正则表达式匹配
find . -type f -altime +7 -print
find . -type f -size +2k
find . -type f -name "*.swp" -delete
find . -type f -name "*.txt" -print0 | xargs -0 rm -f
find path -type f -name "*.c" -print0 | xargs -0 wc -l


9.排序
sort file1 file2 > sorted.txt
cat sorted.txt | uniq> uniq_lines.txt
sort -m sorted1 sorted2 #合并两个排好序的文件


10.删除两个文件重复行
grep -vxFf s2 s1



11.awk
cat $downFileName | awk -F ' ' '{if($1!~/^([0-9])+$/){if(NR>'${startnum}')print $1 }}' > $tofileName

!~ 不匹配
~ 匹配



12.两个文件,删除一个文件里包含词的行

list=(`cat sexy | tr '\r\n' ' '`)

num=${#list[@]}

for((i=0;i<num;i++));
do
echo ${list[i]};
cat apps/appNewSearch_IN_20141109 | awk -F ' ' 'BEGIN{IGNORECASE=1}{if($1~/'$VAR'/){ print $1} }'
done




13.awk 去除重复行
awk '!a[$0]++' file


15.找出一个文件中重复行

awk '{a[$0]++}a[$0]==2'


16.打印指定模式的字符串

sed -n -e's/.*time=\[\(.*\)\]/\1/p'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值