[TOC]
# 命令格式与目录处理命名 ls
## 命令格式
~~~
命令 [-选项] [参数]
# 例如
ls -al /etc
~~~
**说明**
+ 个别命名不遵守此规则
+ 当有多个选项时,可以写在一起
+ 简化选项与完整选项(`-a` 等于 `--all`)
## 目录处理命名` ls`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| ls | list | /bin/ls/ | 所有用户 | 显示目录文件 |
语法: ls 选项[-ald] [文件或目录]
+ -a 显示所有文件,包括隐藏文件(all)
+ -l 详细信息显示(long)
+ -d 查看目录属性(directory)
+ -h 人性化显示(k,M,G)
**例如**
~~~
# 显示当前文件下的文件
ls
# 显示所有文件
ls -a
~~~
## 目录处理命令
### 创建目录`mkdir`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| mkdir | make directories| /bin/mkdir | 所有用户 | 创建目录 |
语法:mkdir -p [目录名]
+ -p 递归创建
**例如**
~~~
# 创建目录
mkdir kw
# 递归创建目录
mkdir -p /usr/local/tmp
~~~
### 切换目录 `cd`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| cd | change directory| shell内置命令| 所有用户 | 切换目录 |
语法:cd [目录名]
### 显示当前目录 `pwd`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| pwd | print working directory| /bin/pwd| 所有用户 | 显示当前目录 |
~~~
$ pwd
~~~
### 删除空目录 `rmdir`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| rmdir | remove empty directory| /bin/rmdir| 所有用户 | 删除空目录 |
~~~
$ rmdir test
~~~
### 复制目录或文件 `cp`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| cp | copy| /bin/cp| 所有用户 | 复制目录或文件 |
语法:cp -rp [原文件或目录] [目标目录]
+ -r 复制目录
+ -p 保留文件属性
~~~
# 复制文件
$ cp test.html /var/test.html
# 复制目录
$ cp -r t /home/s
~~~
### 剪切、改名 `mv`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| mv | move| /bin/mv| 所有用户 | 剪切、改名 |
语法:mv [原文件或目录] [目标目录]
~~~
# 复制文件
$ mv index.php mk
# 修改名字
$ mv index.php test.php
~~~
### 删除删除文件或目录`rm`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| rm | remove| /bin/rm| 所有用户 | 删除文件或目录 |
语法:rm -rf [ 删除文件或目录 ]
+ -r 删除目录
+ -p 强制执行
~~~
# 删除文件
$ rm test.php
~~~
# 文件处理命令
## 创建空文件 `touch`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| touch | touch | /bin/touch| 所有用户 | 创建空文件 |
~~~
# 创建空文件
$ touch test.php
~~~
## 显示文件内容 `cat`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| cat | | /bin/cat| 所有用户 | 显示文件内容 |
参数:
+ -n 显示行号
~~~
# 显示test.php的内容
$ cat test.php
# 显示行号
$ cat -n test.php
~~~
## 反向显示文件内容 `tac`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| tac | | /bin/tac| 所有用户 | 反向显示文件内容 |
参数:
+ -n 显示行号
~~~
# 反向显示test.php的内容
$ tac test.php
# 反向显示行号
$ tac -n test.php
~~~
## 分页显示内容 `more`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| more | | /bin/more| 所有用户 | 分页显示内容 |
快捷操作:
+ 空格/f 翻页
+ Enter 换行
+ q 退出
~~~
$ more /etc/services
~~~
## 分页显示内容 `less`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| less | | /bin/less| 所有用户 | 分页显示内容(可向上翻页) |
快捷操作:
+ 空格/f 翻页
+ Enter 换行
+ q 退出
+ PageUp 一页一页往上翻
+ ↑ 一行一行往上翻
+ q 退出
+ :搜索内容
+ n next
~~~
$ more /etc/services
~~~
## 显示文件前几行 `head`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| head | | /bin/head| 所有用户 | 显示文件前几行 |
选项:
+ -n 行数
~~~
#显示前20行
$ head -n 20 /etc/services
~~~
## 显示文件最后几行 `tail`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| tail | | /bin/tail| 所有用户 | 显示文件最后几行 |
选项:
+ -n 行数
+ -f 动态显示文件后面的内容(比如文件在变化,这个显示内容也会变化)
~~~
#显示前20行
$ tail -n 20 /etc/services
~~~
# 链接命令
## 生成链接文件 `ln`
| 命令 | 英文愿意 | 命令所在路径 | 权限 | 功能 |
| --- | --- | --- | --- | --- |
| ln | link | /bin/ln| 所有用户 | 生成链接文件 |
语法: ln -s [原文件] [目标文件]
+ -s 创建软链接
**实例**
~~~
#创建/etc/issue的软链接
ln -s /etc/issue /tmp/issue.soft
# 创建/etc/issue的硬链接
ln /etc/issue /tmp/issue.hard
~~~
类似于:Windows的快捷方式
软连接所对应的权限,跟其对应的源文件来决定的。
**硬链接**
+ 类似于cp -p + 同步更新
+ 通过i节点识别
+ 不能跨分区
+ 不能针对目录使用
