18总合.docx
- 文档编号:27870654
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:73
- 大小:2.74MB
18总合.docx
《18总合.docx》由会员分享,可在线阅读,更多相关《18总合.docx(73页珍藏版)》请在冰豆网上搜索。
18总合
目录
1.基础理论:
-2-
2.文件系统:
-4-
3.用户、组、权限-6-
4.权限管理:
-11-
5.系统设定:
-12-
6.cat、grep-13-
7.变量-16-
Bash:
变量类型-16-
条件判断-17-
8.元字符:
21
9.sed25
10.Vim编辑器28
11.helpLet31
12.文件查找:
find.locate32
13.附加命令:
34
1.基础理论:
1.Poll//轮询,隔一段时间进行查看
Interrupt//终端查询,查询I/O状态
外围设备(I/O)是通过不停的终端来和cpu进行交互的
北桥:
和cpu比较近高速总线控制器//内存
快速实现
南桥:
低速总线控制器//键盘,显示器,硬盘
直接在北桥上链接硬盘能够提高磁盘读取速度(例如固态硬盘直接放在北桥)
频率:
单位时间内进行多次转换
Cpu缓存
缓存的级别越大越好(用于解决cpu的高速和内存之间的低速)
网络安装
Linux的基本原则:
由目的单一的小程序组成,组合小程序完成复杂人物
一切皆文件
尽量避免捕获用户接口
配置文件保存为纯文本格式
Shell直接和内核交互
短选项:
-//可以组合
长选项:
――//通常不能组合
多选项可以和单选项结合
参数:
命令的作用对象
IDE:
集成开发环境integratedDriveElectronics
Windows下的dll文件就是库文件(dynamiclinklibrary)动态链接库
Login:
用户名:
用户ID
认证机制:
authentication
授权:
authorization
审计:
audition(日志)
Prompt:
命令提示符
Magicnumber:
魔数
目录是文件,路径映射
路径:
从指定起始点到目的所在地
Ls-l//long长格式输出
Ls命令详解:
Printenv//查看环境变量
Path变量:
使用冒号变量的一堆路径
Hash:
//是一个缓存,使用过的命令进行缓存/hits是命中次数
Type:
显示指定属于哪种类型
Linux硬件时间和系统时间
Clock硬件时间
Date系统时间
帮助
Manls
Ls--help//帮助文档
Seealso//另见
Man级别
用户命令
系统调用//man2read;字符修改exportLANG=en
库用户
特殊文件(设备文件)
文件格式
游戏
其他
管理命令/sbin,/usr/sbin,/usr/local/sbin
[]//可以省略,|//或,<>//必须给出的内容,...//可以出现多次
SYNOPSIS:
用法说明,包括可用的选项
DESCRIPTION:
命令功能的详尽描述
如何查看一个命令在哪个章节
Manbsapceenter
Jkb//查看
/,?
查找n/N
Date+%M-%%Y-%d
时间
Hwclock-w把系统时间写入到硬件中
Date0216114//修改系统时间
Hwclock-s//把硬件时间写入到系统时间,source
Cal2012//查看日志
Typeecho//查看echo是否是内部命令
Whatisecho//查看echo的帮助文档1,2-8
Echo-e“Iamxiaotao\n\ntodayis`date`\n“//-t制表符-v纵向制表符
2.文件系统:
Rootfs:
根文件系统
/boot系统启动相关的文件
/dev
设备文件:
随机访问,数据块
字符设备:
线性访问,按字符为单位
设备号:
主设备(maior)和次设备(minor)文件
/etc:
配置文件
/lib库文件(公用)
静态库.a
动态库.dll.so
/lib/modules内核模块文件
/media挂在点目录,移动设备
/mnt挂载点目录,额外的临时文件系统
/misc杂项
/opt可选目录,第三方程序(早期)的安装目录,目前多安装在/usr/local
/proc伪文件系统,内核的映射文件,只有系统启动后才会存在
/sys伪文件系统,跟硬件设备相关的属性映射文件
/tmp临时文件
/var可变化的文件
/bin可执行文件,用户命令
/sbin管理命令
/usr//和系统相关
/usr/bin
/usr/sbin//系统启动起来后,为了系统提供的功能所使用的
/usr/lib//私用库
/usr/local//第三方程序,和系统关系不大
/usr/local/bin
/usr/local/sbin
/usr/local/lib
注意:
linux没有注册表的概念
长度不能超过255个字符
不能使用/当文件名
严格区分大小写
相对路径,绝对路径
系统管理
目录管理
运行程序
设备管理
软件管理
进程管理
网络管理
文件管理
Mkdir-px/y/z//parents父目录一起创建-v//verbose冗长的,显示创建过程
Treex//查看x的目录树
Mkdir-pv/mnt/test/{x/m,y}//花括号,命令行展开x/m是一个,y是一个
Mkdir-pv/mnt/test/{a,b}//test下创建两个目录
Mkdir-pv/mnt/x/a_{a,b,c}//创建a_a,a_b,a_c目录
Mkdir-pv/mnt/x/{a,b}_{c,d}//创建四个目录
在linux下同一目录下目录和文件不能重名//在linux下目录也是文件
Toucha
Stata//查看文件状态
+800东八区
Touch-cc//不创建任何文件
Touch-aa//修改时间accesstime,
-mmodifytime
Touch-a-t201310011230a//tstamp制定格式时间
文本编辑器只是编辑纯ASCII码
Rm//recursive递归,forceiprompt提示:
是否确认
Cpt1/*t2///默认cp不会复制目录
Cp-rt1/dd/t2///赋值t1下的dd目录到t2目录
Interactive//promptbeforeoverwrite覆盖前提示
查看命令
Typecp
whatiscp
whichcp
-p//保留属性
-l//创建软链接
Deference//间接引用
Cp/etc/rc.//rc自己是链接文件,但是复制后为目标文件《==》cp-L
Cp-P//链接文件大写直接引用(no-deference)(目标为链接文件,我也是链接文件)
cp-l
archive归档(保留所有属性)suffix后缀
mvsrcdest
mv-tdestsrc//dest为目标文件夹
mv-t//target目录
install//复制文件并且设置属性
install-d//创建目录
install-t目标目录源
小结
目录管理:
ls,cd,pwd,mkdir,rmdir,tree
文件管理:
touch,stat,file,rm,cp,mv,nano
日期时间:
date,clock,hwclock,cal
我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议
BSD开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布
ApacheLicence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)
GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
LGPL是GPL的一个为主要为类库使用设计的开源协议
内核的发行版:
www.kernel.org
Fedora//主要为个人用户
Redhat(centos)
Deebian//服务器,比较难学,ubuntu(deebian),mint(deebian)的衍生版,
Suse//欧洲比较多,
文本处理:
cat,more,less,head,tail,cut,sort,uniq,grep
正则表达式
管道和重定向:
><>><<
3.用户、组、权限
Bash及其特性
Cat-n//显示结尾shift+pageUp/pageDown进行上下翻阅
Tac/etc/issue//倒序显示
Cat-n/etc/issue|tac//倒序带行号
分屏显示:
more/less
Head-n2:
//查看前n行head-2/etc/fstab
tail:
//查看后n行
cp/etc/inittab/tmp/
tail-f/tmp/inittab//监视inittab文件,当文件有变化时,随时更新
文本处理:
cut,join,sed,awk
Database:
数据库
关系型数据库:
表:
Cut-d(delimiter分隔符)-f(fields字段)//d指定字段分隔符,默认是空格,-f指定要显示的字段
Cut-d:
-f1/etc/passwd//-f1,3-f1-3
Join命令(自己找)
文本排序:
sort
Sort-nsort.test//-nnumeric-sort数值排序,numerical-sort二进制排序(默认)
//-rreverse降序
-tseparator(分隔符)-kstartakeyatPOS(分割点)
Sort-t:
-k3-h/etc/passwd//-hhuman-numeric-sort人类计数排序
Sort-n-t:
-k3/etc/passwd|cat-n//number-sort,显示行号
-uunique-Rrandom随机排列
-fignorelowertouppercharacter//忽略大小写
Uniqu:
reportoromitrepeatedlines//报告或者略过重复行
Uniqsort.test//只把连续并且重复的行不显示
Uniq-dsort.test//onlyprintduplicatelines(重复的行)//-D所有重复的行都会显示
Uniq-csort.test//统计重复次数
Wc:
wordcount//-wwords,-lline,-cbytescounts,//-mcharactercount
-Lmax-line-length//统计最长的一行有几个字符
字符处理命令tr转换或删除字符
Tr‘ab’‘AB’//对输入的内容进行转换
Tr‘as’‘AS’
+’进程:
在每个进程看来,当前主机只存在内核和当前进程
ExportLANG=en//语法修改
Pstree//打开进程树
Shell与子shell
Bashbashbash//使用exit退出
Bash
命令历史,命令补全,路径补全
管道、重定向
命令别名
命令行展开
命令行编辑
文件名通配
变量
编程
Ctrl+a:
命令行首ctrl+e行尾
ctrl+u删除光标至命令行首的内容ctrl+k删除光标到命令行尾的内容
ctrl+m//直接执行ctrl+左右箭头//快速跳跃单词,图形界面支持
helphistoyr//histoyr-c//clear清除
history-d500//删除第500个
history-d5003//500向后3个删除,包括500
历史命令保存在
.bash_history
History-w//保存
Echo$HISTSIZE//查看命令缓冲大小
PATH:
命令搜索路径!
n//执行命令历史中的倒数第n条命令
!
-4//执行倒数第4个命令!
!
//执行上一条命令
!
string:
执行最近一次以string开头的命令
Vim!
$//直接编辑最后一次打开的文件
Vim(esc松开.)//上一个命令或者目标文件
命令别名Allias//起别名,unalias//取消别名
命令替换:
把命令中某个子命令替换为其执行结果的过程
Echo“thecurrentdirectoryis$(pwd)“<==>echo“thecurrentdiris`pwd`”
Touchfile-$(date+%F-%H-%M-%S).txt//创建文件F全格式(年月日),$变量可以运行命令//反引号和$功能一样
Bash支持的引号:
``:
命令替换 //反引号
“”:
弱引用,可以实现变量替换//双引号
‘ ‘ :
强引用,不完成变量替换//单引号
文件名通配globbing
*,//任意长度的任意字符
?
//任意单个字符
[]//匹配指定范围内的任意单个字符:
[anbc],[a-m],[A-Z],[0-9,a-z,A-Z]
[^]//匹配非范围内的任意单个字符
Ls[^0-9]*//不是数字开头的
Touch‘ab’//可以创建有空格的文件
Man7glob//查看glob通配符
[:
space:
]:
空白字符
[:
punct:
]:
标点符号punctuation标点符号
[:
lower:
]:
小写字母
[:
upper:
]:
大写字母
[:
alpha:
]:
大小写字母alphabet字母
[:
digit:
]:
数字
[:
alnum:
]:
数字和大小写字母
Ls[[:
alpha:
]]*[[:
space:
]]*[[^:
sapce:
]]//查看开头为字母,中间有一个空格的文件,最后的那个不是字符//结束符也占用一个字符
库:
也是二进制程序(可以运行),但是不能独立执行,只有被调用后,才能执行、
进程:
是一个程序的执行过程
进程:
也是有所属主和所属组的(也称为进程的安全上下文)securecontext
文件
R:
可读,可以使用类似cat等命令查看文件内容;
W:
可写,可以编辑或删除此文件
X:
可执行,exacutable,可以在命令提示符下当作命令提交给内核运行
目录
R:
可以对此目录执行ls查看
W:
可以在该目录中创建文件
X:
可以使用cd也可以使用ls查看
UID,GID
Idxiaotao//查看用户的id
有一个对应表来解析,用户和组
用户密码:
uid/etc/passwd
组密码:
gid/etc/group
用户类别
管理员id为0
普通用户1-655352的16方
系统用户1-499
一般用户500-60000
用户组:
管理组:
普通组:
系统组:
一般组:
用户组类别:
私有组:
创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与其名相同的一个组
基本组:
用户的默认组
附加组:
默认组以外的组
/etc/passwd
Account(登录名)/password(密码)/uid/gid/comment/homedir/shell
Man5shadow
/etc/shadowloginname/encryptedpasswd/dateofpasswordchange/mininumpasswordage/
Maximumpasswordage/passwordwarningperiod/passwordinactivityperiod/accountexpiration(截止)date/reservedfield(保留字段)/
登陆名/加密密码/密码修改间隔日期/修改后最少密码使用天数/修改后最大使用天数/
失效前密码提前警告日期/密码失效时间
加密方法:
对称加密:
加密和揭秘使用同一个密码
公钥加密:
每个密码都成对儿出现,一个为私钥,一个为公钥(用于做密钥交换)
单项加密:
散列加密(只能由明文得到密文,不能反过来)指纹加密
用来做数据校验,例如,镜像检验
1.蝴蝶效应,雪崩效应
2.定长输出
md5(mesagedigest)信息摘要128位定长输出/etc/shadow||md5
sha1securehashalgorithm160为定长输出
Whatispaswd//查看passwd的帮助文档
Md5sumaa//进行校验
/etc/shadow杂志&加密后的密码
到期后
宽限几天
强制修改密码
当
前
时
间
失效
时
间
上次
修改
时间
Useradd/默认属性
/etc/default
Expire//过期时间
Useraddusername
Groupaddgroupname
用户管理:
Useradd,,userdel,usermod,,passwd,,chsh,,chfn,,finger,id,chage
组管理:
Groupadd,,groupdel,,groupmod,gpasswd
权限管理:
Chown,,chgrp,chmod,unmask
Useradd-u1000user1//uid,一般gid//
-ccomment“iamboy“
-dhome_dir/home/xiaoji
-sshell
-m-k//强行为用户创建家目录//用户的配置环境框架
-M//不创建家目录
Useradd-Gmygroup,user1//加入多个组
Echo$SHELL//查看shell
Cat/etc/login.fs用户的初始默认属性,密码失效,权限,uid,gid,等等
Userdel-ruser1//删除家目录
Id-g/-u/--G/
Finger//userinformationlookupprogram
Fingerxiaotao
Usermod修改用户账号属性
Usermod-u5005user1//-g修改基本组,-G修改附加组(会覆盖以前的附加组),
//-a-Ggid附加,而不是覆盖
-d-m//改变文件家目录,并把以前的文件移动至新家
-L锁定账号,禁用,-U解锁
-l修改login-name
Chsh:
修改用户的默认shell
Chfnuser1//修改用户信息
Passwd--stdin///从标准输入(键盘)输入密码
Echo“redhat|passwd–stdinuser3//更新密码
Passwd-luser1//锁定用户passwd-uuser1解锁
-duser1//删除用户密码
Pwck//passwdcheck检查用户账号完整性
组管理:
Groupadd--g//制定gid
Groupadd-r?
?
useradd-r//添加一个系统用户或组(不能登陆系统,没有家目录)
Gpasswdmygroup:
为组设定密码
Newgrpmygroup:
//临时切换到另一个组(基本组)需要密码
Exit//退出
注意:
用户属于改组,则不需要密码,如果用户以前跟这些组没有关系,则需要密码
Chage
4.权限管理:
Rwx
三类用户:
U:
属主
G:
属组
O:
其它用户
Chown:
改变文件所属主//onlyadmini
Chownxiaotaoaaa//改变文件所属主
Chgrpuseraaa//改变文件所属组
Ls-ld/tmp/xx///查看目录属性
Chownxiaojixx///修改目录属性
Chown-Rxx///目录下的文件属性也会变
Chown--reference=/path/文件//属性参考
Chownroot:
mygroupfile1//chown既可以改属主,也可以改属组
Chmod:
修改文件权限,也支持reference,-R递归修改
U,G,O,A//三类用户权限
Chmodo=rx/tmp/abc
Chmodgo=rw//g和o拥有,相同的权限
Chmodu=r,g=raa
Chmodu-aaa//修改权限
Chmod-xaachmoda-xaa
用nano和echo可以向/etc/shadow中添加内容vim会打开只读模式
手动添加用户hive,基本组为hive(5000),附加组为mygroup
Nano/etc/group
Hive:
x:
5000:
Mygroup:
x:
504:
mygroup,hive//添加附加组
Nano/etc/passwd
添加hive用户
Nano/etc/shadow
//date+%s//查看秒数。
然后除以86400(一天的秒数)
Bc//scale=2保留精度,quit退出
Cp-r/etc/skel/home/hive
Chown-Rhive:
hive/home/hive//修改文件所属者和所属组
还不能登陆,因为没有密码
Whatispasswd//有sslpasswd
Mansslpasswd//查看帮助文档
Opensslpasswd-l-salt‘12345678’//对密码进行加密
然后把加密后的密码复制到/etc/shadow
//重启后可以登陆,或者
Umask022//目录是用777-文件是666减
Shell类型
登陆式shell:
正常通常某种终端登录
Su-lusername
非登陆式shell:
图形终端下打开命令窗口
自动执行的shell脚本
Bash的配置文件:
全局配置
/etc/profile,/etc/pro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 18 总合