• 20145305《信息安全系统设计基础》第1周学习总结


    实验楼学习内容总结

    很多东西在实验楼里面说的已经特别详细了,大家都能看到,这里就没有必要摘下那么多东西,直接到实验楼查询文档就好了

    这里有部分实验过程以及实验作业的截图

    核心的Linux命令

    名称 : find
    使用说明 :
    将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
    -mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
    -amin n : 在过去 n 分钟内被读取过
    -anewer file : 比档案 file 更晚被读取过的档案
    -atime n : 在过去 n 天过读取过的档案
    -cmin n : 在过去 n 分钟内被修改过
    -cnewer file :比档案 file 更新的档案
    -ctime n : 在过去 n 天过修改过的档案
    -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
    -ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
    -name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
    -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
    d: 目录
    c: 字型装置档案
    b: 区块装置档案
    p: 具名贮列
    f: 一般档案
    l: 符号连结
    s: socket
    -pid n : process id 是 n 的档案
    你可以使用 ( ) 将运算式分隔,并使用下列运算。
    exp1 -and exp2
    ! expr
    -not expr
    exp1 -or exp2
    exp1, exp2
    范例:
    将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
    find . -name ".c"
    将目前目录其其下子目录中所有一般档案列出
    find . -ftype f
    将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
    find . -ctime -20
    find . -name "
    " -exec grep xxx {} ; -print |morexxx为你想要找的字符串

    名称:locate
    使用权限:所有使用者
    使用方式: locate [-q] [-d ] [--database=]
    locate [-r ] [--regexp=]
    locate [-qv] [-o ] [--output=]
    locate [-e ] [-f ] <[-l ] [-c]
    <[-U ] [-u]>
    locate [-Vh] [--version] [--help]
    说明:
    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
    在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用 # locate your_file_name 的型式就可以了。
    参数:
    -u
    建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
    -e 将排除在寻找的范围之外。
    -l 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
    -f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
    -q 安静模式,不会显示任何错误讯息。
    -n 至多显示 个输出。
    -r 使用正规运算式 做寻找的条件。
    -o 指定数据库存的名称。
    -d 指定数据库的路径
    -h 显示辅助讯息
    -v 显示更多的讯息
    -V 显示程序的版本讯息 范例:
    locate chdrv : 寻找所有叫 chdrv 的档案
    locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
    locate -u : 建立数据库
    locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
    locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如””或”?”等)来指定范本样式,如指定范本为kcpaner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。
    locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
    不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。

    文档编辑--grep
    功能说明:
    查找文件里符合条件的字符串。
    语法:
    grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
    补充说明:
    grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
    参数:
    -a或--text 不要忽略二进制的数据。
    -A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。
    -b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
    -B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
    -c或--count 计算符合范本样式的列数。
    -C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
    -d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
    -e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
    -E或--extended-regexp 将范本样式为延伸的普通表示法来使用。
    -f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
    -F或--fixed-regexp 将范本样式视为固定字符串的列表。
    -G或--basic-regexp 将范本样式视为普通的表示法来使用。
    -h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
    -H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
    -i或--ignore-case 忽略字符大小写的差别。
    -l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
    -L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
    -n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
    -q或--quiet或--silent 不显示任何信息。
    -r或--recursive 此参数的效果和指定“-d recurse”参数相同。
    -s或--no-messages 不显示错误信息。
    -v或--revert-match 反转查找。
    -V或--version 显示版本信息。
    -w或--word-regexp 只显示全字符合的列。
    -x或--line-regexp 只显示全列符合的列。
    -y 此参数的效果和指定“-i”参数相同。
    --help 在线帮助。

    文件管理--which
    功能说明:
    查找文件。
    语法:
    which [文件...]
    补充说明:
    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
    参数:
    -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    -w  指定输出时栏位的宽度。
    -V  显示版本信息。

    文件管理--whereis
    功能说明:
    查找文件。
    语法:
    whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
    补充说明:
    whereis指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
    参数:
    -b  只查找二进制文件。
    -B<目录>  只在设置的目录下查找二进制文件。
    -f  不显示文件名前的路径名称。
    -m  只查找说明文件。
    -M<目录>  只在设置的目录下查找说明文件。
    -s  只查找原始代码文件。
    -S<目录>  只在设置的目录下查找原始代码文件。
    -u  查找不包含指定类型的文件。

    学习中的问题和解决过程

    怎么判断DDD软件能不能安装:
    试图双击deb文件进行安装,点击install 按钮,提示“This software comes from a 3rd party and may contain non-free components”。
    解决办法:
    打开Terminal,输入以下命令:
    sudo apt install gdebi
    安装完成后,将deb文件默认打开方式设为gdebi:
    右键点击deb文件,打开properties,选择open with,选中GDebi Package Installer. 并Set as default。
    OK. 双击运行deb,接下来就可以了。

    请查找系统中50M以上的文件:find命令
    查找磁盘上大于50MB的文件:find / -size +50000k -exec ls -lh {} ;

    请查找系统中两天前修改过的且小于5M的文件:
    find /tmp -size -1000c -and -atime -2

    请问如何查找操作系统的信息:
    uname,查看系统内核版本
    uname -a

    free
    内存大小,使用多少,剩余多少,buffers和cached多少,以及swap情况一目了然,使用参数-m/-g 可以指定单位

    查看cpu相关
    uptime
    top

    查看cpu参数——文件 :/proc/cpuinfo
    cpu个数:cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
    线程数:cat /proc/cpuinfo | grep "cpu cores" | uniq
    cpu型号参数:cat /proc/cpuinfo | grep 'model name' |uniq

    查看硬盘相关
    df
    fdisk -l

    iostat 查看硬盘读写速度
    1s一次,查看3次:iostat -t 1 3

    请查找当前目录下所有.c文件中哪个文件中包含main函数:
    find / -name '
    .c' | xargs grep 'main'

    请建立一个目录,里面建立两个子文目录,如何一条命令删除三个目录?
    通过cd命令进入要创建自路径的文件夹,通过命令:mkdir - p {filename1,filename2,filename3,filename4}(文件名)实现创建
    使用rm -r /var/www/html/test 这样删除/var/www/html/test这个目录及其子目录

    如何把一个目录及子目录拷贝到自己的主目录中:
    打开终端,输入su
    输入口令,就切换到root用户下
    cp -r 一个目录 主目录

    其他(感悟、思考等,可选)

    在短短几天内做了17个实验楼的实验,感觉并不是吸收了很多,指令也很多,需要慢慢掌握,一时间也记不住这么多东西,用的时候还需要查资料

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 30/30

    参考资料

  • 相关阅读:
    子查询
    主键、外键
    语句、聚合函数、数学函数、字符串函数、时间日期函数
    数据库的备份、还原、分离、附加
    SQL server数据类型、增删改查
    轮播特效
    手风琴特效
    关于Winform中的用户代理
    详细的SQL中datediff用法
    sql server 的datediff函数
  • 原文地址:https://www.cnblogs.com/summerharper/p/5874807.html
Copyright © 2020-2023  润新知