鸟哥的私房菜-文件与目录篇

1. 目录与路径

绝对路径:一定由根目录开始写起。

绝对路径:想对应的路径

切换目录:cd [选项]
  • . 代表此层目录
  • .. 代表上一层目录
  • – 代表前一个工作目录
  • ~ 代表使用者家目录
显示当前所在的目录:pwd [选项]
  • -P:显示出真正路径,而非使用链接(link)路径。
建立新目录:mkdir [选项] 目录名称
  • -m:设置文件权限。直接设置,不使用默认权限。
  • -p :递归创建目录。
删除“空”目录:rmdir [选项] 目录名称
  • -p:连同上层“空目录”也一起删除。
2.文件与目录管理

2.1 文件与目录查看:ls

ls [选项] 文件名或目录名称

选项与参数

-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出

2.2 复制、删除与移动:cp、rm、mv

3.文件查找及内容查看

3.1 文件的查找

whereis :

只查找特定目录下的文件;具体查找哪些目录可使用-l选项查看。

whereis [选项] 文件或目录名

选项与参数

-l:列出whereis命令主要查询的目录;
-b:只查binary文件格式的文件;
-m:只找在说明文件manual路径下的文件;
-s:只找source源文件;
-u:查找不包含指定类型的文件;

locate :

依据 /var/lib/mlocate 内的数据库记录,找出用户所输入关键字的文件名。可使用updatedb手动更新数据库文件。

find:

find [PATH] [option] [action]
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去n天内被修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。

3.2 文件内容查看

  1. cat 从第一行开始显示内容。
  2. tac 从最后一行显示内容。
  3. nl 显示的时候同时输出行号。
  4. more 翻页显示内容。
  5. less 翻页显示内容,可向前翻页。
  6. head 看前面几行。
  7. tail 看后面几行。
  8. od已二进制方式读取文件内容。

重点介绍常用的命令:

head -n 文件 
tail -n,-f .-n代表展示尾部多少行 -f代表持续刷新
grep -C 5 foo filename 显示file文件中匹配foo字符串那行以及上下5行
grep -B 5 foo filename 显示foo及前5行
grep -A 5 foo filename 显示foo及后5行
sed -n ‘5,10p’ filename 只查看文件的第5行到第10行

tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行

linux 如何显示一个文件的某几行(中间几行)
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000

【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000