Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27289
  • 博文数量: 19
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-29 11:18
个人简介

登上台风的猪

文章分类

全部博文(19)

文章存档

2014年(19)

我的朋友

分类: 嵌入式

2014-11-06 19:17:03

#目录与文件操作 pwd  ls  cd  mkdir  cp  mv  rm  file

.pwd 显示当前工作目录所在绝对路径(/为起点表示的路径)

eg:pwd 

#选项-P显示链接文件路径

.ls 显示目录下文件及目录

可以带参数,指定目录或文件

可不带参数,显示当前目录

 

eg:查看主目录下workdir目录的内容(~代表用户主目录)

ls ~/workdir

ls 

 

#A.选项 -a 显示所有文件,包括隐藏文件(.开头的文件)

eg:(带参数:指定目录或文件)查看主目录下workdir目录下所有文件

ls -a /home/tim/workdir

 

eg:(不带参数)查看当前目录下所有文件及目录

ls -a

 

#B.选项 -l 显示文件或目录的属性信息,(仅解释文件大小,其它细节在文件系统部分解释)

eg:显示当前目录下文件及目录的属性信息

ls -l

eg:显示指定目录或文件的属性信息,注意可以带多个参数!

ls -l /home/tim examples.desktop

 

#C.选项 -h K,M,G为单位显示文件大小,-l一起用。

 

注意:bash下通过alias命名了l,la,ll。效果请自行测试

 

注意:几个特别的目录 . .. / ~ -

 

 

.cd 切换工作目录 关于文件系统的路径。绝对与相对

 

eg:不带选项和参数,返回当前用户的主目录.

cd回车

 

eg:切换到根目录下的home目录下

cd /home 

 

eg:切换到上层目录

cd ..

 

eg:切换到前一个目录

cd -

 

eg:切换到上层目录的上层目录,从主目录切换到根目录.

cd ~

cd ../..

 

.mkdir 新建空目录

eg:当前目录下创建目录dir

mkdir dir

 

eg:/home/tim/workdir目录下创建目录dir

mkdir /home/tim/workdir/dir

 

#选项-p递归创建多层目录

eg:~下创建dir1/dir2/dir3

mkdir ~/dir1/dir2/dir3 -p

 

.cp 拷贝源文件或目录到目标文件或目录,可实现备份

eg:将共享目录下的文件拷贝到主目录下

cp /mnt/hgfs/share/jeffy-vim-v2.0.zip ~

 

eg:将主目录下的jeff-vim-v2.0.zip 备份为jeffy-vim-v2.0_bak.zip

cp jeff-vim-v2.0.zip jeffy-vim-v2.0_bak.zip

 

#选项-a拷贝整个目录内容

eg:将目录jeffy-vim-v2.0拷贝到Desktop目录下

cp jeffy-vim-v2.0 ~/Desktop -a

 

.mv 移动源文件或目录到目标文件或目录,可实现重命名

eg:将主目录下的test.txt文件移动到共享目录下

vi test.txt

mv test.txt /mnt/hgfs/share

 

eg:将主目录下的Videos目录重命名为MyVideos

mv Videos MyVideo

 

.rm 删除一个或多个文件或目录,物理删除,不可恢复。-rf

eg:删除在主目录下jeffy-vim-v2.0_bak.zip

rm jeffy-vim-v2.0_bak.zip

 

#选项-rf强制删除文件或目录

eg:删除主目录下的dir目录

rm -rf dir

 

.file 查看文件类型

eg:查看主目录下test.c文件类型

file test.c

 

eg:查看主目录下shared文件类型

file shared

 

 

练习:

如果/mnt/hgfs/目录下没有可用目录,将共享目录换为~/Videos

1./etc/passwd文件拷贝到用户主目录

 

2.将用户主目录下的passwd文件备份为passwd-bak

 

3.在用户主目录下新建目录test_dir

 

4.passwd-bak移动到test_dir目录下

 

5.test_dir目录下的passwd-bak文件改名为passwd

 

6.test_dir目录拷贝到你的共享目录下

 

7.将共享目录下的test_dir目录改名为dir

 

8.删除以上产生的文件

 

#编辑与查看文件内容 touch vi/vim cat more/less head/tail sort uniq diff

 

