linux c 文件操作 通过标准的库函数

标准的库函数介绍

  1. fopen -- 打开文件
  2. fclose -- 关闭文件
  3. fread -- 读取文件
  4. fwrite -- 写文件
  5. fflush -- 缓冲区数据写入文件中。 fwrite并不是直接把内容写入到文件中的。
  6. fseek -- 移动文件内部的指针位置
  7. fgetc -- 获得一个字符
  8. getc -- 和fgetc 一样,可能是一个宏
  9. getchar -- 相当于 getc(stdin)
  10. fputc -- 把一个字符写入到文件中
  11. putc -- 和fput 一样可能是个宏
  12. putchar -- putc(c, stdout)
  13. fgets -- 从文件中读取多个字符串
  14. gets -- 从标准输入读取字符串,遇到换行丢弃,最后加上一个null
  15. printf -- 输出到控制台
  16. fprintf -- 输出到文件
  17. sprintf -- 输出到字符串中
  18. scanf -- 从控制台读取
  19. fsanf -- 从文件读取
  20. sscanf -- 从字符串中读取
  21. fgetpos -- 获得文件流的位置
  22. fsetpos -- 设置文件流的位置
  23. ftell -- 返回流的偏移量
  24. rewind -- 重置文流的读写位置
  25. freopen -- 从新使用一个流文件
  26. setvbuf -- 使之文件流的缓冲机制
  27. remove -- 删除
  28. chmod -- 权限设置
  29. chown -- 系统调用
  30. unlink --删除文件
  31. link -- 创建一个新的执行已经存在文件的新链接
  32. symlink -- 符号链接
  33. mkdir -- 创建目录
  34. rmdir --删除目录
  35. chdir -- 切换工作目录
  36. getcwd -- 把当前目录写入缓冲区
  37. opendir -- 打开目录
  38. readdir -- 读取取目录
  39. telldir -- 返回目录流的当前位置
  40. seekdir -- 设置目录流的指针
  41. closedir -- 关闭目录

linux c 文件操作,通过系统调用

linux c 中文件是什么

linux 中一个文本文件是文件, 一个可执行程序是文件, 一个目录是文件,一个打印机是文件 .... 反正一些都是文件
一切都是文件有什么好处 -- 为操作系统和设备提供了统一和简单的接口

操作文件的方式,

linux c 编程中, 对文件的操作有两种方式

  1. 系统调用
  2. 标准库函数

linux c 文件操作的系统调用函数

  1. open -- ** 打开文件的或者设备**
  2. read -- ** 从打开的文件或者设备读数据 **
  3. write -- ** 向文件或者设备写数据 **
  4. close -- 关闭文件或者设备
  5. ioctl -- ** 把控制信息传递给设备驱动程序**

- 阅读剩余部分 -

shell 加法的5五种写法 从1加到100

先上代码

#!/bin/bash

i=0
sum=0

while [ $i -lt 101 ]
do
#    sum=`echo "$i+$sum" | bc`
#   sum=$(($i+$sum))
#    sum=$(expr $i + $sum)
#   sum=`echo $i $sum | awk '{printf $1 + $2}'`
    let sum=$sum+$i
    ((i++))
done

echo $sum

第一种通过 bc

bc 是个计算器, 任意精度的

第二种通过$(())

$((表达式)) 这个shell内置的,速度很快

expr 这个用于整数的技术

expr 表达式

awk

let 内置

linux shell 脚本的中的第一行有什么用

#/bin/bash干嘛用

一个#后面更上/bin/bash 。 一个文件可以不可以执行,在win下看看是不是exe文件就可以。
linxu下是看文件是否有执行权限即可,和后缀没有任何关系。
#/bin/bash 就说明了,该文件用什么程序执行,这里说的是使用/bin/bash执行

一个有趣的示例

文件 test.sh

#!/bin/rm -f
 
echo "hello shell"

文件的第一行是 #!/bin/rm说明这是一个删除的操作。
如果执行

bash test.sh

发现输出了hello shell

修改本文件使权限变为可以执行

chmod 700 test.sh

如果执行这条语句./test.sh 呢? 就是执行这个命令。会如何呢?
结果 : 没有输出 hello shell 并且该文件也消失了。

思考一个问题

#!/bin/bash
#!/bin/rm -f

echo "hello shell"

执行的结果如何。