声明: 这个模块的所有文章是我两年前的学习记录,使用的 Linux 系统是 Cent OS,如果要自己使用请尽量查询后再考虑是否使用

# 目录处理命令

# ls

显示目录下文件

原意:

  • list

命令所在路径:

  • /bin/ls

执行权限:

  • 所有用户

选项:

ls  选项[-ald]  [文件或目录]
-a:显示所有文件,包括隐藏文件
-l:详细信息显示
-d:查看目录属性
-h:人性化显示
- 文件属性 — 被调用次数 — 所有者 — 所属组 — 大小 — 最后修改时间
  - x — xxx — xxx — xxx
  - 文件类型 — 所有者 — 所属组 — 其他人
  - -:二进制文件
  - d:目录
  - l:链接文件
  - r:读
  - w:写
  - x:执行
-i:文件ID号

 

# mkdir

创建新目录

原意:

  • make directories

命令所在路径:

  • /bin/mkdir

执行权限:

  • 所有用户

语法:

mkdir -p [目录名] [目录名] ...
-p:递归创建(一次性连续创建)

 

# cd

切换目录

原意:

  • change directories

命令所在路径:

  • shell 内置命令

执行权限:

  • 所有用户

语法:

cd [目录] 
.:当前目录
..:上一级目录

 

# pwd

显示当前所在目录

原意:

  • print working directories

命令所在路径:

  • /bin/pwd

执行权限:

  • 所有用户

语法:

pwd

 

# rmdir

删除空目录

原意:

  • remove empty directoies

执行权限:

  • 所有用户

语法:

rm [目录名]

 

# cp

复制文件或目录、改名

原意:

  • copy

执行权限:

  • 所有用户

语法:

cp -rp [原文件或目录1] [原文件或目录2] [......] [目标目录]
-r:复制目录
-p:保留文件属性
复制同时改名:在目标目录后添加   /新名称

 

# mv

剪切文件、改名

原意:

  • move

执行权限:

  • 所有用户

语法:

mv [原文件或目录1] [原文件或目录2] [......] [目标目录]
不需要加-r,文件或目录无区别

 

# rm

删除文件或目录

原意:

  • remove

执行权限:

  • 所有用户

语法:

rm -rf [文件或目录]
-r:删除目录
-f:强制删除

 


 

# 文件处理操作

# touch

创建空文件

原意:

执行权限:

  • 所有用户

语法:

touch [文件名1] [文件名2] [......]
文件名避免使用空格,必须要用加""

 

# cat

显示文件内容

原意:

执行权限:

  • 所有用户

语法:

cat [文件名]
-n:显示行号

 

# tac

显示文件内容(反向列示)

原意:

执行权限:

  • 所有用户

语法:

tac [filename]

 

# more

分页显示文件内容

原意:

执行权限:

  • 所有用户

语法:

more [filename]
翻页:空格 或 f
换行:Enter
退出:q或Q

 

# less

分页显示文件内容(可向上翻页)

原意:

执行权限:

  • 所有用户

语法:

less [文件名]
翻页:
- 向下:空格 或 f 或 PageDown
- 向上:PageUp
换行:
- 向上:(上箭头)
- 向下:(下箭头) 或 Enter
查询:/关键词(n可继续向下查找)
退出:q或Q

 

显示文件前面几行

原意:

执行权限:

  • 所有用户

语法:

head [文件名]
-n:指定行数(无指定默认10行)

 

# tail

显示文件后面几行

原意:

执行权限:

  • 所有用户

语法:

tail [文件名]
-n:指定行数(无指定默认10行)
-f:动态显示文件末尾内容

 


 

# 链接命令

# ln

生成链接文件

原意:

  • link

执行权限:

  • 所有用户

语法:

ln -s [ 原文件 ] [ 目标文件 ]
不加选项:创建硬链接
-s:创建软链接

 

# 软链接

类似 Windows 的快捷方式,权限都是:lrwxrwxrwx

原意:

执行权限:

  • lrwx-rwx-rwx

特性:

  • 创建时原文件的路径

    • 创建时写的是临时路径

      ln -s hello.c hello.slink
      大小:7字节( =sizeof(hello.c)
      软链接会在其所在目录寻找hello.c,所以移动后就不能指向原文件,而是在新路径下寻找hello.c
      如果有另一个hello.c,将会与此文件建立链接,如果没有则此链接不能使用
    • 创建时写的是绝对路径

      ln -s /root/test/hello.c hello.slink
      大小:18字节( =sizeof(/root/test/hello.c)
      在使用时会按照绝对路径查找,移动链接不影响链接的使用
  • 存储内容就是创建时的路径

  • 可针对目录使用

  • 创建时会新申请一个节点

 

# 硬链接

  • 可同步更新

  • 通过 i 节点识别
    创建的硬链接与源文件的 i 节点号相同、属性相同

  • 删除原文件不影响使用

  • 不能跨分区

  • 不能针对目录使用

 

# 节点

  • 新建文件或目录会新建节点

  • 同一个节点下可以有多个文件,互为硬链接

  • 删除其中一个文件不影响其他文件

  • 当节点下链接数为 0 时,节点才会被回收