Skip to content

File

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    head a.txt -n 8 ##表示显示a.txt文件的前8行
    tail a.txt -n 8 ##表示显示a.txt文件的后8行
    --------------wc 统计------------------
    wc a.txt 
     6  5 40 a.txt  ##表示显示  行数  单词数 字符数  文件名
    wc -w(word) -l(line) -c(字符数) a.txt  ##单纯显示单词数
    5 a.txt
   ----------------对文件的操作------------------------ 
    rm -rf filename.txt ##remove the file
    -f:强制删除,忽略不存在的文件,从不给出提示。
    -i:交互模式删除文件,删除文件前给出提示。
    -r:递归的删除目录下面文件以及子目录下文件。
    -R:递归的删除目录下面文件以及子目录下文件。
    -v:显示运行时详细信息

    mkdir file
    mv file1.txt file2.txt ##change the filename
    mv file1.txt CTutorial/ ##move to another filefolder

    less file1.txt  ##browser

------------------------grep 查找----------------------------------- 
    grep 查找字符 filename -->红色返回
    grep l* filename.txt --> 0~n次
    grep ll* filename.txt --> 至少出现1次(带l的都被找出来了)
    grep ^H filename.txt --> 以H字母开头的  
    grep ab.d a.txt --> .代表任意字符
        abcdef
        abaddfadf
        abddggfgf
    grep [Aa]b.d a.txt  -->代表大小写都可以甚至  --> grep [A-Za-z] filename.txt
        abcdef
        abaddfadf
        Abddggfgf

    [综合应用]
    grep [A-Za-z]b.d a.txt
        abcdef
        abaddfadf
        cbddggfgf
    --------------------wc + grep --------------------
    ![](http://pdqq4cby3.bkt.clouddn.com/15361425196772.jpg)

chmod 权限·命令相关

chmod的命令相关

1
2
3
    chmod u+r file.txt

    chmod go-r file.txt
chmod 的二进制表示

Linux Shell Script

> redirect

把输出打到一个文件里面·把输入从文件里读出来

使用$ sh init.sh 来执行脚本文件

variable 变量 echo

Linux里的变量脚本里

1
2
3
4
5
    a=10 #不可以打空格
    echo $a #输出a  “$”赋值时  读取时

    echo "Hello World" $a
    echo Hello World $a #可不写双引号

expr 计算式子 + - * /

1
2
3
4
5
    a=1
    b=2
    c=`expr $a + $b` #y运算符左右必须加空格
    d=`expr $a \* $b`
    echo $c
if 比较大小
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    if []
    then
        ...
    else
        ...
    fi


    > -gt  greater than
    < -lt  less than
    >= -ge greater or equal
    <= -le less or equal 
    != -ne not equal
    == -eq equal


    a=1
    b=2

    if [ $a -gt $b ]
    then
           echo $a
    else
           echo $b
    fi
for while 循环
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    for x in 1 2 3 4 5 
    do
        echo $x
    done

    x=1
    while [ $x -le 10 ]
    do
        echo $x
        x=`expr $x + 1`
    done

字符串 string

echo "123" == echo 123

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
password="12345678"

echo "Please input password:"
read userpassword

if [ $userpassword -eq $password ] #“=”也可
then
       echo "password is correct!"
else
       echo "password is incorrect!!"
fi
if [ -z $str1] #检测是否为空 -n (not zero)

inputStream & outputStream

1
2
3
4
5
6
7
8
9
echo "Please input a:"
        read a

        echo "Please input b:"
        read b

        c=`expr $a + $b`

        echo $a + $b = $c
Arry

must be runned by terminal bash (not sh)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    arr=(7 8 9 10)
    echo ${arr[1]} #8 

    #打印所有的元素
    arr=(7 8 9 10)
    for i in ${arr[@]}
    do
        sum=`expr $sum + $i`
    done

    echo $sum


     arr=(7 8 9 10)
#选出最大元素
max=${arr[0]}
for i in ${arr[@]}
do
    if [ $i -gt $max ]
   then
      max=$i
   fi
done

echo $max

Linux全局变量·命令工具集

##global varies

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
echo $USER 
    HOME 代表用户主目录
    cd ~  -->  cd $HOME

    #环境变量的设置(意义在于-->加入到环境变量当中的文件在任意的路径下都可以运行):[LINUX当中用冒号来隔开]
        parallels@parallels-vm:~$ PATH=$PATH:/filefoldername

    #ZIP压缩
    zip zipfilename.zip *
    zip workspace.zip -r workspace/* #所有的文件都按照原来的文件结构压缩
    ![](http://pdqq4cby3.bkt.clouddn.com/15364756086386.jpg)


    tar -zcvf CTut.tar.gz directory/
    #-z use gzip program 
    #-c create archive 
    #-v display progress while creating archive
    #-f archieve file name


    直接双击就可以解压或者unzip zipfilename.zip
    tar -zxvf filename.tar.gz


    #文件下载
    wget URL [-O filename.tar.gz]