《linux用户基础篇》——听课笔记

《Linux用户基础》笔记

**

第一章计算机基础笔记:

1),Linux操作系统由内核和用户程序组成
2),Linux 内核组成包括进程管理、内存管理、虚拟文件系统、网络协议堆栈、设备驱动、安全以及系统调用接口
3),管理操作系统的方式有SHEL(CLI),GUI,TUI 和 各种服务
4),API 类型有 WIN32 API,POSIX API和 JAVA API

第二章unix/linux笔记:

1),开源,闭源,共享源
2),主流的UNIX 系统有:IBM 的 AIX, Oracle 的 Solaris , HP 的 HP-UX
3),GPL “copyleft”(非盈利版权)
4),GPL 同其它的自由软件许可证一样 , 许可社会公众享有:使用 、复制软件的自由 , 发行传播软件的自由 , 获得软件源码的自由 , 改进软件并将自己作出的改进版本向社会发行传播的自由
5),GNU Linux = GNU工具+Linux内核

第三章linux发行版本笔记:

1),Linux 的衍生版本很多,像 Centos, Debian/Ubuntu, Archlinux , Isoft , Suse , 红帽 ,红星 ,Fedora ,Oracle Linux,LFS,Turbolinux等
2),认证,学习:rhel或isoft。学习:centos,生产环境:archlinux

第四章终端概述笔记:

1) ,终端 是一种输入输出设备 ,用来让用户输入数据 ,及显示计算结果的设备。相对于计算机主机而言,其属于外设,本身不提供运算处理能力。
2) ,输入设备控制(键盘),到传输控制(主机运算),到输出设备控制(显示器)
3) ,TTY终端,(图到文)ctrl+alt + 功能键(Fn)切换到文本界面,(文到图)alt+F1,图形化界面,(文字化界面)alt+F(2-6)tty(2-6)
4) ,PTS终端:

第五章用户和组笔记:

1),UID 0为root用户。用户账号通常从UID 500 开始
2),用户指派给组,每一个组被分配一个组特的组ID(GID)
3),用户名映射到用户ID数字,组名映射到组ID数字,存储在硬盘是的数据是数字形势存储的。
4),root用户,一个特定的管理员账号,也被称做超级用户。该用户几乎完全控制系统,它同样也可以完全不受限制的损坏系统,除非必须,一般情况下是不使用root用户登录系统。
5),系统用户和组,这种方式运行的程序限制了任何单个程序能对系统的危害数量(1-500)
6),普通用户和组
7),etc/shadow存储密码。用户描述信息:passwd,用户认证信息:shadow,组描述信息:group,组认证信息:gshadow

第六章获取帮助笔记:

1),帮助命令:whatis command -help man info /usr/share/doc 官方网站 Google baidu
2),whatis ***(需查找的命令)。依赖数据库
3),man-mannual,man -f 关键字 -f 选项的作用等同于 whatis -k 选项的作用等同于 apropos
4),foo –x|-y [-abcde] FILENAME… foo –y –abc one.txt two.txt 方括号里包含的选项不是必须的,是可选的
竖线代表是或者,在该例子-x,-y两个选项必须且只能选一个
省略号是列表,可以代表多个
5),man:
第一章:用户命令
第二章:系统调用
第三章:库函数
第四章:设备文件
第五章:文本文件格式
第六章:游戏
第七章:杂项
第八章:系统管理工具
6)Whereis+命令,可以看到第几章,然后用man+n+命令
man + -f + *** 等同于 whatis + ***
7), 命令的语法
在【】中的参数是可选的
大写的参数或者在<>中都表示变量
文本后面跟随…表示1一个列表
X|y|z表示x或者y或者z
-abc表示任意-a,-b或者-c的任意组合

第七章常用命令笔记:

1),cp 命令是复制,mv 命令是移动,rm 命令是删除,rmdir 命令是删除目录
2),rm -rf : 删除目录,并且不提示直接删除,-r 选项是递归删除,-f 是不提示,强制删除
3),cd - 是切换到之前所在的目录
cd … 是切换到当前目录的上级目录
cd ~ 是切换到当前用户的家目录
cd / 是切换到根目录
4),stat install.log.syslog :查看修改时间,访问时间,文件状态时间

