. 当前目录
.. 上级目录
内部命令 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:提供易读的容量单位(K、M等)
-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:指定查找的目录深度
#################################################