/bin/bash 翻译,补全,自带内部命令等功能
cat /etc/shells 看到系统支持的shell类型
bash 是可以多开的,躲开的bash是相对独立的
系统是一个特殊的程序,用于调度硬件资源,运行在内存里面
内部命令 | 外部命令 |
1内部命令和bash软件是一体的,bash中集成了很多命令 | 1不在bash软件中,有独立的执行文件 |
2没有独立的文件 | 2一般来说需要额外安装 |
3不用独立安装 | 3系统需要知道外部命令文件的位置才可以运行 |
4直接运行在内存当中,无需加载。 |
系统规定了几个文件夹,如果你的命令在这几个文件夹中那么可以不写路径直接运行。
which 命令可以查看外部命令放在哪儿
cd命令不仅属于内部也属于外部,因为太重要了。
如果是第一次运行的时候,先判断是外部还是内部如果是内部,直接运行如果是外部命令去规定的路径找找到执行找不到就报错。
不是第一次运行,先判断是内部还是外部,如果是内部直接执行,如果是外部直接查缓存,安装缓存提示找,找到执行找不到报错,这个时候需要刷新缓存。
hash缓存如果我找过某个命令为了提高效率就直接在缓存里面找了。
如果一个命令报错:
1:没用安装命令,要安装命令
2:hash缓存有误,清理缓存
3:不在规定的路径下,需要使用绝对路径或者将命令复制到规定的文件夹
linux的哲学思想
优点:
1:一切都是一个文件
2:轻量级,300个包
3当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
4避免令人困惑的用户界面就是没有复杂的图形界面。
5不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
命令字 空格 选项 参数
命令字:你执行任务,需要挑选的命令
选项:修饰加强命令
参数:对谁使用该命令
选项的类型
1:-加字母 不完整的写法
2:--加字母 完整的写法 -a= --all
3 :不用加字母的比较少
可以补全的命令:
内部命令可以补全,规定路径下可以补全
如果命令唯一,直接补全
如果命令不唯一,会显示全部
常用命令:
CTRL+C 取消
ctrl+ l 清屏
tab 补全
目录的结构:
/bin
:存放基本用户命令的二进制文件,如ls、cp等,这些命令对所有用户都是必需的。/boot
:包含启动Linux时所需的一些文件,比如Linux内核文件和引导加载程序GRUB。/dev
:包含设备文件。在Linux中,许多设备都以文件的形式出现在这个目录中,比如硬盘(/dev/sda
)和USB设备(/dev/sdb1
)等。/etc
:包含系统配置文件。这个目录下的文件会影响系统的行为。用户可以编辑其中的某些文件来配置系统。/home
:用户的家目录。每个用户都有一个对应的目录,在这个目录下,用户可以存放个人文件,如文档、音乐等。/lib
:包含系统和应用程序的基本库文件。这些库文件包含代码和数据,很多程序运行时需要用到。/media
:用于挂载可移动媒体设备,如CD-ROMs、USB驱动器等。/mnt
:通常用于临时挂载文件系统。/opt
:用于存放可选的应用软件包和相关的数据。一些较大的软件,如某些数据库系统,通常会被安装在这里。/proc
:一个虚拟文件系统,包含当前内核运行状态的信息。它并不占用硬盘空间,而是在内存中以文件系统的方式呈现。/root
:超级用户(root用户)的家目录。这是系统管理员的默认工作目录。/sbin
:存放系统管理命令的二进制文件,如fdisk、ifconfig等。这些命令通常仅由root用户使用。/tmp
:用于存放临时文件。系统和用户都可以在这里创建临时文件。注意,这个目录中的文件可能在重启后被删除。/usr
:包含用户应用程序和文件。它是Unix System Resources的缩写。这个目录下通常包含子目录如/usr/bin
、/usr/lib
、/usr/local
等,用于存放用户级的应用程序、库文件和本地安装的软件。/var
:包含经常变化的文件,如日志文件、邮件和打印队列等。- 普通字符
d 文件夹 c 字符设备,键盘 b 块设备 硬盘 l 软连接 类似快捷方式 p 管道文件,用于程序直接的数据传递,特点是单向的 s 套接字,用于传递数据,可以跨主机,双向的