一、linux的基本原则:
1、 由目的单一的小程序组成,组合小程序,完成复杂任务;
2、 一切皆文件;
3、 尽量避免捕获用户接口;
4、 配置文件保存为纯文本格式
二、shell
GUI :Graphic User Interface
X-windows :仅仅是一个外围软件,主机和显示器可以完全分离
Gnome(C),KDE(C++),Xface(嵌入式开发)
CLI :Command Line Interface
sh,bash,csh,ksh,zsh,tcsh
命令提示符(prompt)bash #-->root $-->普通用户
命令格式
1、命令
2、选项(修正命令执行方式)
短选项:- 多个选项可以组合
长选项:--(通常不能组合使用)
3、参数:命令的作用对象(不加参数表示默认参数)
内核不提供特定任务,提供系统调用,将硬件计算能力抽象提供给上层使用
IDE集成开发环境
三、命令的执行
1、库:共享库(动态库,静态库)
.dll(dynamic link library):动态链接库→windows
.so(shared object):共享对象→linux
2、Login:
用户名:用户标识,但计算机识别最快的是数字,故每个用户名都有一个用户ID
认证机制:Authentication
授权:Authorization
审计:Audition(日志)
3、命令执行原理
命令:可执行文件必须有程序执行的入口
magic mumbic:魔数(二进制格式)
#!/bin/bash 给文件指定魔数
命令输入后,程序提交给内核,内核寻找执行程序的魔数
四、linux的目录结构
目录:路径映射,也是一种文件
路径:从指令起始点到目的地所经过的位置
文件系统:filesystem(层次化管理机制) FHS:文件系统分层标准(倒树状结构)
绝对路径:从根开始找 相对路径:相对于当前位置的路径
登录系统默认会存在一个目录 working directory, current directory
文件名不是文件的数据
五、linux常用命令
命令类型:内置命令(shell内置)
外部命令:在文件系统某个路径下有与命令名称相同的可执行文件
环境变量:命名的内存空间,定义当前工作环境属性
Path:分割一堆路径
O(1):无论队列有多长,花费的时间都是一样的
1、su(switch user):用户切换
#su user (切换用户不切换目录)
#su [-][-l] user(切换用户并切换目录)
#exit 退出切换
2、passwd(修改密码)
密码复杂性规则:数字,大写字母,小写字母,特殊字符
使用四种字符中至少三种,足够长大于7位,使用随机字符串,定期更换
3、pwd (print working directory)打印当前目录
4、ls(list)列出目录内容
- -l –long 长格式,显示完整信息
完整信息内容 文件类型:普通文件(-)、目录文件(d)、块设备文件(b-block)、字符设备文件(c-charecter)、符号链接文件(l-symbolic link file)、命令管道文件(p-pipe)、套接字文件(s-socket) 文件权限:9位,每三位一组,rwx(读,写,执行) 文件硬链接次数 文件属主(owner) 文件属组(group) 文件大小(size):默认单位字节 时间戳(timestamp):最近一次被修改的时间 最近一次被访问的时间,最近一次被修改的时间,最近一次被改变的时间 访问:access 修改:modify 改变:change,metadata,元数据(属性) 文件名 2) -h (human 人类可读的)做单位换算
3)-a 显示以 . 开头的隐藏文件 . 当前目录 .. 上一级目录 -A 不显示当前目录和上一级目录
- -d 显示自身目录属性
5)-i index node, inode
- -r 逆序显示
7)-R 递归显示
5、cd (change directory) cd 不加参数,回到家目录(homedirectory)
cd ~ 指定用户家目录(同cd一样) cd - 当前目录和前一次目录来回切换
6、type 显示指定命令属于那种类型
7、printenv 显示环境变量 8、hash 缓存
hash -r 清空缓存
9、date 时间管理 硬件时间:石英晶体震荡器计时 系统时间:linux(rtc实时时钟)从硬件读取当前时间,设置为系统时间,读取后不再使用硬件时间,内核在CPU作用下模拟计时 同步网络的时间 网络时间协议ntp 1)系统时间 date 显示时钟
date 月日时分年秒(修改时间)
date 固定格式显示时间
2)硬件时间 clock 显示硬件时间 hwclock -s 同步硬件时间到系统
hwclock -w 同步系统时间到硬件
3)同步网络时间 10、echo 显示一行文字(内部命令) -n 行尾取消换行
-e 启用转义字符
10、file (获取文件的类型)
-b(brief):概要信息,不显示文件名
六、获取命令帮助的方式 1、内部命令使用帮助 help command
2、外部命令
command --help
3、命令手册
man command(内部命令一般很少使用man查看,查看后为bash)
whatis command/ man -f command 查看命令在哪个章节
1)章节内容:
①用户命令(/bin,/usr/bin,/usr/local/bin)
②系统调用
③库调用
④特殊文件(设备文件)
⑤文件格式(解释配置文件)
⑥游戏
⑦杂项(miscellaneous):惯例与协议
⑧管理命令(/sbin,/usr/sbin,/usr/local/sbin)
⑨内核相关文件
2)组成部分
NAME:命令名称及功能说明
SYNOPSIS:用法说明,包括可用选项
DESCRIPTION:命令功能详尽说明,可能包括每一项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关配置文件
BUGS:
EXAMPLE:使用实例
SEE ALSO:另外参照
3)相关使用技巧
翻屏:向后翻屏→SPACE 向前翻屏→b 向后翻行→enter 向前翻行→k
查找:向后→/keyword 向前→?keyword n→上一个 N→下一个
退出:q
5、 在线文档:只是man的补充
Info command
Ls /usr/share/doc