610 likes | 774 Views
Linux基本 命令介绍. 用户界面. 用户控制 Linux X Window 命令界面. X Window. GUI X, MIT, 1984 C/S. X设计原则 1. Do not add new functionality unless you know of some real application that will require it. 不要自己去想需求,而是从应用里面去寻找需求(=等待客户提出需求). X设计原则 2.
E N D
用户界面 • 用户控制Linux • X Window • 命令界面
X Window • GUI • X, MIT, 1984 • C/S
X设计原则 1 • Do not add new functionality unless you know of some real application that will require it. • 不要自己去想需求,而是从应用里面去寻找需求(=等待客户提出需求)
X设计原则 2 • It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion. • 不要列出太多需求。系统应该只实现核心功能,不重要的不实现。 • 应该设计好的架构,使得系统易于扩展 • firefox是可扩展的好例子
X设计原则 3 • The only thing worse than generalizing from one example is generalizing from no examples at all. • 要从实际的应用场景中抽象需求
X设计原则 4 • If a problem is not completely understood, it is probably best to provide no solution at all. • 如果不完全了解一个问题,那么就不要着手去解决它 • 敏捷:不要过度设计
X设计原则 5 • If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. • 80/20法则,尽可能选择简单够用的解决方案
X设计原则 6 • Isolate complexity as much as possible. • 隔离复杂的事务 • 系统往往不能避免复杂性,但是接口应该简单
X设计原则 7 • Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands. • 不要限制用户。提供一些基本的机制,剩下的事情让用户去实现 • 与时俱进,该原则已经不是很实用
bash • Stephen Bourne, 1978, Bourne shell • bash = Bourne-again shell, 1987 • 命令行环境
命令举例 • man 查询指令、系统API、标准库函数等的使用手册 • uname • whoami • who 查询目前有哪些人登录 • date
命令界面为什么重要 • 模块化是软件工程最基本的思想 • 计算机的核心是计算,而非交互 • 因为计算机可以直接处理纯文字,所以纯文字的界面,最利于模块间通信 • 脚本、管道…… • 管道:前一个命令的输出作为后一个命令的输入 • 另外,许多嵌入式系统没有图形显示设备
grep 字符串处理指令 • cat 打印文件内容 • cat filename | grep string • | 竖线是管道标记 • grep 字符串过滤器:从文件中过滤出具有某个字符串的行 • echo 打印字符串 • man grep • grep手册自带例子
Linux系统的概念 • 文件系统 • 设备管理 • 网络系统 • 权限管理 • 进程/线程管理
目录基本命令 • ls 显示当前文件夹 • 颜色 • 颜色:文件夹 • 绿色:可执行程序 • 红色:压缩文件 • 白色:未知 • 黄色、粉色……
目录基本命令 • ls -l • alias ll='ls -lh' • 权限、引用数、用户、组、文件大小、修改时间
目录和文件操作 • 复制 copy - cp • 移动 move - mv • 重命名 • 删除 remove - rm • find 查找文件
文件基本命令 • file 判断文件类型 • cat 打印文件内容 • less 查看文件内容 • hexdump 打印文件的二进制内容
归档、压缩 • 归档:是一系列文件和目录的集合贮存在一个文件中 • tar 归档管理 • tar -cf xxx.tar 待归档的文件或文件夹 • c 创建新的归档 • f 归档文件的名字 • tar czf xxx.tar.gz …… • 先归档,再将归档包做gzip格式压缩 • z gzip格式 • tar.gz = tgz • unzip 解压缩zip包
/bin /sbin • /bin 系统所需要的最基础的命令就是放在这里,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令 • /sbin 是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令 • sudo命令 用管理员权限执行命令
/usr • 系统存放程序的目录 • 命令、程序的帮助文件等 • 当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。
/etc • 保存系统配置和应用程序配置文件 • 用户帐号及密码配置文件 • /etc/passwd • /etc/shadow • 开机启动的后台服务,保存在/etc/init.d
/home • 普通用户主目录的默认存放目录 • 主目录=个人文件夹 • /root Linux超级权限用户root的主目录
/dev • 设备文件存储目录,比如串口、磁盘等 • LINUX下设备被当成文件 • 硬件被抽象化,便于读写及装载到文件系统中 • 正常情况下,设备会有一个独立的子目录。 • 比如:串口 /dev/ttyS0
串口显示程序 • minicom • 串口参数 • 波特率 • 数据位 • 停止位 • 奇偶校验位
波特率 • 衡量通信速度的参数 • 表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。 • 通常电话线的波特率为14400,28800和36600。 • 嵌入式调试常用 115200 • 波特率受限于传输的距离
数据位 • 通信中实际数据位的参数 • 当计算机发送一个报文(每个报文包括开始/停止位,数据位和奇偶校验位),其中实际的数据不一定是8位的,标准的值是5、7和8位。 • 如何设置取决于传送的信息 • 标准的ASCII码是0~127(7位)如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。 • 扩展的ASCII码是0~255(8位)
停止位 • 单个报文的最后一位。 • 典型的值为1,1.5和2位。 • 数据在传输时是没有同步时钟的(异步通信) • 每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。 • 因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
奇偶校验位 • 串口通信中一种简单的检错方式 • 有四种检错方式:偶、奇、高和低,没有校验位也是可以的。 • 设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。 • 例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 • 接收设备有机会判断是否有噪声干扰了通信
/mnt • 用于存放挂载储存设备的挂载点 • 使用mount命令 • 举例:挂载cdrom • 开机自动挂载,参看/etc/fstab的定义
存储设备 • 块设备 • IDE设备(老式硬盘、光驱) • /dev/hda • /dev/hdb • …… • SATA设备、U盘 • /dev/sda • /dev/sdb • ……
显示块设备 • fdisk -l
存储挂载 • mount • 挂载一个优盘或者光盘 • umount • /etc/fstab 自动挂载
磁盘管理 • df • du • fdisk 分区
/var • 目录的内容是经常变动的 • 看名字就知道,vary的缩写 • /var/log 这是用来存放系统日志的目录 • /var/www是定义Apache服务器站点存放目录
/proc • 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。 • proc并不真正在介质保存数据
/tmp • 临时文件目录 • 有时用户运行程序的时候,会产生临时文件 • /tmp用来存放临时文件
配置IP网络 • 修改IP - ifconfig • 修改DNS - /etc/resolv.conf • 修改路由 - route
检测网络 • ping • nslookup • traceroute • arp
下载 • wget • lftp • Ubuntu安装软件 apt-get命令 • RedHat安装软件 yum命令
用户、组 • who • groups • su • sudo • useradd • groupadd / groupmod
文件权限 • ls -l