Linux优点
1. 一切都是一个文件
2. 系统中拥有小型,单一用途的程序(一个程序只负责做好自己的本职工作)
3. 当遇到复杂任务,通过不同功能用途的程序组合起来完成
4. 避免令人困惑的用户界面就是没有复杂的图形界面
5. 连配置文件都存储在文本中,方便增删改查
6. 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
Linux基础知识:
[root@localhost~]#
| root: | 当前登录用户 |
|---|---|
| localhost: | 当前主机的用户名 |
| ~ | 家目录/当前文件夹 |
| # | 代表超级管理员 |
| $ | 普通管理员 |
Shell
什么是shell
1. 系统中运行的一种特殊程序
2. 在用户和内核之间充当翻译官 内核:属于操作系统的一部分,调度硬件
3. 在用户登录linux系统时,会自动加载一个shell程序
4. Bach是linux系统中默认使用的shell程序
Shell与内部、外部命令
Shell分为内部命令和外部命令
| 内部命令 | 外部命令 |
|---|---|
| 集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于shell的一部分 | 属于shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,有shell加载后才能执行 |
执行Ls命令的过程
1.先判断它是别名 内部命令还是外部命令,如果是别名 直接执行
2.如果是内部命令 直接在bash中执行
3.如果是外部命令 先看 hash表(哈希表) 表中有先找表 表中的路径找不到直接报错
4.如果表中没有去找
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /root/bin
5.找不到报错
6.别名>内部>hsah>外部
如何判断一个命令是内部还是外部
用tape命令来区分
[root@localhost ~]# type cd
cd 是 shell 内嵌
[root@localhost ~]# type -a ls
ls 是 `ls --color=auto' 的别名
ls 是 /usr/bin/ls
即是内部命令也是外部命令
[root@localhost ~]# type -a echo
echo 是 shell 内嵌
echo 是 /usr/bin/echo
命令行格式
命令字 空格 [选项] 空格 [参数]
解释命令字 选项 参数 各自的意思和具体使用方法
1. 命令字
是整条命令中最重要的一部分
唯一确定
2. 选项
短格式选项:使用“-”符号引导 通常是一个字母
长格式选项:使用“--”符号引导 通常是完整的单词
3. 参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以零到多个
编辑linux命令行的快捷键
| 快捷键 | 功能 |
|---|---|
| Tab键 | 自动补齐(一次补全 两次显示所有选项 ) |
| 反斜杠“\” | 强制换行 |
| Ctrl+c | 取消本次命令编辑 |
| Ctrl+l | 清屏 |
| 上下键 | 回看执行过命令 |
| Ctrl+a | 光标移到最前 |
| Ctrl+e | 光标移到最后 |
| Ctrl+u | 清空至行首不包括当前光标处的字符 |
| Ctrl+k | 清空至行首包括当前光标处的字符 |
| Ctrl+s/Ctrl+q | 锁屏/解锁 |
获得命令帮助
1.help
内部命令 help
外部命令 --help
2.man
Man 手册分9章 ,默认打开第一章
我们 需要关注 1 5
Passwd 修改密码
Man 1 passwd 默认 查看第一章内容
Man 5 passwd 查看第五章内容
3.info
[root@localhost dev]# info ls
目录操作
查看切换显示统计目录
1.Pwd(print work directory)
[root@localhost ~]# pwd #显示用户当前所在的工作目录位置
2.cd(change directory)
切换目录
Cd 加文件夹名称
| 命令 | 效果 |
|---|---|
| Cd ~Cd | 切换到当前用户的家目录 |
| Cd - | 返回上一次目录 |
相对路径:不以/根目录开头的路径
绝对路径:以/根目录开头的路径
相对路径的表现形式
| 表现形式 | 说明 | 示例 |
|---|---|---|
| 直接使用目录名或文件名 | 表现当前工作目录中的子目录、文件的位置 | grub.conf |
| 以一个点“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
| 以两个点“..”开头 | 表示以当前目录的上一级目录作为起点 | ../vmlinuz |
| 以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
扩展:
家目录:对当前用户个性化设置的文件夹(存放配置的文件)
“~” 当前用户的家目录
Root(超级管理员)和普通用户的家目录是不一样的
Root家目录:在 /root (根目录下有一个root文件夹)
普通家目录:在 /home/ 和用户名同名的 文件夹
linux七大文件类型:
| d | 代表目录directry |
|---|---|
| - | 普通文件 |
| l | 连接文件(快捷方式) |
| b | 块设备(硬盘) |
| s | 套接字文socket可以双向的 |
| p | 管道文件pipe |
| c | 字符文件单个字符 |
d rwxr-xr-x 3 root root 16 7月 21 12:03 aa
rwxr-xr-x 权限三个一组
| 3 | 连接数是3有三个快捷方式 |
|---|---|
| root | 这个文件属于root |
| root | 这个文件属于root组 |
| 16 | 文件大小 |
| 7月21 12:03 | 文件最后一次修改时间 |
| aa | 文件或者目录名字 |