Shell攻略-小试牛刀

来源:互联网 发布:最穷的时候知乎 编辑:程序博客网 时间:2024/06/07 04:52
打印
[hadoop@localhost 桌面]$ echo hello world!
hello world!
[hadoop@localhost 桌面]$ echo 'hello world!'
hello world!
[hadoop@localhost 桌面]$ echo "hello world!"
echo "hello world"fff"
> ^C
[hadoop@localhost 桌面]$ echo "hello world\!"
hello world\!


[hadoop@localhost 桌面]$ printf "%-5d %-10s\n" 1  good
1     good      


变量
[hadoop@localhost 桌面]$ var="hello"
[hadoop@localhost 桌面]$ echo $var
hello
[hadoop@localhost 桌面]$ echo ${var}
hello


[hadoop@localhost 桌面]$ fruit="apple"
[hadoop@localhost 桌面]$ count=5
[hadoop@localhost 桌面]$ echo "We have $count ${fruit}(s)"
We have 5 apple(s)


求长度
[hadoop@localhost 桌面]$ var=123456
[hadoop@localhost 桌面]$ length=${#var}
[hadoop@localhost 桌面]$ echo $length
6


数学运算
[hadoop@localhost 桌面]$ n1=3;n2=4
[hadoop@localhost 桌面]$ a1=n1++;b1=n2--
[hadoop@localhost 桌面]$ let sum=a1+b1
[hadoop@localhost 桌面]$ echo $sum
7


[hadoop@localhost 桌面]$ result=$[n1+n2]
[hadoop@localhost 桌面]$ echo $result
7


[hadoop@localhost 桌面]$ echo "4*0.56" |bc
2.24




[hadoop@localhost 桌面]$ echo "scale=1; 3/8" | bc
.3
[hadoop@localhost 桌面]$ echo "scale=2; 3/8" | bc
.37
[hadoop@localhost 桌面]$ echo "scale=3; 3/8" | bc
.375
[hadoop@localhost 桌面]$ echo "scale=4; 3/8" | bc
.3750




重定向
[hadoop@localhost 桌面]$ echo "This is a sample text 1" >temp.txt
[hadoop@localhost 桌面]$ echo "This is a sample text 2" >>temp.txt
[hadoop@localhost 桌面]$ cat temp.txt
This is a sample text 1
This is a sample text 2


[hadoop@localhost 桌面]$ touch a1
[hadoop@localhost 桌面]$ cp a1 a2
[hadoop@localhost 桌面]$ cp a1 a3
[hadoop@localhost 桌面]$ chmod 000 a1
[hadoop@localhost 桌面]$ cat a*
cat: a1: 权限不够
[hadoop@localhost 桌面]$ cat a* 2>err.txt
[hadoop@localhost 桌面]$ cat a* 1>correct.txt  2>err.txt


[hadoop@localhost 桌面]$ cat <<EOF>log.txt
> LOG FILE HEADER
> This is a text log file
> function: system statistics
> EOF
[hadoop@localhost 桌面]$ cat log.txt
LOG FILE HEADER
This is a text log file
function: system statistics




[hadoop@localhost 桌面]$ echo this is a text line >input.txt
[hadoop@localhost 桌面]$ exec 3<input.txt
[hadoop@localhost 桌面]$ cat <&3
this is a text line
[hadoop@localhost 桌面]$ cat <&3
[hadoop@localhost 桌面]$ exec 4>output.txt
[hadoop@localhost 桌面]$ echo newline >&4
[hadoop@localhost 桌面]$ cat output.txt
newline
[hadoop@localhost 桌面]$ exec 5>>input.txt
[hadoop@localhost 桌面]$ echo appended line >&5
[hadoop@localhost 桌面]$ cat input.txt
this is a text line
appended line


数组
[hadoop@localhost 桌面]$ array_var[0]="t1"
[hadoop@localhost 桌面]$ array_var[1]="t2"
[hadoop@localhost 桌面]$ array_var[6]="t6"
[hadoop@localhost 桌面]$ echo ${array_var[0]}
t1
[hadoop@localhost 桌面]$ echo ${array_var[*]}
t1 t2 t6
[hadoop@localhost 桌面]$ echo ${#array_var[*]}
3


使用别名
[hadoop@localhost 桌面]$ alias install='sudo apt-get install'
[hadoop@localhost 桌面]$ echo $alias


[hadoop@localhost 桌面]$ alias
alias install='sudo apt-get install'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


时间
[hadoop@localhost 桌面]$ date
2013年 09月 25日 星期三 09:59:46 CST
[hadoop@localhost 桌面]$ date +%s
1380074436


[hadoop@localhost 桌面]$ start=$(date +%s)
[hadoop@localhost 桌面]$ end=$(date +%s)
[hadoop@localhost 桌面]$ interval=$[end-start]
[hadoop@localhost 桌面]$ echo $interval
13


迭代器
[hadoop@localhost 桌面]$ data="name,sex,roll"
[hadoop@localhost 桌面]$ oldIFS=$IFS
[hadoop@localhost 桌面]$ IFS=,
[hadoop@localhost 桌面]$ for item in $data
> do 
> echo Item:$item
> done
Item:name
Item:sex
Item:roll
[hadoop@localhost 桌面]$ IFS=$oldIFS


循环
[hadoop@localhost 桌面]$ sum=0; 
for i in {1..100}; 
do 
sum=$[$sum+$i]; 
done;
echo $sum
5050


比较
[hadoop@localhost 桌面]$ if [-e $fpath];then echo FIle exists;else echo Does not exits; fi
bash: [-e: command not found
Does not exits
原创粉丝点击