一、OS功能:
进程调度
文件系统
网络协议栈
内存管理(最复杂)
驱动程序
安全功能
二、Linux用户:
管理员root:拥有所有权限
普通用户:使用非特权资源
三、Linux程序:
管理命令
普通命令
四、命令提示符(由shell提供):prompt
管理员:#
普通用户:$
五、用户使用环境:
通过改变环境变量的值来实现
变量:有名称的内存空间
变量赋值:
格式:变量名 = 值
bash是弱类型语言,把所有数据类型当成字符串来理解;动态类型语言,无需事先声明,随时使用。
六、Linux的文件系统:
严格区分大小写;
层次化结构表示文件路径
倒置的树
一个目录:就是一个命名空间
相对路径:从非顶级,从当前路径开始
绝对路径:从顶级名称空间起始标记的路径
rootfs
登录系统:
工作目录:working directory,当前目录,current directory
家目录
七、命令的语法格式:
COMMAND [OPTIONS] [ARGUMENTS]
命令:
系统自带命令
应用程序
脚本文件
命令的类型:
内建命令:有由shell程序自带的命令;查找方式:shell内建
如:cd , type
外部命令:本身是一个独立的可执行程序文件,命令名即为程序文件名;如:ifconfig
如何区分: type COMMAND
查找方式:通过shell的内置的环境变量PATH中指定的路径进行查找;
即使在终端不输入任何命令,此时仍有程序在运行,即shell;
shell提供了我们键入的命令和内核交互的接口;
键入的任何命令和进程都是shell程序的子进程;
在命令行下修改的变量,不会影响用户长期使用效果,退出再登录便又恢复原来变量的值;若想长期生效,必须修改配置文件。
选项:调整命令的作用方式
短选项:-charactor,例 -l, -d, -h
多个选项间要使用空白分隔符: -l, - h, -d
合并使用:-ldh
长选项:--word, 例:--long , --directory, --human-readable
长选项一般不能合并使用
注意:有些选项需要带参数,称为选项参数
mkfs -t ext4
参数:
命令的作用对象
命令历史:bash的特性之一
history:
保存的条数:
环境变量:HISTSIZE
echo &HISTSIZE
用户退出时命令持久保存位置(在本次登录中键入的命令并未写入,退出后才被写入):
环境变量:HISTFILE, 通常默认为用户家目录下的 .bash_history 中 ;
此文件中可保存的最大数目:
环境变量:HISTFILESIZE
用法:
history N :显示最近的N条,包括当前命令自身;
history -c : 清除命令历史
history -d offset : 删除指定偏移处的命令条目
history -a [/path/to/some_history_file] : 将当前会话中的命令历史写入指定文件
八、 Bash调用命令历史列表中的命令:
!N :执行命令历史中的第N条命令
!!:执行上一条命令
!string : 执行命令历史中最近一次以string开头的命令
!$ : 调用上一条命令的最后一个参数
ESC, . :功能同上
Linux中所有以 .号开头的文件名的文件为隐藏文件;
显示隐藏文件:ls -a
ls -A
九、如何获取命令帮助:
内置命令:help COMMAND
例如:help history
外部命令:
1、COMMAND --help
2、man COMMAND
a.手册:manual; 在 /usr/share/man下,找到COMMAND的对应手册的压缩包,将其解压并解析后显示该手册;
b.手册:有章节之分,1-9 ;
c.手册的段落:
NAME :命令的名称
DESCRIPTION :命令功能的详细描述
SYNOPSIS:使用格式
EXAMPLES :使用示例
FILES :与当前命令相关的配置文件
SEE ALSO :可参考的其他手册
帮助中的格式字串:
[] :可省略
<>: 不可省略
| :二选一或多选一
... : 同类内容可以出现多个
d.查询命令在哪些章节:whatis COMMAND
注意:whatis根据数据库执行查找操作,此库为系统定期更新,可使用makewhatis 手动更新。
e.显示命令在某一具体章节下的内容:
man [#] COMMAND
f. man 的使用机制:
翻屏:
回车键:向文件尾部翻一行
k : 向文件首部翻一行
空格键:向文件尾部翻一屏
b : 向文件首部翻一屏
Ctrl+d : 向文件尾部翻半屏
Ctrl+u : 向文件首部翻半屏
字串搜索:
/keyword 从文件首部向尾部进行搜索
?keyword 从文件尾部向首部进行搜索
n:显示找到的下一个
N:显示找到的上一个
对于/和?来说,n 和N的意义是相反的
退出:
q
注意:man 能够为除命令之外的配置文件,系统调用、库函数提供帮助手册,它们分别位于不同的章节中:
1:用户命令
2:系统调用
3:库调用
4:设备文件
5:配置文件
6:游戏相关
7:杂项
8:管理命令
3、info命令:获取在线文档
仅在man手册无法获取到足够信息,或想了解程序的开发历史时才使用info
4、 很多应用程序都自带有帮助文档: /usr/share/doc/
ChangeLog : 程序版本升级的变动情况
INSTALL :安装方法
README :程序的说明信息
5、主流发行版官方文档
Redhat, suse, debian
6、google
十、Linux的国际化:
internationalization
i18n
# cat /etc/sysconfig/i18n
# export LANG = en //只会在当前生效,
常用命令(待补充):
PS1:
\u:用户名
\h :主机名
\H: EQDN,完全格式的主机名
\W:当前工作目录的基名
\w: 当前工作目录绝对路径
\$ : 提示符
cd : change directory
切换到自己的家目录:cd ;cd ~
切换到他人的家目录:cd ~username
在前一个目录和当前目录间反复切换:cd -
两个独特的路径: . 当前目录
.. 上一级目录
pwd :print working directory
tty
ifconfig
ls
useradd
passwd
logout
echo $PS1
终止当前命令执行:Ctrl+c