Linux基础复习
Chapter1 Linux系统概况
内部版本
uname -r |
内核版本格式:
major.mirror.patch-build.desc |
新增明显功能时递增次版本号
次版本号有奇偶之分,奇数代表开发版,偶数代表稳定版,
开发版本趋于稳定后升级为稳定版本,
通过复制稳定版本得到开发版本。稳定版本只修改错误,开发版本继续增加功能。
desc域
rc 候选版本(release candidate)数字越大越接近于正式版 |
开源协议
BSD开源协议 用户可以自由使用,修改和发布符合BSD的软件,但不能宣称自主知识产权 |
自由使用,无限修改,再次发布,版权有主
Linux发行版和开源社区
Linux发行版的体系结构
应用软件(GCC、Firefox、GNOME等) |
按照收费模式:
服务收费版 IBM(Red Hat)、SURE |
按照软件包管理方法:
rpm包管理 SLES、Fedora、OpenSUSE、Centos、RHEL、Mandrake rpm为扩展名 |
开源社区:
howtoforge tldp sourceforge linuxtoday |
Chapter2 安装linux
分区
硬盘的磁道与扇区
马达通过串联的磁道高速旋转,旋转速度一分钟多少圈来表示,7200rpm表示每分钟转7200圈。
计算机只要一开机,磁碟就在高速旋转
磁面 磁头 磁道 扇区
每个磁碟都有两个面,上下两面对应两个磁头
外圈磁道–中间磁道–内圈磁道
每个磁碟面上具有相同半径的磁道是一个柱面,从外向里,0柱面–1柱面–2柱面–……
磁道划分的弧段成为扇区,编号为1扇区,2扇区,3扇区……
图2.2上有10个扇区
扇区是硬盘访问的最小的单位,单扇区可以存放512字节
CPU访问硬盘上的某一扇区,需要使用CHS寻址
(柱面号,磁头号,扇区号) |
硬盘总容量=柱面数*磁头数 *每磁道扇区数 *512
硬盘分区
柱面是分区的边界,一个分区包含整数个连续编号的柱面,若柱面0999为主分区1,柱面10003000为主分区2,剩下柱面组成扩展分区。
分区命名
Llinux硬盘分区使用文件名来表示,格式为:
如果存在扩展分区,那么其命名一定为/dev/sda4(假定为第一块硬盘),/dev/sda5,/dev/sda6 ……为逻辑分区
在Linux系统中,U盘等同于SATA硬盘,光盘命名为/dev/cdrom
文件系统
Linux实际文件系统位于虚拟文件系统之下,常见的文件系统类型,如ext2,ext3,ext4,xfs,brtfs,zfs等
man 5 fs |
windows常见文件系统只有FAT32和NTFS,默认采用后者。
显示全部的分区:
初步管理
系统和服务管理
使用systemctl命令来通知systemd进程完成一些工作
登录、锁屏和注销
对于ubuntu有七个登陆屏幕,第七个就是图形界面
ubuntu默认不允许root用户登录,可以通过普通用户跳转到root用户进行修改
配置网络
service network-manager start 启动网卡 |
查看系统信息,包括主机名称:
配置安装源
省略
添加、删除和升级软件包
作业
(1)请写出计算机里的第一块SATA硬盘的第三个主分区和第二个逻辑分区所对应的设备文件。
/dev/sda3 /dev/sda6 |
(2)请解释/dev/sdb3、/dev/sda8和/dev/hdal的意思。
/dev/sdb3 计算机里的第二块SATA硬盘的第三个主分区 |
(3)假设计算机物理内存为1.5GB、有一个SATAⅡ硬盘500GB,现在需要安装Windows XP和Ubuntu10.04,请规划一个硬盘分区方案。
windows xp 200多G就可以,然后分区就行了。 |
Chapter3 用户、组和身份认证
多用户系统
静态Linux系统:
根分区的文件、目录和交换分区组成。(内容不改变) |
动态Linux系统:
根分区的文件、目录和虚拟内存(交换区和物理内存)中的进程组成。(内容时刻变化) |
动态Linux系统(多用户运行级别)允许已注册的用户登录
用户和组
用户
用户名:账号 |
/etc/passwd每一行对应一个用户,格式为:
用户名:密码:UID:GID:备注:家目录:shell |
举例为:
/etc/shadow也是一行对应一个用户,格式为:
账号:密码:上一次修改密码的时间:密码有效期最少天数:密码有效期最多天数:密码修改警告期:密码非活动期:账号失效天数: |
超级用户:root,安装系统时默认创建,权力最大,UID=GID=0, |
组
/etc/group |
一个用户有且只有一个主要组群,但可以有0或多花个附加组群,一个组群可以有0或多个用户,
管理
Linux常见命令格式:
<命令><选项><目标> |
创建组:
groupadd class1 |
groupadd -g 555 grade2 |
groupadd -g 0 -o administrators |
删除组群:
groupdel class1 |
修改组群属性:
groupmod -g 1650 sales |
groupmod -n sales1 sales |
groupmod -g 1650 -n sales1 sales |
查看组群属性:
cat /etc/group |
创建用户:
root@master:/home/wh# useradd zsan |
删除用户:
root@master:/home/wh# userdel zsan1 |
修改用户:
root@master:/home/wh# usermod -d /opt/zsan -s /bin/tcsh -g grade1 -G class2 -a -l zsan2 -u 1020 -m zsan |
用户密码管理:
passwd zsan |
查看用户信息:
root@master:/home/wh# id zsan2 |
more /etc/passwd |
cat /etc/passwd |
tail /etc/passwd |
登录过程和环境变量
用户登录过程
环境变量:
常见环境变量
LANG=zh_CN.UTF-8 |
env # 显示全部环境变量 |
echo $HOME |
设置环境变量采用export(慎用)
删除环境变量使用set
unset HELLO |
unset和export定义的变量是临时的,注销或重启后就没有了,
修改/etc/profile 或~/.bashrc才能永久修改
shell变量
作业:
(l)创建用户wang,该用户具有如下属性:家目录/var/home/wang,登录Shell是/bin/sh,归属主要组群mail,同时属于附加组群users和fuse的成员,初始密码123456,并在用户首次登录时提示修改密码,要求该用户每隔90天修改一次密码,请写出命令序列。
useradd -d /var/home/wang -s /bin/bash -e 90 -g mail -G users,fuse wang |
(2)假设用户zsan已经存在,家目录是/home/zsan,登录Shell是/bin/bash,帮助该用户设置永久有效的用户环境变量(其他用户不受影响):
HELLO “I am fine”
NAME “Zhan san”
echo "export HELLO = "I am fine" ">>/home/zsan/.bashrc |
(3)文件/etc/passwd中的一行信息如下:
jack:x:501:1001:The superman:/home/jackhome:/bin/bash
解释各个字段的含义。
用户名:密码:UID:GID:备注:家目录:shell |
(4)文件/etc/shadow有如下一行:
woman:$6$87wjcyRCGHJ2rPOb.SQw:15142:10:20:3:5:16253:
解释各个字段的含义。
账号:密码:上一次修改密码的时间:密码有效期最少天数:密码有效期最多天数:密码修改警告期:密码非活动期:账号失效天数: |
Chapter4 文件系统
Linux目录树
Linux根文件系统:
Linux目录用途:
文件分类:
目录:
根目录 / |
文件:
普通文件 |
目录漫游:
返回家目录: cd 或cd ~ 或 cd $HOME |
目录管理
mkdir /tmp/abc |
不可根据后缀来判定文件类型,file命令判断:
wh@master:~$ file Music/ |
首字母为.的文件为隐藏文件
“普通文件”是用一些相关的应用程序(例如图像工具、文档工具、归档工具…或cp 工具等)创建的文件。
“设备文件”存放在“/dev”目录中,用命令mknod创建,没有大小,但附有主/次设备号。设备文件是应用程序调用设备驱动的接口,例如编程时打开一个设备文件,然后读写,最后关闭,其实是调用了设备驱动的相应接口函数。在Linux系统中,网卡设备命名有点特殊,不存在网卡设备文件,在Ubuntu中依次命名为eth0、ethl、eth2,…,分别表示第一块网卡、第二块网卡、第三块网卡、…,在红帽7.0中,网卡的命名格式为ensx,x为插槽位。
“管道文件”又叫命名管道,是实现在同一台计算机上无关进程之间进行通信的机制—一一个进程以“读”方式打开一个管道文件,另一个进程以“写”方式打开同一个管道文件,此后它们就可以互相通信了。创建命名管道文件的命令是mkfifo,例如mkfifo pipel,即在当前目录下创建命名管道文件pipel。
“套接字文件”是实现进程间通信的机制(要通过TCP/IP协议栈)之一,与命名管道不同的是,通信双方不一定要在同一台计算机上。创建套接字文件需要通过编程(调用socket函数)来完成。
“链接文件”分为硬链接文件和符号链接文件,可以理解为“指针”,只不过硬链接是指向另一个文件体,而符号链接是指向另一个文件名,示意图如图所示。
建立符号链接文件的命名格式为:
ln -s 被凝结文件名 链接文件名 |
建立硬链接文件的命名格式为:
ln 被凝结文件名 链接文件名 |
符号链接可以跨磁盘分区(或者跨文件系统),而硬链接不可以;可以对目录建立符号链接,但不能对目录建立硬链接。
cp <源文件> <目的文件> |
文件权限
0:代表文件类型。d表示目录,-表示普通文件,1表示连接文件,b表示块设备文件,c表示字符设备,p表示管道文件,s表示套接字文件。
1: 权限。r表示读,w表示写,x表示执行,- 表示无权限,sl s 表示权限临时切换,tlT表示任何用户能存取文件
2: 表示目录中的文件数目或文件的硬链接数。
3: 文件的主人。
4:文件的组群。
5: 如果是普通文件则表示大小,如果是目录则表示该目录包含的文件名所占据的大小(4096字节的整数倍,但至少4096个字节)。
6:修改日期。
7: 文件或目录名。
文件权限管理
chmod [-R] <权限> <文件> |
文件管理
文件通配符
bash扫描输入时出现
* ? ··· |
未出现转义字符(\)时,认为进入匹配模式
rm -rf /tmp/1*2 "1*2" /etc/profile |
*
? ···
就是文件通配符
“*”匹配0个或多个字符,”?”匹配1个字符,”···”只匹配其中的1个字符
[!···]和[^···]不匹配其中的任何一个字符 |
文件操作
作业
Chapter 5 Vi/Vim
vim的三种模式
vim的基本操作
set autoindent |
建议将定制好的工作环境命令放到”~/.vimrc”
set autoindent |
进入插入模式
移动光标
查找与替换
存盘与退出
拷贝粘贴与删除
编辑命令
多文件编辑