• 1. Linux嵌入式编程Linux基础操作删除文件或目录:rm 主要参数 [-firv][文件或目录...] -f 强制删除文件或目录。 -i  删除既有文件或目录之前先询问用户。 -r  将指定目录下的所有文件及子目录一并处理。 -v 显示指令执行过程。 例:mkdir test mkdir -p ./test1/first touch test.txt rm test.txt rm –r test rm –firv test rm –frv *es* ——文件管理指令
  • 2. Linux嵌入式编程Linux基础操作移动或更名现有的文件或目录:mv 主要参数:[-fiuv][源文件或目录][目标文件或目录]   -f  若目标文件或目录与现有的文件或目录重复,则 直接覆盖现有的文件或目录。   -i 覆盖前先行询问用户。   -u 在移动或更改文件名时,若目标文件已存在,且 其文件日期比源文件新,则不覆盖目标文件。   -v 执行时显示详细的信息。 例:touch test.txt mkdir –p test/myfile mv test.txt ../ mv test.txt myfile.txt mv –fiuv ./test ../ mv test files——文件管理指令
  • 3. Linux嵌入式编程Linux基础操作复制文件或目录:cp 主要参数: [-fipPrlsv][源文件或目录][目标文件或目录] -f 强行复制文件或目录,不论目标文件或目录是否 已存在。 -i 覆盖既有文件之前先询问用户。 -p 保留源文件或目录的属性。   -P 保留源文件或目录的路径。   -r   将指定目录下的文件与子目录一并处理。 -l 对源文件建立硬连接,而非复制文件。   -s 对源文件建立符号连接,而非复制文件。   -v 显示指令执行过程。 例: cp test.txt myfile.txt cp –rfv ./files ../ cp –rfs ./files ./lnfiles——文件管理指令
  • 4. Linux嵌入式编程Linux基础操作创建文件:touch 主要参数: [-f][文件名] -f 强行创建文件,不论目标文件是否存在。 例:touch test.txt touch –f test.txt 连接文件或目录:ln 主要参数:[-dsfinv][源文件或目录][目标文件或目录]   -d  建立目录的硬连接。   -s  对源文件建立符号连接,而非硬连接。   -f  强行建立文件或目录的连接,不论文件或目录是 否存在。   -i  覆盖既有文件之前先询问用户。   -n  把符号连接的目的目录视为一般文件。   -v  显示指令执行过程。 例:ln –sifv files lnfiles——文件管理指令
  • 5. Linux嵌入式编程Linux基础操作在环境变量$PATH指向的目录里查找文件 which 主要参数:[-anpw] [文件名] -a 查找环境变量$PATH所指向的目录的有文件 -n<文件名长度>  指定文件名长度,指定的长度必须大于 或等于所有文件中最长的文件名。 -p<文件名长度>  与-n参数相同,但此处的<文件名长度> 包括了文件的路径。 -w   指定输出时栏位的宽度。 例:which –a file——文件管理指令
  • 6. Linux嵌入式编程Linux基础操作在指定目录内查找文件:find 主要参数:find [目录...][-depyh][-empty][-fls <列表文件>][-name <范本样式>][-path <范本样式>][-type <文件类型>]  -name<字符串> 指定字符串作为寻找文件或目录的样式。   -path <字符串> 指定字符串作为寻找目录的范本样式。   -type<文件类型> 只寻找符合指定的文件类型的文件。   -depth   从指定目录下最深层的子目录开始查找。   -expty   寻找文件大小为0 Byte的文件,或目录下没 有任何子目录或文件的空目录。   -ls   将文件或目录名称列出到标准输出。 -fls<列表文件>  此参数的效果和指定“-ls”参数类似,但会把 结果保存为指定的列表文件。 例: find ./ -name “f*” find ./ -name “f*” –ls find /home/ -path “*my” –fls ./filepaht.txt——文件管理指令
  • 7. Linux嵌入式编程Linux基础操作 主要参数 grep [-cinvs] 搜索字符串 [filename] grep [-cinvs]正则表达式 [filename] -c 只输出匹配行的计数 -i 不区分大小写(用于单字符) -n 显示匹配的行号 -v 不显示不包含匹配文本的所以有行 -s 不显示错误信息 1、常用grep实例 (1)多个文件查询 grep “form" *.txt #见文件名的匹配 (2)行匹配:输出匹配行的计数 grep -c “form" *.txt #输出文档中含有form字符的行数——文件管理指令
  • 8. Linux嵌入式编程Linux基础操作 (3)显示匹配行和行数 grep -n “form" *.txt #显示所有匹配form的行和行号 (4)显示非匹配的行 grep -vn “form" *.txt #输出所有不包含form的行 (5)大小写敏感 grep -i “form" *.txt #输出所有含有form或Form的字符串的行 2、正则表达式的应用 正则表达式的应用 (注意:最好把正则表达式用单引号括起来) grep '[239].' data.doc #输出所有含有以2,3或9开头的,并且是两个数字的行 ——文件管理指令
  • 9. Linux嵌入式编程Linux基础操作 3、在标准输出中检索字符 (1) 在ps显示的文件查找字符 ps -ef | grep bash (2)在more显示的文件中查找字符 more basic.txt | grep –n form (3)在find查找的文件中查找字符 find /usr/ -name “*” | grep –n phone ——文件管理指令
  • 10. Linux嵌入式编程Linux基础操作比较文件:cmp 主要参数 [-clsv][-i <字符数目>] [第一个文件][第二个文件] -c   除了标明差异处的十进制字码之外,一并显示 该字符所对应字符。   -l  标示出所有不一样的地方。   -s  不显示错误信息。   -i<字符数目>指定一个数目。 例:cmp –c basic.txt basic_bak.txt ——文件管理指令
  • 11. Linux嵌入式编程Linux基础操作比较文件差异:diff 主要参数 diff [-abBcipqrtT] [文件或目录1][文件或目录2]   -a  diff预设只会逐行比较文本文件。   -b  不检查空格字符的不同。   -B  不检查空白行。   -I  不检查大小写的不同。   -c  显示全部内文,并标出不同之处。   -p  若比较的文件为C语言的程序码文件时,显示差 异所在的函数名称。   -q  仅显示有无差异,不显示详细的信息。   -r  比较子目录中的文件。   -t  在输出时,将tab字符展开。   -T  在每行前面加上tab字符以便对齐。 例:diff –t basic.txt basic_bak.txt diff –c basic.txt basic_bak.txt >difffile.txt——文件管理指令
  • 12. Linux嵌入式编程Linux基础操作连接两个文件:cat 主要参数 [-nbsv] fileName -n 由 1 开始对所有输出的行数编号 -b 对于空白行不编号 -s 当遇到有连续两行以上的空白行,就代换为一行 -v 或 --show-nonprinting 范例:cat –n difffile.txt cat -n ba sic.txt difffile.txt cat difffile >test.txt cat basic.txt difffile >>test.txt ——文件管理指令
  • 13. Linux嵌入式编程Linux基础操作分屏显示:more 主要参数 [-fpcs][文件名] -f 计算行数时,以实际上的行数,而非自 动换行过后的行数(有些单行字数太长 的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清 除萤幕后再显示内容 -c 跟 -p 相似,不同的是先显示内容再清除 其他旧资料 -s 当遇到有连续两行以上的空白行,就代 换为一行的空白行 例:more -p basic.txt ——文件管理指令
  • 14. Linux嵌入式编程Linux基础操作从文件头显示:head 主要参数 [-n] [文件名 -n 指定显示的行数 从文件尾显示:tail 主要参数 [-n] [文件名 -n 指定显示的行数 查看程序名或函数:man 主要参数 man [函数名] 例:man printf ——文件管理指令
  • 15. Linux嵌入式编程Linux基础操作——文件管理指令目录文件创建mkdirtouch删除rm -rf/rmdirrm复制cp –Rcp剪切mvmv查看内容ls –a –h –l cat/more/head/tail查看大小du –sls -l总结文件与磁盘操作指令