第八章文件系统目录结构笔记:

1),绝对路径:以斜线开头,文件位置的全路径,采用绝对路径可以到处使用,以根目录为开始
2),相对路径:不以斜线开头,当前工作目录的相对位置,可以通过相对路径方式来指定一个文件名
3),程序的组成:二进制程序-配置文件-库-数据文件-帮助文件
4),strace : strace -oe trace=desc -o /root/file /usr/sbin/vsftpd
5),/etc/passwd和/etc/shadow 是系统用于认证的本地数据库文件,其中密码信息存储在/etc/shadow文件中,默认情况下,用户的邮箱是位于/var/spool/mail目录下
6),配置目录:/etc
临时文件目录:/tmp
内核和引导启动目录:/boot
服务目录:/var,/srv
共享库目录:/lib,/usr/lib,/usr/local/lib
其他加载点: /media,/mnt
系统信息目录: /proc,/sys

第九章基本权限笔记:

1),r w x u g o a
4 2 1 所有者 所属组 其他用户 所有
读 写 执行
2), r - 可以查看文件里的内容
w - 可以修改里面的内容
x - 可以运行脚本或者命令
3),chmod [000] xxx 改变用户的基本权
4),chown 改变用户所有权
5),chgrp 改变组所有权
6),umask 022 ,目录:=777-022=755. 文件:=666-022=644

第十章使用文本编辑工具笔记:

1),一般模式,插入模式,Ex模式
2),A-在行尾插入
a-在当前光标的下一位插入
I-在行头插入
i-在当前光标插入
o-插入新行(在光标所在行的下面)
O-插入新行(在光标所在行的上面)
3),逐字符移动:
h:左移动一个字符
j:下移动一个字符
k:上移动一个字符
l:右移动一个字符
逐单词移动:w,h
逐语句移动:),(
逐段移动:},{
跳到行x:xG或者:x
跳到文件尾:G
跳到文件开始:gg
3),使用/,n,N搜索
在sed中搜索/替换
缺省影响当前行
使用x,y界定范围或者使用%针对所有的行
:1,5s/cat/dog/–1-5行
:%s/cat/dog/gi–%:针对这个文件的所有的行,s:代表替换,cat替换为dog,g:这个文件内的全体替换,i:忽略大小写
4),u:撤销最近的改变
U:撤销当前行自从光标定位在上面开始的所有改变
ctrl+r :重做最后一次“撤消”改变

第十一章SHELL基础笔记:

1,shell简介:

1),shell是一个命令语言解释器,脚本语言

2,shell使用:

2),history,up,down,ctrl+r(反向i搜索),从先前的命令中重调上一个参数:•Esc-.(Esc后面跟一点) •Alt-.(当输入点的时候按住Alt键 •!$(仅上一个命令才有效)

3,shell特性之别名:

3),type xx --查看别名
alias --查看所有别名
unalias xx --撤消别名

4,shell变量:

4),变量是内存中存储一个数据的位置名称
变量赋值:变量名=值
变量名必须以字母或下划线开头,其余的字符可以是字母,数字或下划线字符
名字是大小写敏感的。给变量赋值时,等号周围不能有任何空白符
5),环境变量:
•export 变量名=值
•变量名=值;export 变量名
•declare -x 变量名=值
6),$0指代当前shell脚本的名称
$1-$9代表第一个到第九个位置参数
${10}代表第十个位置参数
$#其值为位置参数的个数
$*其值为所有位置参数
$当前shell的PID
?已执行的上一条命令的退出值(0-255)(0代表正常执行,非0代表错误)

5,shell常用变量:

7),查看当前SHELL变量:使用set
查看当前SHELL中的环境变量:printenv,env,export
配置变量:
•PS1:bash提示符的显示
•PATH:查找可执行文件的目录
•添加路径:PATH=$PATH:/XXX
•EDITOR:默认的文本编辑器
•HISTFILESIZE:保存在bash历史的命令数目
信息变量:
•HOME :用户的home目录
•EUID:用户的有效UID

