知识结构

1,Linux命令基础
2,Linux命令帮助
3,目录与文件基本操作


Shell:

Linux系统中运行的一种特殊程序,在用户和内核之间充当一个“翻译官”,用户登录Linux系统时,自动加载一个shell程序,bash是Linux系统中默认使用的shell程序,文件位于/bin/bash;

在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

微信截图_20190811233549.png


Linux命令的分类

内部命令:是属于shell内部的,没有单独对应的系统文件,自动载入内核,可以直接使用

外部命令:是属于shell程序之外的命令,每个外部命令对应这一个单独的系统文件,需要知道文件的位置进行加载才能执行

PATH(环境变量):指定系统能够识别的命令文件所在位置范围

微信截图_20190811233549.png


Linux命令行的格式

通用的命令行的使用格式

微信截图_20190811233549.png

命令字:是整条命令最关键的地方,确定唯一一个命令

选项:短格式选项:使用-符号引导,通常后面跟单个字符,多个字符选项也可以组合在一起使用

          长格式选项:使用--符号引导,通常后面跟着一个完整的单词

参数:命令字的处理对象,可以是文件名。目录(路径)名或用户名等内容,个数可以是零到多个


编辑Linux命令行的辅助操作(记住这些辅助的操作,可以大大减少你的操作量)
Tab:自动补齐
\:强制换行
Ctrl+u:清空至行首
Ctrl+k:清空到行尾
Ctrl+l:清屏
Ctrl+c:取消命令执行


获得命令帮助的方法

内部命令help:查看bash内部命令的帮助信息
命令的--help选项:适用于大多数外部命令
使用man命令阅读手册页:
      使用↑,↓方向键滚动文本
      使用page up/down来翻页
      q退出,按/查找内容


目录与文件的基本操作

微信截图_20190811233549.png

[root@localhost ~]#
root:当前系统登陆的用户
@:分隔符
localhost:主机名
~:当前所在的一个目录
#:管理员身份
$:普通用户身份


查看当前的工作目录-pwd(显示绝对路径)

pwd [OPTION]...

微信截图_20190812013645.png


切换工作目录-cd

cd [dirName]

cd 目标位置  切换到目标位置
cd ~  切换到当前用户的家目录
cd .. 返回上一层目录
cd -  切换到上一次执行命令之前所在的目录

微信截图_20190812013645.png


列表显示目录内容—ls

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

单独ls不加选项

微信截图_20190812003032.png

-l:显示目录的详细信息

微信截图_20190811233549.png

-a:显示隐藏文件

微信截图_20190812002948.png

-A:显示隐藏文件不会显示. ..

微信截图_20190812003013.png

-h:友好显示,带有大小单位

微信截图_20190812002948.png

-R:递归显示目录中的子文件全部显示

-d:仅显示目录名,而不显示目录下的内容列表

--color:颜色区分
黑色:代表数据文件
绿色:可执行文件
红色:压缩包
蓝色:目录(文件夹)
天蓝色:软链接文件(快捷方式)
粉色:图片

结合通配符
?:匹配文件名中的一个未知字符
*:匹配文件名中的任意多个字符

设置别名-alias
alias myls='ls -alh'

例如:ls 其实就是ls --color的别名

微信截图_20190812004041.png


统计目录及文件空间占用情况-du

du   [选项]  [文件或目录]

-a:统计磁盘空间占用时包括所有的文件,而不是仅仅统计目录
-h:友好显示,带有大小单位
-s:只统计所占用空间总的大小,而不是统计每个子目录,文件的大小

微信截图_20190812005118.png


创建新目录-mkdir

-p:一次性创建嵌套的多层目录

mkdir    [选项]  目标位置及名称

微信截图_20190812010151.png


创建空文件-touch
更新文件的时间标记
用于创建多个空文件

微信截图_20190812010858.png


创建连接文件-ln

ln -s 源文件 目标文件
[root@localhost test]# ls -l
-rw-r--r-- 1 root bin      61 11-13 06:03 log.log
[root@localhost test]# ln -s log.log link
[root@localhost test]# ls -l
lrwxrwxrwx 1 root root     11 12-07 16:01 link -> log.log


微信截图_20190812010858.png


复制文件或目录-cp

cp [选项] 源文件或目录 目标文件或目录

-f:覆盖已经存在的目标文件而不给出提示。

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。


删除文件或目录-rm

rm [选项] 文件,目录… 

-f:从不给出提示。

-i:进行交互式删除

-r:指示rm将参数中列出的全部目录和子目录均递归地删除。

微信截图_20190812012729.png


移动文件或目录-mv  也可相当于执行重命名(同一路径下)

mv [选项] 源文件或目录 目标文件或目录

微信截图_20190812012729.png


查找命令/文件存放目录-which

搜索范围是油环境变量PATH决定(echo $PATH)

which [命令]

微信截图_20190812012729.png


查找文件或目录-find

find [查找目录] [查找规则] [查找完后的操作]  
即:find pathname -option [-print -exec -ok …]

常用查找条件类型

微信截图_20190812013630.png

使用find命令实现多个查找条件

微信截图_20190812013645.png


总结:

shell是一种特殊程序

Linux命令分类,格式及使用方法

Linux常用命令详解

        查看及切换目录(pwd cd ls du)

        创建目录和文件(mkdir touch ln)

        复制删除和移动目录和文件(cp rm mv)

        查找目录和文件(which find)