20145231信息安全系统设计基础第1周学习总结
教材学习内容总结
Linux常用快捷键
Ctrl+Alt+T
: 打开终端
Ctrl+D
: 键盘输入结束或退出终端
Ctrl+S
: 暂定当前程序,暂停后按下任意键恢复运行
Ctrl+C
: 中断程序运行
Ctrl+Z
: 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+A
: 将光标移至输入行头,相当于Home键
Ctrl+E
: 将光标移至输入行末,相当于End键
Ctrl+K
: 删除从光标所在位置到行末
Ctrl+Shift+T
: 新建标签页
Alt+数字N
: 终端中切换到第N个标签页
Alt+Backspace
: 向前删除一个单词
Tab
: 终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
上下键盘
: 切换命令历史,刚输入一个很长的命令,按上键就可以恢复
Shift+PgUp
: 将终端显示向上滚动
Shift+PgDn
: 将终端显示向下滚动
Linux核心命令
(根据实验楼中相关内容总结)
Linux中命令格式为:command [options] [arguments] []表示是可选的,即组成结构为:命令 [选项] [参数]
●*man命令*
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
常用选项:
-a:在所有的man帮助手册中搜索
-k:根据关键字搜索联机帮助,是一种模糊搜索
-f:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息
-P:指定内容时使用分页程序
-M:指定man手册搜索的路径
参数:
数字:指定从哪本man手册中搜索帮助
关键字:指定要搜索帮助的关键字
●*cheat命令*
在linux上,man命令几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令更方便,cheat命令简单来说,就是告诉你一个命令如何使用。它没有提供其他额外多余的信息,只通过使用实例告诉你一个命令如何使用。
●*find命令*
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
命令格式:find pathname -options [-print -exec -ok ...]
参数:
`pathname`:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
`print`:find命令将匹配的文件输出到标准输出
`exec`:find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为'command' { } ;,注意{ }和;之间的空格
`o`k:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
常用选项:
`-name`:按照文件名查找文件
`-perm`:按照文件权限来查找文件
`mtime -n +n`:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前
`-newer file1 ! file2`:查找更改时间比文件file1新但比文件file2旧的文件
`-type`:查找某一类型的文件,诸如:b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号链接文件,f - 普通文件
`-size n`:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
`-depth`:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
●*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`:显示版本信息
实验楼学习总结
●Linux历史简介
对比Linux和Windows
Windows欠缺:相对稳定的系统 安全性漏洞的快速修补 多用户 相对较少的系统资源占用 可定制剪裁...
linux欠缺:没有特定支持厂商 游戏娱乐支持度不足 专业软件支持度不足
●一些常用命令的使用练习(如图)
ls不同参数补充
比较man printf、man 1 printf、man 3 printf的不同
对帮助文档的解释(区段不同功能有区别!)
查看find的使用(对比man find和cheat find,后者更易懂)
man -k sort
Tab键用于补充命令、目录、参数
Ctrl C的使用(终止命令)
学会使用通配字符(*)(?)代替真正字符(常用通配符)
安装输出图形字符的命令banner
●用户及文件权限管理
Linux可满足多组用户同时登陆
查看用户(who命令)
实验楼用户被赋予root权限,查看自己属于哪些用户组(1、groups命令;2、cat /etc/group/sort)
添加sudo用户
删除用户
查看文件权限
●Linux目录结构及文件基本操作
区别:存储介质,Linux以目录为主,根据FHS标准进行
cd
:切换目录
.
:当前目录
..
:上一级目录
-
:上一次所在目录
~
:当前用户home目录
pwd
:获取当前路径
绝对路径
:从根目录出发
相对路径
:从当前目录出发
mkdir
:创建空目录
cp
:复制文件
rm
:删除文件
rm+-r
:删除目录
mv+源目录文件+目的目录
:移动文件
mv+旧文件名+新文件名
:文件重命名
召唤眼睛
●环境变量与文件查找
变量修改方式
创建子shell查看变量值
路径
比较导出文件内容
数字雨
教材学习过程中的问题和解决过程
●问题一:在复制目录时出错
解决过程:注意复制文件与复制目录的区别,加上-r(-R)参数,递归复制。
●问题二:在添加一个shell脚本或者是一段C语言程序时如何由vim转换成可执行文件
解决过程:待解决
●问题三:如何在同一个标签下切换登录的用户,如在实验中新建的用户lilei与shiyanlou用户之间的相互切换登录
解决过程:实验中的提示在这一步一带而过,所以不太清楚...
心得体会
在本周的学习中,接触到的新知识比较多,一开始是毫无头绪的,但是在实验楼中根据老师的要求以及上面详细的知道步骤学习了之后,感觉自己对Linux系统有了一个初步的认识,对于基本的核心命令也有所了解,但是在使用过程中还是出现了问题,尤其是在环境变量那一节,比较抽象。希望自己在以后的学习中也能继续坚持动手实践,不断熟悉和加强,还要借鉴同学好的地方,提升自我。
学习进度条
博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|
目标 | 30篇 | 400小时 | |
第一周 | 2/2 | 20/20 | 学习了Linux核心命令 |
第二周 | 2/4 | 21/41 | |
第三周 | 0/0 | 00/00 | |
第四周 | 0/0 | 00/00 |