6,标准输入输出与重定向:

8),ll /dev/std*
标准输入(STDIN)-缺省为键盘(0)/proc/self/fd/0
标准输出(STDOUT)-缺省为终端窗口(1)/proc/self/fd/0
标准错误(STDERR) -缺省为终端窗口(2)/proc/self/fd/1
9),文件描述符:所有的I/O,包括文件,管道和套接字,都是由内核通过一种名为文件描述符的机制进行管理的
10),重定向
•追加输出:>>文件名
•重定向标准错误输出:2>文件名
•重定向标准输出和错误输出:&>文件名
•将标准错误输出重定向到输出:2>&1
•将输出重定向到标准错误输出:1>&2
11),终止单词: <<XXX … … …
XXX
接收所有的标准输入直到输入XXX字符
有时称作here document

7,管道:

12),管道用于将一条命令的输出传递给另一条命令作输入
13),•&>:重定向所有的输出: $find /etc -names passwd & > find.all
•2>&1:重定向错误输出到标准输出: $find /etc -names passwd 2>&1|less
•():结合多个应用程序的标准输出: ( c a l 2007 ; c a l 2008 ) ∣ l e s s 14 ) , 重 定 向 到 多 个 目 标 ( t e e ) • (cal 2007 ;cal 2008)|less 14),重定向到多个目标(tee) • (cal2007;cal2008)less14teexxx1|tee xxx2|xxx3: 把xxx1的标准输出存储在xxx2里,然后通过管道传给xxx3

8,shell引用:

15),元字符
•; – 命令分隔符
•| – 管道
•< --输入重定向
•> --输出重定向
•$ --变量替换字符
•*[]? – shell元字符

9,shell编程基础:

16),Shell脚本由许多命令或者可执行的语句组成的文本文档
17),shell脚本的用途包括:
•常用命令的自动化
•执行系统管理和诊断工作
•创建简单的应用程序
•操作文本或者文件
18),•第一行包含magic shebang 序列:#!
#!/bin/bash
注释用#开始
•让脚本可执行:$chmod u+x myscript.sh
执行脚本:把脚本文件放置在一个可执行的路径的目录中或者在命令行指定这个脚本文件的绝对路径或者相对路径

10,shell条件测试:

19),字符测试,整数测试,文件测试
20),字符测试:= != < > -z:字符串长度为null -n:字符串长度不为null
21),整数测试:-eq:等于 -ne:不等于 -gt:大于 -ge:大于等于 -lt:小于 -le:小于等于
22),文件测试:-e:文件存在。
-f:这个文件是一个一般文件。
-s:这个文件大小不为0
-d:表示这是一个目录
-b:表示这是一个块设备
-c:表示这是一个字符设备
23),[ xxx ] [[ xx ]] test xxx

11,shell之if语句:

24),•if表达式;then 命令;fi
•if表达式;then 命令;else 命令;fi
•if表达式:then 命令 elif 命令 then 命令 else 命令 fi

12,shell循环语句:

25),for循环, while循环, until循环
26),for变量in值的列表 while命令 until命令
do do do
命令(命令组) 命令(命令组) 命令(命令组)
done done done
27),shift [n]让指定参数进行左移n个
break[n]终止循环,结束当前循环,跳出n层循环
continue[n]终止循环,终止本次循环

第十二章进程管理笔记:

