Linux C基础2

  • 2016.10.13

     

    20. 重定向

    1) 输出重定向

    >        //以新建模式

    >>        //以追加模式

    2) 输入重定向

    wc  <  file    file中内容作为输入传给wc命令

    3) 错误重定向

    ls dir 2> file   

    ls dir &> file       

    21. cat    查看文件

       tac    反向查看

       more 分屏显示

    22. pwd    显示当前路径的绝对路径

    绝对路径:/home/linux/

    相对路径:..    .

    23. 命令置换将一个命令的输出作为另一个命令的参数

    wc -l `ls`

    24. 查找

    grep:根据文件内容;find:根据文件名搜索。

    1)    grep  [选项]   "描述“  [路径]

     grep  -r  “hello world”    递归

         grep  -rn  “hello world” .    递归并显示行数

         grep  -n   “hello world” file.txt        显示行数

     .  当前路径

     路径也可以是文件名

    2)  find  [路径]  [选项]  [描述]

        find    .    -name   file

        find    .    -type   f    -name   file    只搜文件

        find    .    -type   d    -name   file    只搜目录

        find    .    -type   d    -atime  -1    //一天以内所有访问的目录文件

        find    .    -type   d    -mtime  -1    //一天以内所有访问并修改过的目录

    25.     echo -n “hello” 没有换行符

    diff    比较两个文件

    file 查看文件类型

    du 显示磁盘空间的使用情况 du b.txt;du ah b.txt

    who 列出系统上的用户名单

    whereis 查找命令

    26. shutdown

    sudo shutdown -h  now        关机

    sudo shutdown -h  +17

    sudo shutdown -h  12:18

     

    sudo shutdown -r  now            重启

    sudo shutdown -r  +17

    sudo shutdown -r  12:18

    sudo shutdown –c        取消

    27. passwd

    sudo passwd root    //修改密码

    su root            //切换用户

    exit            //退出

    28. date 显示时间日期,修改时间日期

    sudo cp /usr/share/zoneinfo/Asia/Harbin  /etc/localtime 改时区

    sudo date -s 10/13/2016

    sudo date -s 11:00:00

    更改日期时,时间会归零,所以先改日期,后改时间

    cal        日历

    29. df

    df -aTh        //查看磁盘使用情况,以及文件系统

    30. 用户管理

    /etc/passwd

    /etc/group

    sudo adduser username

    sudo deluser --remove-home yu

    sudo usermod -g  组ID 用户名

    31. 进程管理

    ps aux    静态   

    top        动态

    kill -9 PID        //向一个进程发送死亡信号

    32. 挂载

          文件系统类型    设备     挂载点

    sudo mount -t    vfat      /dev/sdb1  /mnt/yubo

    33. ls

    -     rw-rw-r--    1        linux     linux   14180 10月 12 16:42 1.txt

    类型   权限       链接数    用户   组      大小

     

    1) 类型(7种)

    b    //块设备文件

    c    //字符设备文件

    d    //目录

    -    //普通文件

    l    //链接文件(软链接)

    s    //套接字

    p    //管道文件

    2) 权限

    r    //读权限

    w    //写权限

    x    //可执行权限

    34. 文件描述符:一个文件可以有多个

    inode:每个文件只有一个

    35.     cp、mv、touch

    cat、tac、more

    head: 默认显示前10行,-5:显示前5行

    tail: 默认显示后10行,-5:显示后5行

    36.

    1) 硬链接

    ln filename link

    a、对一个文件的备份,没有开辟新空间

    b、普通文件类型

    c、不支持对目录进行硬链接创建

    2) 软链接(符号链接)

    ln -s  `pwd`/file link

    a、类似快捷方式,开辟新空间

    b、链接文件类型

    c、支持对目录进行软链接创建

     37.   命令 选项 提示用户解压工具

    1) tar  -cjf    file.tar.bz2          file1  fil2     //由tar生成归档,由bzip2压缩

    2) tar  -czf    file.tar.gz  file1  fil2     //由tar生成归档,由gzip压缩

    3) tar  -xvf    file.tar.gz         //解压

     

    二、shell脚本编程

    1.     Shell脚本的本质:Shell命令的有序集合。

    2. 创建shell脚本文件

    a. 1.sh

    >> 1.sh     //创建1.sh

    b. chmod  777  1.sh    //赋予执行权限

    c. ./1.sh

     

    rw-  rw-  r--

    110  110  100

    6    6     4

     

    rwx  rwx  rwx

    111  111 111

    7    7   7

    3. 变量

    1) 自定义变量

    等号赋值时没有空格  count=1

    获取变量里的内容用$  echo $count

    全大写变量

    调用:在变量前加$    DATE=`date`        echo $DATE

    Linux Shell/bash从右向左赋值

    unset命令删除变量赋值

    2) 位置变量

    命令行传递的参数

    3) 预定义变量

    $@  $*    命令行所有的位置参数,除第一个       

    $#    命令行所有参数的个数,除第一个

    $$    PID

    $    1--- 上一条shell命令执行状态,成功为0

    --- 只与一条shell命令有关

    2--- Tab语句用$?承接

    3--- 函数返回值只能用$?承接

    4) 环境变量

    HOME : /home/linux

    4. read

    从标准输入读入一行, 并赋值给后面的变量

    5. expr

    ret=`expr  $A \* $B `

    +  -   \*  /   %    \(    \)括号

    6. test

    真:$?=0   假:$?=1

    1) 字符串

    =   !=   -z   -n

    s1 = s2    测试两个字符串的内容是否完全一样

    s1 != s2    测试两个字符串的内容是否右差异

    -z s1        测试s1字符串的长度是否为0

    -n s1        测试s1字符串的长度是否不为0

    2) 整数

    -eq相等   -ne不相等   -gt大于   -ge大于等于   -lt小于    -le小于等于 

    -o    或

    -a    与   

    3) 文件

    a. 测文件类型

     b   c    d    -    l   s    p       //linux

    -b  -c     -d   -f   -L  -S   -p       //shell脚本

    b. 测文件权限(用户本身)

    -r

    -w

    -x

    c. 其它

    -d        测试一个文件是否为一个目录

    -e        测试一个文件是否存在

    -s        测试name 文件是否存在且其长度不为0

    -f        测试一个文件是否为普通文件

    -x        测试一个文件是否存在且为可执行

             f1    -nt  f2     测试文件f1 是否比文件f2 更新

             f1    -ot  f2    测试文件f1 是否比文件f2 更旧

    4) [ ]可以等价替换test

    与数据之间留有一个空格

    7.  if

     if    表达式

             then 

    命令表

             fi  

    *****************************

            if      表达式

            then 命令表1

            else  命令表2

            fi

    *****************************

         if      表达式

         then    命令表1

     

         elif    表达式

         then    命令表2

        

    else    命令表3

          fi

    8.  case

    case   变量   in

                模式1)

                           命令表1

                            ;;

                模式2 | 模式3)  

                           命令表2

                            ;;

                 ……

                模式n)

                           命令表n

                            ;;

            esac

    *)代表其他,相当于C语言case语句中的default

    9.  for

    for   变量名   in   单词表     //单词表为空格分隔的字符串;变量名不需要$获取

            do

                  命令表

            done

    10. while

    while     命令或表达式

            do

     命令表

            done

    11.     break   

    continue

    12. 函数

    fun内有echo “\$0 = $0”

    echo“\$1 = $1”    //向fun内部传参

    fun world        //world给$1,与命令行参数无关

    fun()        //  ()内没有参数,只是格式要求

    {

    echo “hello”

    echo “$1”        //参数

    }

    fun        //调用

    $?:承接函数的返回值

    13.

    进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动

    程序:程序只是一组指令的有序集合

    线程:线程是进程的一个实体,是CPU调度和分派的基本单位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值