目录
2.4 info:用于阅读Linux下 info 格式的帮助文档
shell是一种壳程序,Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。其作用是执行翻译,将人类使用的高级语言翻译成二进制内核,内核再交给硬件执行。无论是Windows还是Linux一旦登录系统就会加载一个shell程序。
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令也称为内建 (Built-in) 指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
注:内部命令是自带的命令,外部命令是后加的命令,命令的本质就是一个程序,当然也存在即使内部也是外部的命令。centos7内部命令是/bin/bash一部分,只要登陆了系统,内部命令就直接运行在内存中了。查看是否为内外部命令通常是:
type 参数 命令
[root@localhost ~]#type cd
cd 是 shell 内嵌 #内嵌代表内部命令
[root@localhost ~]#type -a ls #查找并显示给定指令的信息
ls 是 `ls --color=auto' 的别名 #别名代表外部命令
ls 是 /usr/bin/ls #外部命令会有程序路径
hash是缓存空间,系统规定,存在5个特殊文件夹,如果外部命令在里面,就可以直接输入程序名字调用,不用关注文件的具体位置;如果程序不在这5个文件夹中,就需要将程序的位置写完整,也就是绝对路径。文件夹如下:
[root@localhost ~]#echo $PATH #显示当前PATH环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]#hash
命中 命令
1 /usr/bin/pstree #数字为调用次数,当缓存足够多时,使用频高的会往前靠
3 /usr/bin/du
3 /usr/bin/cat
1 /usr/bin/vim
1 /usr/bin/uname
2 /usr/bin/w
3 /usr/bin/ls
[root@localhost ~]#hash -d pstree #hash -d 命令:代表单独删除一条缓存命令
[root@localhost ~]#hash -r #hash -d 命令:代表删除所有
? ? ? ?① 命令打错了
? ? ? ?② 命令没有安装
? ? ? ?③ 命令不在规定的路径下
? ? ? ?④ 运行过命令,但是位置发生了改变
[root@localhost ~]#
root:当前用户,root为超级管理员,生产环境一般接触不到
@:连接符,无实际含义
localhost:当前主机名,可以临时或永久修改
~:当前用户的所在家目录,当前所在文件夹
#:代表超级管理员
[fql@localhost root]$
$:代表普通用户
命令 [选项] [参数]
选项
多个单字符选项可以组合在一起使用
短格式选项:使用“-”符号引导
符号引导长格式选项:使用“--”符号引导
快捷键 | 功能 |
Tab 键 | 自动补齐(两次可以显示所有选项) |
Ctrl+c | 取消本次命令编辑 |
Ctrl+l | 清屏 |
向上下箭头 | 回看执行过的命令 |
[root@localhost ~]#help 命令
[root@localhost ~]#ls --help #ls为外部命令
[root@localhost ~]#man [选项] 参数
注:有些指令或程序可能有一个以上的主题,它们位于不同的区段中。因此,要查看较后的区 段,你可以在此指定man查找区段的顺序。具体区段划分如下所示:
? ? ? ? ? ? ? 区段1:用户指令
? ? ? ? ? ? ? 区段2:系统调用
? ? ? ? ? ? ? 区段3:程序库调用
? ? ? ? ? ? ? 区段4:设备
? ? ? ? ? ? ? 区段5:文件格式? ? ?
? ? ? ? ? ? ? 区段6:游戏
? ? ? ? ? ? ? 区段7:杂项
? ? ? ? ? ? ? 区段8:系统指令
? ? ? ? ? ? ? 区段9:内核内部指令
? ? ? ? ? ? ? 区段n:Tcl或Tk指令?
[root@localhost ~]#info [选项] 参数
[root@localhost /]#ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
补充:挂载是将系统中的文件夹和磁盘做上关联,使用文件夹等于使用磁盘,Linux唯一使用外来设备的方式(安全)
[root@localhost ~]#ls [选项] 文件或目录
- rw-r--r--. 1 root root 0 12月 19 19:44 text
文件属性 权限 硬连接个数 文件主人 属组 文件大小 最后一次使用时间 文件名
. 和selinux有关
[root@localhost ~]#pwd #打印当前目录完整路径
[root@localhost bin]#pwd -P #打印当前目录真实路径
命令 | 功能 |
cd ~ | 代表当前用户的家目录 |
cd | 也是到当前用户的家目录 |
cd - | 返回上一次目录(只有一次) |
cd ../ | 返回上一级目录 |
① 绝对路径:从根开始描述文件的位置(唯一)。
② 相对路径:从当前路径开始描述文件的位置,有可能不唯一;“.”,代表自己,“..”,代表上级。两种表达方式:
· 当前目录 ? ?./? ?或者“空”(不输入路径)
·?上一级目录 ? ?../ ? ? ? 上上一级 ? ?../../
绝对路径无论是在哪都可以准确的找到某一个文件;相对路径如果参照物变了,路径也就变了。
举例:root目录下以相对路径切换到etc文件夹
[root@localhost ~]#pwd
/root
[root@localhost ~]#cd ../etc
[root@localhost etc]#
cp 源文件路径 复制到 目标文件夹
拷贝文件夹 cp -r 连目录下面文件一起拷贝
命令 参数1 参数2
mv 源文件路径 目标文件路径(增加新名称代表移动并改名;目标文件更换名称即重命名)