28),上下文切换,进程的父子关系,优先级。
29),ps:查看进程信息:
•默认显示当前终端进程
•a包括所有终端的进程
•x包括不属于终端的进程
•u打印进程所有者信息
•f打印进程亲缘信息
•-e显示所有进程
•o property1,property2…打印定制信息
•pid,comm,%cpu,%mem,state,tty,euser,ruser等
•例:ps axo pid,%cpu,comm
30)查找进程:
•通过预定义模式:pgrep
•pgrep -U root(只显示运行者是root进程)
•pgrep -G student(只显示运行组是student进程)
•通过准确的程序名:pidof
•$pidof bash
31),进程间通信方式:信号,共享内存,消息队列,信号量
32),kill -l或trap -l(查看信号)信号:(64个信号,1-64)最基本的进程间通讯机制 •直接发送给进程,不需要用户界面。 •对于任何信号应用程序都需要相应处理。 •通过名字或者号码来确定一个信号。
•signal 15:TERM(默认)-终止进程
•signal 9 :KILL-立即终止 kill -9 xxx
•signal 1:HUP-重读配置文件
•man 7 signal 显示完整列表
33),作业控制:
•在后台运行一个进程
•给命令行尾附加一个符号:firefox &
•临时停止一个正运行的程序
•使用ctrl+z或者发送signal 19(停止)
•管理后台或者挂起的作业
•显示作业号和名字:jobs
•在后台恢复:bg [%jobnum]
•在前台恢复:fg [%jobnum]
•发送一个信号:kill [-SIGNAL] [%jobnum]
34),每个进程被运行是按调度策略与优先级
•调度策略:
•SCHED_FIFO(内核)
•SCHED_RR(内核)
•SCHED_OTHER(普通用户程序所使用)
•优先级:(0-139)(数越大,优先级越低)
•静态:1-99,是被SCHED_FIFO和SCHED_RR所使用
•静态0以及动态(100-139)被SCHED_OTHER所使用
•SCHED_OTHER
•每个进程被强占后,会重新计算一个新的内部的优先级
•优先级范围是:100-139
•在每个进程被强占后,会收到一个+5优先级惩罚
•SCHED_OTHER调整优先级
•nice
•renice
•SCHED_FIFO和SCHED_RR调整优先级:
•chrt
chrt -p n查看
优先级:
•值范围为-20到19,缺省为0(n-120)
•低nice值意味着高cpu优先级
35),nice值可以被修改
•当启动进程的时候:
•nice -n 5 command(指定为5)
•在启动进程之后:
•renice 5 PID(重新设置为5)
•只有root用户才能降低nice值

第十三章字符处理工具:

