20145211《信息安全系统设计基础》第1周学习总结————春宵苦短日高起
Linux核心命令
- Linux中命令格式为:
command [options] [arguments] []表示是可选的
,组成结构为:命令 [选项] [参数]
man命令
man
密令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。- 常用选项:
-a
:在所有的man帮助手册中搜索
-k
:根据关键字搜索联机帮助,是一种模糊搜索
-f
:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息
-P
:指定内容时使用分页程序
-M
:指定man手册搜索的路径 - 参数:
数字:指定从哪本man手册中搜索帮助
关键字:指定要搜索帮助的关键字
cheat命令
- 在linux上,man命令几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令更方便,cheat命令简单来说,就是告诉你一个命令如何使用。它没有提供其他额外多余的信息,只通过使用实例告诉你一个命令如何使用。
- Ubuntu上没有自带cheat命令,大家可以参照娄老师提供的文章进行安装配置。
find命令
-
find 实际搜寻硬盘查询文件名称
通常情况下find命令并不是很常用,大家都优先使用whereis和locate命令来查找,因为whereis和locate命令都是利用数据库来查找文件所在,并没有实际查询硬盘,所以速度很快,节省时间。但是我们的find命令依然很强大,它的查找条件相当多,对于用其他命令查找不到的文件,就可以考虑使用find命令在硬盘上遍历查找,虽然速度慢效率低。 -
find(用于在文件树中查找文件,并进行相应操作)
-
格式:
- find [PATH] [option] [action]
[PATH] : 所要搜索遍历的目录,默认为当前目录 - [option] : 所要搜索文件的条件特征
- [action] : 对搜索结果进行特殊处理
- 与时间有关的参数
-amin n :查找n分钟内被访问过的文件
-cmin n : 查找n分钟内被修改过文件状态的所有文件
-mmin n : 查找n分钟内被修改过文件内容的所有文件
-atime n : 将n天内存取过的的文件列出来
-ctime n : 将n天内改变、新增的文件或者目录列出来
-mtime n : 将n天内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来 (可用来分辨两个文件之间的新旧关系)
除此之外,以-mtime为例:(类比使用其他与时间有关的参数)
-mtime n :列出n天前的那一天被更改过的文件
-mtime +n :列出n天之前(不包含n天本身)被更改过的文件
-mtime -n :列出n天之内(包含n天本身)被更改过的文件
-mtime 0 : 0代表当前时间,即列出从现在开始到24小时
- 与用户或用户组名有关的参数
-uid [n] :寻找拥有者ID为n的文件
-gid [n] :寻找用户组ID为n的文件
-group [name] :寻找群组名为"name"的文件
-user [name] : 寻找用户名为"name"的文件
-nouser : 寻找文件所有者不存在 /etc/passwd 的人(可以查找不太正常的文件)
如果你的某个账户删除了,该账户曾经建立的文件就成了无主的非正常文件这时候可以利用 -nouser 来找出该类型的文件 - 与文件权限及名称有关的参数
(1)-name [filename] :查找文件名filename的文件
从以上的例子中我们可以看出,find命令需要一个路径名作为查找范围,find会深入到这个路径的每一个子目录中去寻找,打印文件的绝对路径。
如果指定路径为“/”,就查找整个文件系统。-name选项指定了文件名,-printf表示将结果输出到屏幕上,-type选项用来定位特殊文件类型。
(2)-size [+ -]SIZE : 查找比"SIZE"还要大(+)或小(-)的文件
(SIZE的规格有:① c :代表byte ②k :代表1024 bytes) ;
要找比50k还要大的文件时就用" -size +50k"
(3)-type [TYPE] :查找文件类型为TYPE的文件
locate命令
- locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
- 命令格式:locate [选择参数] [样式]
- 命令参数:
- -e:将排除在寻找的范围之外
- -1:如果是1则启动安全模式,在安全模式下,使用者不会看到权限无法看到的档案。这会使速度减慢,因为 locate必须至实际的档案系统中取得档案的权限资料
- -f:将特定的档案系统排除在外,例如我们没有到必要把proc档案系统中的档案放在资料库中
- -q:安静模式,不会显示任何错误讯息
- -n:至多显示 n个输出
- -r:使用正规运算式 做寻找的条件
- -o:指定资料库存的名称
- -d:指定资料库的路径
- -h:显示辅助讯息
- -V:显示程式的版本讯息
grep命令
- grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
- 命令格式:grep [options]
[options]主要参数:
- -c:只输出匹配行的计数
- -I:不区分大小写(只适用于单字符)
- -h:查询多文件时不显示文件名
- -l:查询多文件时只输出包含匹配字符的文件名
- -n:显示匹配行及行号
- -s:不显示不存在或无匹配文本的错误信息
- -v:显示不包含匹配文本的所有行
正则表达式主要参数: - \:忽略正则表达式中特殊字符的原有含义
- ^:匹配正则表达式的开始行
- $:匹配正则表达式的结束行
- <:从匹配正则表达式的行开始
- >:到匹配正则表达式的行结束
- [ ]:单个字符,如[A]即A符合要求
- [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求
- 。:所有的单个字符
- *:有字符,长度可以为0
whereis命令
whereis
命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。- 命令格式:
whereis [-bmsu] [BMS 目录名 -f ]
文件名 - 主要参数:
-b
:定位可执行文件-m
:定位帮助文件-s
:定位源代码文件-u
:搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件-B
:指定搜索可执行文件的路径-M
:指定搜索帮助文件的路径-S
:指定搜索源代码文件的路径
which命令
- which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。which是根据使用者所配置的PATH变量内的目录去搜寻可运行档的,所以,不同的PATH配置内容所找到的命令是不一样的。
- 命令格式:which 可执行文件名称
- 命令参数:
- -n:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
- -p:与-n参数相同,但此处的包括了文件的路径
- -w:指定输出时栏位的宽度
- -V:显示版本信息
更改文件所属群组
改变文件拥有者
改变文件的权限:chmod
课后作业中的问题和解决过程
-
简单的阐述一下我所遇到的问题,为什么感觉我的问题信手拈来,成语的用法不对,我故意的。
有句话说,“NO zuo NO die.”我现在觉得十分有道理。 -
第一个问题要追溯到long long ago,当时我在ubuntu打开提示升级,你懂的,我升了;等我回来的时候,直接黑屏了;所以我卸了virtual box,然后将ubuntu装到了U盘上——那么问题来了,我每次从ubuntu切换到linux,或者从linux切到ubuntu,他的时间显示的都是UTC时间,话说我已经取消UTC时间,依旧无效。。
-
第二个问题,自从我的系统装到U盘里之后,切换软件源就不说了,关键的是我装的cheath和我的Firefox网页书签重启之后都会消失,但神奇的是Python没有消失。也就是说,cheat啥的都没装在U盘上,那它去哪了,显然也没有装在电脑上,难道是装在虚拟内存里了,重启之后释放了?不懂。
-
所以,我还是把他装到电脑上吧,忧伤。。
这样就算双系统了吧~
今日所感
- 中秋之际,去西安游览了一番。那时,那人,那景,大概也能体会到唐明皇的春宵苦短日高起;美景使人陶醉,美酒使人酣醉,美人使人心醉,这些宜浅尝辄止,切不可陷入太深————NO ZUO NO die!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 120/120 | 1/1 | 16/16 | linux指令的学习 |