. 当前目录

.. 上级目录

 

内部命令 help

外部命令

--help–h

man      

第一步区分命令类型 type

第二部看具体帮助

Help 内部命令名称

外部命令–help

Echo 输出命令

man 外部命令名称

       过滤 / 关键词 n 向下N向上 q 退出

G 跳转到最后一行开头gg跳转到第一行开头

manpath查询手册路径

ls输出结果颜色区分

蓝色-目录

黑色-普通文件

红色-压缩文件

绿色-可执行程序

***-设备文件

浅蓝色-快捷方式

 

File 查询文件类型

file

 

Linux命令行基础

目录和文件基本管理

程序和文件检索

#################################################

 

一、Linux命令行基础

 

1. 什么是命令、命令行

命令:能够被Linux系统识别,用来完成某一类功能的指令或程序

                       |-->依赖于Shell解释器,默认为 /bin/bash

命令行:用户输入的命令及相关参数,按Enter键提交的一整行指令字符串

 

2. Linux命令的种类

内部命令:属于Shell解释器程序(比如/bin/bash)的一部分

外部命令:独立于Shell解释器之外的其他程序文件

 

3. 命令行的基本格式

命令字   [选项]   [参数]

 

其中,  命令字:内部命令或外部命令的名称

       选项:用来调控命令的执行方式,有短选项(-l-A等)、长选项(--word等)

       参数:命令的操作对象,比如文件、目录、用户      

内部命令: /bin/bash

外部命令: /bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

 

4. 快速编辑命令行

辅助操作:Tab键自动补齐、反斜杠 \ 强制换行

快捷键:

       Ctrl + u:清空至行首

       Ctrl + k:清空至行尾

       Ctrl + w:删除前一个单词

       Ctrl + l:清空整个屏幕

       Ctrl + c:废弃当前编辑的命令行

 

5. 获取命令帮助

查看内部命令的帮助:help 命令名

查看外部命令的帮助:命令名 --help

 

如何区分一个命令是内部命令还是外部命令?

       type 命令字

 

使用专用的man手册机制(不适用于内部命令):

       man 外部命令名

       man 配置文件名

manpath入口(1命令程序,5配置文件)

       ** man交互环境中, /word 向后查找关键词“word”,n下一个、N前一个,q退出

       ** 执行manpath可查看man手册页存放位置

       ** 有同名的man手册时,以数字区分入口,比如:man 5 passwd

 

 

二、目录和文件基本管理

目录是一个特殊的文件

 

1. 查看及切换目录

 

pwd Print Working Directory,查看当前所在目录

 

cd Change Directory,切换目录

       格式:cd  [目标文件夹]

      

       ** 绝对路径:以 / 开始的完整路径

       ** 相对路径:以当前工作目录为参照的路径

       ** 几个特殊目录表示:

              .    当前目录

              ..    父目录(上一层)

              -    前一个目录(返回)

              ~user    用户user的家目录

 

ls List,列表目录内容或文件属性

       格式:ls  [选项]... [目录或文件名]

       常用选项:

          -l 长格式显示

          -A:显示所有(包括. 开头的隐藏文档)

          -d:显示目录本身(而不是内容)的属性

          -h:提供易读的容量单位(KM等)

          -R:递归显示内容(包括子目录及子子目录下的所有内容)

 

       ** Shell环境中的通配符

       任意字符            *

       单个字符           

       连续多个字符(任何一个) [a-z]

       不连续的多个字符串(全部)    {a,min,xy}

 

       ** 设置命令别名: alias  别名='实际的命令行'

       ** 查看别名:alias  别名、alias(列出所有)

       ** 删除别名:unalias别名、unalias  -a (删除所有)

 

du estimate file space usage,评估所占用的磁盘空间

       汇总统计:du  -sh  [目录或文件]  s 汇总

       分别统计(目录下子内容):du  -ah  [目录或文件] a 所有子目录

 

2. 创建目录和文件

新建文件夹:

       mkdir目标文件夹

       mkdir -p  目标文件夹(多层)     

创建空文件:

       touch file1  file2  file3 .. ..

创建快捷方式(软链接)

       ln -s  被链接文件或目录链接文件【可指定存放路径,设不同名称】

       ln -s  被链接文件或目录目标文件夹    【产生的链接文件与源同名】

 

重定向命令行>文件覆盖输出

添加到命令行>>文件追加输出

  • 文件清空

只可以创建文件

3. 复制、删除、移动目录或文件

复制文件:

       cp源文件目标文件         【复制的同时改名】

复制目录:

       cp -r  源目录目标文件夹          【复制目录必须加 -r 选项】

复制多个对象:

       cp -rf源文件或目录...  目标文件夹      【目标文件夹必须存在】

 

       ** -f 选项可强制覆盖、-i 可给出提示(不强制)

              【同时指定时,-i优先】

              -r 递归在复制整个目录

              -p 保持源文件属性不变

              -F 区分不同文件类型

 

删除文件:

       rm文件...

删除目录:

       rm -r  目录...

删除目录和文件:

       rm -rf目录或文件...

 

       ** -f 选项可强制删除、-i 可给出提示(不强制)

              【同时指定时,-f优先】

移动文件:

       mv 源文件目标文件            【若目录不变,相当于改名】

移动目录:

       mv 源目录目标文件夹        【可挪入已存在的目录下,不改名】

移动多个对象:

       mv 源文件或目录...  目标文件夹   【目标文件夹必须存在】

 

 

三、程序和文件检索

 

1. which 查找可执行程序

执行命令字的搜索顺序

别名-内部命令-外部命令

默认搜索范围(目录集合)由环境变量PATH决定,执行 echo $PATH 可查看

对于管理员,包括/sbin/usr/sbin/usr/local/sbin等几乎所有程序目录

对于普通用户,不包括上述目录,只有/bin//usr/bin/usr/local/bin等目录

查找可执行程序:

       which 命令字   【找到第一个就不再查找】

       which -a  命令字  【搜索范围内每个目录都查找】

 

    ** 当用户输入一个指令名时,Shell查询“命令字”的顺序:别名-->内部命令-->外部命令

    ** 如果输入的指令包括其所在文件夹路径,则直接作为外部命令调用(忽略别名、内部命令)

 

 

2. locate 根据文件或目录名模糊查找

建立索引库:updatedb

按关键词查找:locate -i  关键词

       ** 选项 -i  忽略大小写

       ** 选项 -r  可匹配正则表达式(后续课程学习)

 

3. find 精确查找

 

格式:find [查找范围]  [查找条件]

常用的查找条件

       -type:按文件类型查找

       -name:按文件名称查找

       -size:按文件大小查找

       -mtime:按内容修改的时间(+天数、-天数)

处理查找到的文件:

       find [范围]  [条件] -exec  处理命令 {}  \;

 

其他查找设置:

       -user:按文件所属的用户查找

       -perm:按文件的权限查找

       -maxdepth:指定查找的目录深度

 

#################################################