36),查看文件内容:less和cat
文件摘选:head和tail
提取列或者字段:cut
37),cut –d:-f1 /etc/passwd
•使用-d选项来指定分隔符(默认是TAB)
•使用-f选项来指定要打印的列
•cut –c2-5 /usr/share/dict/words
•使用-c选项来指定按字符来提取
38),文本统计:wc
•计算单词数,行数,字节数和字符数
•可以针对一个文件或者标准输入
•wc story.txt
39 237 1901 story.txt
•使用-l选项:仅仅统计行数
•使用-w选项:仅仅统计单词数
•使用-c选项:仅仅统计字节数
•使用-m选项:统计字符数(不显示)
•文本排序:sort
•对标准输出排序-原始文件不改变
•sort[options]file(s)
•常用选项:
•-r:执行反向(降)排序
•-n:执行数字排序
•-f:忽略字符串中的大小写
•-u:在输出中删除重复的行(唯一)
•-t c:使用c作为字段间的分隔符
•-k X:使用c分隔排序X字段
•可多次使用
•文本比较:diff和patch
•diff命令输出差异并保存在patchfile文件中
•使用-u选项统一diff,对生成patchfile是有好处的
•diff –u foo.conf-broken foo.conf-works>foo.patch
•patch命令复制改变在其他文件中(小心使用!)
•使用-b选项自动备份变更文件
•patch –b foo.conf-roken foo.patch
39),消除重复行 –sort和uniq
•sort –u:从输入删除重复行
•uniq:从相邻的行中删除重复行
•使用-c选项统计发生重复的次数
•跟sort一起使用效果最好:sort userlist.txt!uniq -c
40),locate: locate passwd,查找名字或路径中包含passwd的文件(
•向预建数据库询问系统上文件的路径 •-i:进行大小写不敏感的查找
•数据库必须是管理员更新的 •-n X只列出X匹配
•完整的路径将被查找,而不止是文件名 •-e DIR1,DIR2…不搜索目录DIR1…
•对于被搜索目录,用户要拥有可读可执行的权限 • 等等)
41),find:[dir1 dir2…(路径)] [criteria…(条件)] 默认匹配是与运算,用-o表示或,用-not表示否定
•实时搜索目录树
•比locate慢但更精确
•如果不给定criteria,所有文件都匹配
•在找到的文件上可以执行命令
•对于被搜索目录,用户要拥有可读和可执行的权限
42),用find执行命令;
•在找到的文件上可以执行命令
•必须用-exec或者-ok打头执行命令
•-ok在对每个文件进行动作前提示
•命令必须以空格+斜线(“\”)+分号结尾
•可以使用{}作为文件名占位符
•例:find –size +100M –ok mv {} /tmp/largefiles/ ;
•-name –iname –size –ctime,atime,mtime –perm –type –user –group …
43),grep:
•打印匹配的文件行或者标准输入
•grep ‘john’ /etc/passwd
•date –help | grep vear
•使用-i选项:忽略大小写敏感搜索
•使用-n选项:打印匹配的行
•使用-v选项:打印哪些不匹配的行
•使用-AX选项:在匹配数据后包含显示X行
•使用-BX选项:在匹配数据前包含显示X行
•使用-r选项:递归搜索目录
•使用—color=auto选项:用color颜色高亮显示匹配的数据
•grep –B2 –n –color=auto ‘root’ passwd
•使用-c选项:只输出匹配行的计数
•使用-l选项:查询多文件时只输出包含匹配字符的文件名
•使用-R选项:递归对目录下面的所有文件进行过滤
44),正则表达式(Regular expression ,RE)是一种字符模式,用于查找过程中匹配指定的字符
•^ 表示行的开始
•grep ‘^’t /passwd
表 示 行 的 结 束 • g r e p c ’ 表示行的结束 •grep c’ grepc’ /passwd
一个单字符后紧跟,匹配0个或多个此单字符 ——aaa*
•[]只匹配[]内字符
•\只用来屏蔽一个元字符的特殊含义
•. 只匹配任意单字符 ——.aaa
•匹配c开头d结尾
•grep ‘^c.d$’ /usr/share/dict/words
•aaaaa{n}只用来匹配前面aaaaa出现次数。n为次数
•aaaaa{n,}含义同上,但次数最少为n
•aaaaa{n,m}含义同上,但aaaaa出现次数在n与m之间
•<word锚定词首——搜索以word开头的
•word>锚定词尾——搜索以word结尾的

第十四章包管理器笔记:

