linux一旦登录系统,必须加载一个shell程序,那么这个程序就是 /bin /bash
bin : 存放二进制文件的地方
dev:存放硬件设备(典型:磁盘,光驱,输入设备(键盘鼠标),输出设备(显示器))
proc:内存环境中的程序状态
内存:临时 临时修改:靠命令
硬盘:永久保存 永久修改:写入文件
boot:开机启动需要的文件,操作系统最重要的内核文件,内核在boot文件夹中
etc:放配置文件,用户信息,密码信息,软件配置信息
tmp:临时文件
var:子目录 /var/log
mnt:挂载点,空文件夹,经常用到mnt
opt:空文件夹,存放后天安装的软件
home:存放用户家目录的地方,家目录的上级目录(但root用户的家目录在根下的root)
家目录:每一个用户都会有一个家目录,存放用户基本配置信息及个性化配置,(存放用户自己的文档使用)
~:当前用户家目录
root用户家目录在根下的root
lib:被调用的库32位操作系统使用
lib64:被调用的库64为操作系统使用
linux命令分为内部命令和外部命令
type ls:查看ls是内部还是外部
内部命令是 /bin /bash 一部分,只要登录系统,内部命令直接就运行在内存中了
内部命令 | 外部命令 |
---|---|
集成与shell解释器程序内部的一些特殊指令,也称为内建(Built-in) | linux系统中能够完成特定功能的脚本文件或者二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对盈利系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
” / “ 根目录下的5个文件夹:
①、etc ; ②、dev ; ③、boot;④、opt;⑤、mnt
你和系统做了一个约定,有5个特殊文件夹,如果外部命令在这5个特殊文件夹里,就可以直接写程序的名字调用,不用关注文件在什么具体位置
如果程序不在规定的5个文件夹,就需要将程序的位置写完整 (从/根开始描述程序的位置)
输入一个命令,提示命令不存在?(排错思路)
①、命令字:
②、选项:(修饰命令,添加额外的功能)
选项一般是没有顺序要求的,可以叠加使用,放在对象后面也可以
③、对象:对谁做(一般是文件、文件夹、用户名,不写的话默认当前文件或文件夹)
tab键补全:如果唯一直接补全,如果不唯一,按两次显示所有可能
ctrl+c:停止命令
ctrl+l:清屏(将光标移动到顶行)
ctrl+r:输入关键字查询命令,回车再次执行,左键显示在屏幕上
上下键:回看命令
反斜杠 ” \ “:强制换行,调整格式
ctrl+u:清空至行首
ctrl+k:清空至行尾
ctrl+a:切换至行首
ctrl+e:切换至行尾
man 1 (1可以省略) 命令 :显示命令的用法
man 5 passwd:代表passwd文件的格式
[root@localhost ~]#: # 表示为管理员登录
[root@localhost ~]$: $ 表示为普通用户登录
su 用户名: 切换用户后所在目录不变
[root@localhost ~]#pwd: 显示当前所在目录的完整路径
格式 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd ~ | 若不指定目标位置,切换到当前用户的宿主目录 |
cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录(只有一次) |
从根开始描述文件的位置,有且唯一(无论在哪里,都可以准确找到某一文件)
从当前路径开始描述文件的位置,有可能不唯一(如果参照物变了,路径也会改变,临时性)
相对路径的表现形式
表现形式 | 说明 |
---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 |
以一个点号 " . " 开头 | 表示以当前的工作目录作为起点 |
以两个点号 " … " 开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
以 " ~用户名 " 形式开头 | 表示以指定用户的宿主目录作为起点 |
显示当前文件夹下的所有文件
-l: 长格式显示,显示文件属性
-d: 只显示文件夹
-a: 显示隐藏文件
-A: 显示隐藏文件(不包括 "." 和 "..")
-r: 倒序显示
-R: 递归显示
-t: 时间排序
文件 | 属性说明 |
---|---|
d | 目录文件 |
- | 普通文件(文本) |
c | 字符设备(一次只能录入一个字符,如:键盘) |
b | 快设备(硬盘,读写文件的时候是一整块一整块的读和写 |
s | 套接字(ip ,端口号,传递消息) |
p | 管道符(数据只能沿着一个方向传输) |