一.Linux的哲学思想
-
一切都是一个文件。(包括硬件,文本,二进制,源代码)
-
系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
-
当遇到复杂任务,通过不同功能用途的程序组合起来完成。
-
避免令人困惑的用户界面就是没有复杂的图形界面。
-
连配置文件都存储在文本中,方便增删改查。
-
不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
二.什么是shell
1.1首先shell只是一类程序的统称,由于人类的高级语言是无法和只懂二进制的电脑进行有效正常沟通的,这时候就由shell在中间充当类似于翻译器一样的东西,这个运行在Liunx系统后台的特殊软件提供了当前用户和内核交互的接口。
1.2 shell与内部命令和外部命令
| 内部命令 | 外部命令 |
|---|---|
| 集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
那么什么是内部命令和外部命令呢?
内部命令是指保存在shell内部的命令,是shell的一部分。而只要shell运行,其内部的命令就自动载入内存,随时调用,无需知晓其文件路径。
外部命令是指后期手动安装的命令,需要执行时必须知晓对应的路径。
1.3如何区分内部命令和外部命令
输入enable可以查看shell内所有内部命令
可以利用输入type的方法来求证命令是否是内部还是外部命令
外部命令存放于 echo $PATH, 一个一个找,找到为止,找不到就报无命令
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
开启或关闭内部命令
关闭:enable -n 内部命令
开启:enable 内部命令
三. 命令行的通用格式
1.命令行 +【选项】 +【参数】
1.命令字:整条命令最关键的地方,决定了整条命令大致的方向。
2.选 项:起到修饰命令的作用,不同的选项可以起到不同的命令作用。选项可分为长格式和短格式,其显示的命令结果相同,相对来说短格式较为方便,所以一般情况下都是使用短格式命令为主.
长格式选项:长格式选项用“--”加完整单词
短格式选项:短格式选项用“-”加单个字母
3.参 数:整条命令的处理方向,可以是目录、文件、用户名等,可多个。
4.liunx命令运行过程及原理
2.命令编辑的一些辅助键
此类快捷键可以使命令输入更快捷,省去了许多重复麻烦的操作,让输入命令更快捷更贴合实际。
-
tab键:单机tab键可自动补齐还未输入完整的【参数】,可以提高工作效率。但同时每次补齐时需要保证当前目录下存在该文件。
-
反向'':强制换行。
-
ctrl+U:光标处清空至行首。
-
ctrl+L:清屏(界面杂乱时可使用,但不代表清除当前命令)
-
ctrl+K:光标处清空至行尾。
-
ctrl+C:中止该命令进程。
-
ctrl+e:切换到行尾。
-
ctrl+a:切换到行尾
| 快捷键 | 功能 |
|---|---|
| Tab 键 | 自动补齐(两次可以显示所有选项) |
| 反斜杠“\” | 强制换行或转义 |
| Ctrl+e 或 end 键 | 光标移到最后 |
| Ctrl+U | 清空至行首不包括当前光标处的 字符 |
| Ctrl+K | 清空至行尾包括当前光标处的字符 |
| Ctrl+a | 光标移到最前 |
| Ctrl+w | 从当前光标删除到开头 |
| ALT+d | 从当前光标删除末尾 |
| Ctrl+l | 清屏 |
| Ctrl+c | 取消本次命令编辑 |
| Ctrl+s/Ctrl+q | 锁屏/解锁 |
| 向上下箭头 | 回看执行过的命令 |
3.关于遇到问题如何进行帮助
1.通常遇到无法解决的问题时help命令适用于内部命令和大部分外部命令。
help
格式说明
- [ ]表示可选项
- CAPS或<>表示可变化的数据
- ...表示一个列表可加多个
- x|y|z 表示或的意思
- -abc 是-a -b -c (有些命令选项有先后顺序)
只能查看内部命令的 使用方法 [root@localhost ~]# help echo #内部命令查看帮助 echo: echo [-neE] [参数 ...] 将参数写到标准输出。
在标准输出上显示 ARG 参数后跟一个换行。
选项:
-n 不要追加换行
-e 启用下列反斜杠转义的解释
-E 显式地抑制对于反斜杠转义的解释
`echo' 对下列反斜杠字符进行转义:
\a 警告(响铃)
\b 退格
\c 抑制更多的输出
\e 转义字符
\f 格式提供
\n 换行
\r 回车
\t 横向制表符
\v 纵向制表符
\\ 反斜杠
\0nnn 以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是
0到3个八进制数字
\xHH 以 HH (十六进制)为值的八比特字符。HH可以是
一个或两个十六进制数字
退出状态:
返回成功除非有写错误发生。
2.采取访问使用man命令进行阅读手册页。
man
man分九个章节默认打开第一章节。
查看命令:man 1 命令/可执行程序 (1可以省略不写,因为默认打开第一章节)
查看文件格式:man 5 系统文件名
[root@localhost ~]# whatis ls
ls (1) - 列目录内容
1代表第一章手册
ls (1p) - list directory contents
1p 代表开发程序使用
[root@localhost ~]# whatis passwd
#可以查看命令的章节
passwd (5) - (未知的主题)
sslpasswd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
[root@localhost ~]# man 5 passwd
#查看第五章内容,第5章一般是配置文件格式详细解释
[root@localhost ~]# man 7 ascii
[root@localhost ~]# man 7 UTF-8
[root@localhost ~]# mandb
#生成man数据库,man命令无效时
正在删除 /usr/share/man 里的旧数据库条目...
mandb: 警告:/usr/share/man/man8/fsck.fat.8.manpage-fix.gz:忽略错误的文件名
正在处理 /usr/share/man 下的手册页...
正在删除 /usr/share/man/hu 里的旧数据库条目...
正在删除 /usr/share/man/pl 里的旧数据库条目...
[root@localhost ~]# man man
该清单是一组用冒号分隔的欲查找的手册清单。此选项将覆盖 MANSECT 环境变量。
有些指令或程序可能有一个以上的主题,它们位于不同的区段中。因此,要查看较后的区 段,你可以在此指定 man
查找区段的顺序。具体区段划分如下所示:
区段1:用户指令
区段2:系统调用
区段3:程序库调用
区段4:设备
区段5:文件格式 shadow passwd fstab
区段6:游戏
区段7:杂项
区段8:系统指令
区段9:内核内部指令
区段n:Tcl或Tk指令
四.root或用户身份
【root@localhost -】#
(当前登录系统的用户@主机名称 当前所在目录)#
#表示为管理员登录
$表示为普通用户登录
1.切换用户
- su root 利用超级管理员身份登录,当前所在目录不变。
- su+用户名 利用普通用户身份登录,当前所在目录转变成用户目录。
- 管理员身份大于普通用户。
当普通用户切换成管理员身份时需要输入密码,密码不显示。
关于基础基础知识就这么多吧 ,后期还有会持续更新... ...