45),rpm:——基础篇
•-i 选项是安装
•-U 选项是更新
•-vh 选项是显示安装进度
•-e 选项是删除
•-q 选项是查询 ——rpm –q xxx
•-qa选项是查询所有包 ——rpm –qa
•-ql选项是查看包的文件,后面跟要查看包的名字 ——rpm –ql xxx
•qi选项是查看包的主要信息
•-qf 查找某个文件是由哪个包提供的 ——rpm -qf xxx
•-qp选项是查看位于包源(光盘)中的包安装在系统中的名字 ——rpm –qp 包源包
•——force选项,强制安装(覆盖原文件的不可变文件) ——rpm –ivh xxx –-firce
• yum 是rpm的前端程序,自动解决包的依赖关系
46),rpm数据库——/var/lib/rpm
包里的文件:可变文件和不可变文件。可变文件有:配置文件和数据文件。不可变文件有:命令,库文件。
47),RPM:——高级篇
•包的校验;
•-V :查询所有rpm包数据库里包(以安装)的完整性 ——rpm –V xxx
•-Vp:检查还没有安装的位于存储介质里面的rpm包
•-Va:
•文件校验表:
•S:档案大小改变
•M:档案的属性发生改变
•5:MD5这种指纹(完整性)的内容已经不同
•D:设备的主,次代码已经改变
•L:link路径已经改变
•U:档案的所属者改变
•G:档案的所属组改变
•T:时间改变
•在包安装之前进行签名校验:(私钥签名,公钥验证)
•rpm –import RPM-GPG-KEY-redhat-release(存储公钥的文件路径)
•rpm –K rpmfile(进行签名检查)
•如何解决依赖关系:
•使用—nodeps不考虑依赖关系,强制安装(不建议)
•一次性安装所有的软件包
•百度,GOOGLE
•自己学会基本的判断
•使用yum
•用脚本解决依赖关系:
•for I in *.rpm;
•do
• rpm –qlp $i | grep “关键字” ;
• if [ $? = 0 ];
•then
•echo $i;
•else
•continue;
•fi;
•done
48),yum原理:
•[repo-name]
•name=A nice description
•baseurl=http://yourserver.com/path/to/repo ——网络源
•或baseurl=file:///xxx
•或baseurl=ftp://xxx
•enabled=1
•gpgcheck=0
@anaconda——已随系统安装
49),yum高级
•yum install xxx ——单个软件包安装
•yum groupinstall xxx ——按组安装软件包
•yum remove xxx ——移除包
•yum update xxx ——更新包
•y list ——查询
•y repolist ——查询一共
•y list (xxx|xxx|xxx) ——查询单个
•y info ——查询包的说明信息
•y groupinfo ——查询组套件的说明信息
•y whatprovides ——查询哪个文件是由哪个包提供的
•y clean all ——清除缓存
•createrepo ——重建元数据(这个命令如果没有,需要安装。
•cd /var/ftp/pub/packages
•Rpm –ivf createrepo-….rpm + deltarpm….rpm + python……rpm
•createrepo /var/ftp/pkg/
包源:http://repoforge.org/use/

第十五章存储基础笔记:

50),当前存储的主要体系结构有三种:DAS,NAS,SAN
在这里插入图片描述

51),磁盘的组件:
在这里插入图片描述
在这里插入图片描述

52),磁盘的工作原理
在这里插入图片描述

53),
在这里插入图片描述

54),硬盘的参数:
•容量 硬盘容量=柱面数x磁头数x扇区数x512Bytes
•转速 硬盘转动圈数/分钟(rpm)
•平均访问时间 平均寻道时间 平均潜伏时间
•数据传输率 外部数据传输率 内部数据传输率
55),
在这里插入图片描述

56),通过/dev 访问驱动
•/dev下的文件用于访问驱动
•从这些文件进行读写是合法的操作
•echo “Message” > /dev/tty1
•三种文件属性决定访问哪种驱动
•设备类型号(字符设备或块设备)
•主设备号(Major number)
•次设备号(Minor number)
57),块设备
•/dev/had ,/dev/hdc –IDE硬盘,CDROM
•/dev/sda,/dev/sdb –SCSI,SATA或USB存储
•/dev/md0,/dev/md1-软件RAID
•字符设备;
•/dev/tty[0-6]-虚拟控制台
•/dev/null,/dev/zero-软设备
•/dev/random,/dev/urandom-随机数
58)使用udev管理/dev
•udev管理/dev下存储的文件
•文件只有在相应的设备被插入时才会被创建
•文件会在相应的设备被断开时自动删除
添加规则:cd /etc/udev/rules.d/
59),磁盘管理概述:
•进行设备识别:小于2T使用MBR。大于2T使用GPT
•对设备进行分区: fdisk parted
•新建文件系统:
•对文件系统进行标记:
•在/etc/fstab创建相应条目:
•安装新文件系统:
标签:e2label /dev/ada1 test——sda1起一个标签为test
Blkid /dev/sda1查看标签
60),MBR:
在这里插入图片描述

•bc:计算方法
61),fdisk:
•fdisk
•sfdisk
•GNU parted:高级分区操作(创建分区,拷贝分区,分区大小调整,其它)
•partprobe:刷新内核使用的存放于内存中的分区表
•t:修改类型 例:b,是win形式的
•格式,挂载/mount,永久挂载。/etc/fstab ,df –h 查看。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值