.touch 可用于创建新文件

eg:在主目录下创建文件test_touch

touch test_touch

 

.vi / vim 新建或编辑

使用小技巧:

vi file +行号 打开文件时光标直接定位到指定行

vi file1 file2 -d 比较两个文件的差异

 

十一.cat 在标准输出(显示器)显示文件内容

eg:显示主目录下的文件test.c

cat test.c

 

#选项-n 显示文件内容时显示行号

eg:显示主目录下的文件test.c同时显示行号

cat -n test.c

 

十二.more/less 分屏显示文件

cat 显示文件时一次性全在屏幕上显示出来了,查看前面内容不太方便,

more/less命令能解决这个问题

使用异同点

eg:分屏显示文件内容

more /etc/passwd

less /etc/passwd

 

相同操作方法

d键下翻页,b键上翻页

回车下翻行,空格下翻页

 

不同操作:less支持上下键,pagedownpageup键上下翻行翻页

显示区别,more显示当前显示内容百分比。

 

退出按q键。

 

十三.head/tail 显示文件开头/结尾

如果只想查看文件开头或最后几行内容,可使用head/tail命令,默认显示10

eg:查看/etc/passwd文件开头10内容

head /etc/passwd

eg:查看/etc/passwd文件结尾处10内容

tail /etc/passwd

 

#选项-num指定显示内容的行数

eg:查看/etc/passwd文件开头20行内容

head -20 /etc/passwd

tail 用法类似

headtail常与管道结合使用

 

 

十四.sort 按行排序从小到大显示文件内容,注意排序结果不会影响原文件

显示结果与语系相关,为了以ASCII码值为结果使用LANG=C统一

可以通过echo $LANG查看

eg:排序查看文件内容

vi test.c

每行写入字符,数字,符号

sort test.c

 

#选项-r从大到小的顺序排序显示

eg:逆序排序查看文件内容

sort -r test.c

 

#选项-n对数字排序时以数值结果排序,而不是ASCII码值排序

eg:按数字数值排序

vi test

每行写入数字

sort test

sort -n test

显示区别

 

#选项-o指定排序结果输出到文件

eg:test.c 排序结果写回test.c

sort test.c -o test.c

 

十五.uniq显示文件内容,去掉相邻重复的行

eg:显示时重复相邻行只显示一行。

uniq test

 

十六、diff按行比较两个文件的不同,将两具文件中不同内容显示出来

常用于程序新旧版本对比

eg:显示sort1.csort2.c不同处

diff sort1.c sort2.c

显示结果不直观,建议用vim sort1.c sort2.c -d代替,直观对比

显示结果中a表示追加,d表示删除,c表示更改,

<表示属于第一个文件,>表示属于第二个文件.

 

 

#查找与搜索 find grep

十七、find在当前目录下递归查找文件显示路径,即包括子目录

用法:find -name filename

find -name 'filename'

find -name "filename"

eg:在当前目录(主目录)下查找test.c文件

find -name test.c

 

用法:find 路径 -name filename

eg:workdir目录下查找test.c文件

find ~/workdir -name test.c

 

十八、grep在文件中查找字符串

eg:/etc/passwd 文件中查找"tim"

grep "tim" /etc/passwd

 

#选项-n显示字符串所在行号

eg:/etc/passwd文件中查找"tim",并显示所在行号

grep "tim" /etc/passwd

 

eg:在当前目录下所有文件中搜索"main"(不包括子目录)

grep "main" *

 

eg:在当前目录下所有文件中搜索"main"(包括子目录)

grep "main" * -nR

 

#搜索字符串的匹配方式 ^ $

eg:查找所有含有tim的字符串

/etc/passwd 拷贝到主录目下

cp /etc/passwd ~

grep "tim" passwd

 

eg:查找以tim开头的字符串

grep "^tim" passwd

 

eg:搜索以tim结尾的字符串

grep "tim$" passwd

 

eg:搜索出只含"tim"的字符串

grep "^tim$" passwd

 

阅读(231) | 评论(0) | 转发(0) |
0

上一篇:string函数

下一篇:sehll文件系统相关命令

给主人留下些什么吧!~~