• 《网络攻防技术》20169207第一周作业


    一.使用开源中国代码托管

    首先预备工作,下载git软件及代码托管平台注册。
    然后在eclipse里面建立一个名为test的新项目。这里只是示例,代码比较简单。
    开源中国网站需要生成一个自己的ssh key。用到的命令是

    git config --global user.name "littletang"
    git config --global user.email "714630943@qq.com"

    一 、设置Git的user name和email:
    $ git config --global user.name "xuhaiyan"
    $ git config --global user.email "haiyan.xu.vip@gmail.com"
    二、生成SSH密钥过程:
    1.查看是否已经有了ssh密钥:cd ~/.ssh
    如果没有密钥则不会有此文件夹,有则备份删除
    2.生存密钥:
    $ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
    按3个回车,密码为空。

    这里是我自己已经生成好的文件和密钥

    将得到的ssh key复制到码云中自己的ssh key里面。
    现在开始上传我们刚才新建的项目。

    1. cd 切换到工程所在的目录。

      2.Git全局设置

      git config --global user.name "littletang"
      git config --global user.email "714630943@qq.com"
    2. git init //初始化一个git 仓库
    3. touch README.md //创建帮助文件
    4. git add README.md //添加文件
    5. git commit -m "测试用例” // 添加注释
    6. git remote add origin https://git.oschina.net/littletang/test1.git 你的远程仓库地址 // 和远程仓库进行关联
    7. git push -u origin master //上传仓库到码云

      刷新页面后,我们发现,只是上传了介绍文件RMADME.md.
      接下来寻找原因,经查阅资料得解决办法如下:
      a. git add . //添加工程目录下所有文件 (add 和 “.” 之间有空格)
      b. git commit -m “添加注释信息"
      c. git push -u origin master //推送要上传的文件
      经刷新后上传成功。

    二、Linux基本概念及操作

    1.tab键的命令补全,包括目录,参数补全。
    2.ctrl+c 强行终止当前程序。
    3.一些基本快捷键:Ctrl+d 键盘输入结束或退出终端
    Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
    Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
    Ctrl+a 将光标移至输入行头,相当于Home键
    Ctrl+e 将光标移至输入行末,相当于End键
    Ctrl+k 删除从光标所在位置到行末
    Alt+Backspace 向前删除一个单词
    Shift+PgUp 将终端显示向上滚动
    Shift+PgDn 将终端显示向下滚动
    4.上下键切换历史命令
    5.通配符*和?用来对对字符串进行模糊匹配(比如文件名,参数名)。
    Shell 常用通配符:
    * 匹配 0 或多个字符
    ? 匹配任意一个字符
    [list] 匹配 list 中的任意单一字符
    [!list] 匹配 除list 中的任意单一字符以外的字符
    [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
    {string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
    {c1..c2} 匹配 c1-c2 中全部字符 如{1..10}
    6.用touch来创建任意类型的命令。ls *.txt罗列当前目录下的所有后缀为txt的文件。
    7.man的区段说明 1 一般命令 2 系统调用 3 库函数,涵盖了C标准函数库 4 特殊文件(通常是/dev中的设备)和驱动程序 5 文件格式和约定
    6 游戏和屏保 7 杂项 8 系统管理命 令和守护进程
    8.安装命令sudo apt-get update ,sudo apt-get install ***

    9.who 命令其它常用参数
    -a 打印能打印的全部
    -d 打印死掉的进程
    -m 同am i,mom likes
    -q 打印当前登录用户数及用户名
    -u 打印当前登录用户登录信息
    -r 打印运行等级
    10.cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。| sort 表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出.
    11.ls -l.打印文件详细内容。
    12. ls -Al查看某一个目录的完整属性,而不是显示目录里面的文件属性:
    ls -dl <目录名>显示所有文件大小,并以普通人类能看懂的方式呈现:
    ls -AsSh其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式 排序,请使用“man”命令查询。
    ls -a 命令查看隐藏文件
    13.在文件里加点内容: echo "echo "hello shiyanlou"" > iphone6
    修改权限: chmod 700 iphone6
    14.pwd 获取当前路径
    15. mkdir mydir使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用): mkdir -p father/son/grandson
    16.使用cp(copy)命令复制一个文件或目录到指定目录。将之前创建的"test"文件复制到"/home/shiyanlou/father/son/grandson"目录中:cp test father/son/grandson
    17.要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“株连九族”的意思:
    $ cp -r father family
    18.使用rm(remove files or directories)命令,删除一个文件或目录: rm test
    直接删除文件,可以使用-f参数强制删除:rm -f test
    19.使用mv(move or rename files)命令,移动文件(剪切)。将文件"file1"移动到"Documents"目录mv 源目录文件 目的目录:$ mkdir Documents$ mv file1 Documents
    20.使用cat,tac和nl命令查看文件这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示。使用more和less命令分页查看文件
    21.使用declare命令创建一个变量名为 tmp 的变量:$ declare tmp
    其实也可以不用 declare 预声明一个变量,直接即用即创建,这里只是告诉你 declare 的作用,这在创建其它指定类型的变量(如数组)时会用到。
    20.set 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
    env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
    export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
    21.创建一个 Shell 脚本文件:$ vim hello_shell.sh在脚本中添加如下内容,保存并退出(注意不要省掉第一行,这不是注释,论坛有用户反应会有语法错误,就是因为没有了第一行):
    !/bin/bash
    for ((i=0; i<10; i++));do
    echo "hello shell"
    done
    exit 0
    为文件添加可执行权限:$ chmod 755 hello_shell.sh执行脚本$ ./hello_shell.sh
    22.创建一个 C 语言"hello world"程序:
    $ vim hello_world.c
    include <stdio.h>
    int main(void)
    {
    printf("hello world! ");
    return 0;
    }使用 gcc 生成可执行文件:$ gcc -o hello_world hello_world.c
    23.与搜索相关的命令常用的有如下几个whereis,which,find,locate。
    whereis简单快速 $whereis who
    locate快而全通过"/var/lib/mlocate/mlocate.db"数据库查找,
    找 /usr/share/ 下所有 jpg 文件:$ locate /usr/share/*.jpg
    24.*.zip zip程序打包压缩的文件
    *.rar rar程序压缩的文件
    *.7z 7zip程序压缩的文件
    *.tar tar程序打包,未压缩的文件
    *.gz gzip程序(GNU zip)压缩的文件
    *.xz xz程序压缩的文件
    *.bz2 bzip2程序压缩的文件
    *.tar.gz tar打包,gzip程序压缩的文件
    *.tar.xz tar打包,xz程序压缩的文件
    *tar.bz2 tar打包,bzip2程序压缩的文件
    *.tar.7z tar打包,7z程序压缩的文件
    25.zip压缩打包程序•使用zip打包文件夹:
    $ zip -r -q -o shiyanlou.zip /home/shiyanlou
    $ du -h shiyanlou.zip
    $ file shiyanlou.zip
    26.我们再用du命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小:
    $ du -h -d 0 *.zip ~ | sort
    27.使用-e参数可以创建加密压缩包:
    $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou
    28.将shiyanlou.zip解压到当前目录:
    $ unzip shiyanlou.zip
    使用安静模式,将文件解压到指定目录:
    $ unzip -q shiyanlou.zip -d ziptest
    29. rar l shiyanlou.rar 使用unrar解压rar文件全路径解压:
    $ unrar x shiyanlou.rar
    rar l shiyanlou.rar•使用unrar解压rar文件
    全路径解压:$ unrar x shiyanlou.rar
    30.使用 df 命令查看磁盘的容量
    31.grep 命令,在文本中或 stdin 中查找匹配字符串rep命令的一般形式为:
    grep [命令选项]... 用于匹配的表达式 [文件]...
    含"shiyanlou"的所有文本文件,并显示出现在文本中的行号:
    $ grep -rnI "hello" ~
    -r 参数表示递归搜索子目录中的文件,-n表示打印匹配项行号,-I表示忽略二进制文件。


    32.join [option]... file1 file2
    -t 指定分隔符,默认为空格
    -i 忽略大小写的差异
    -1 指明第一个文件要用哪个字段来对比,,默认对比第一个字段
    -2 指明第二个文件要用哪个字段来对比,,默认对比第一个字段
    32.将echo命令通过管道传过来的数据作为cat命令的输入,将标准输出作为命令的输出
    $ echo 'hi' | cat
    将echo命令的输出从默认的标准输出重定向到一个普通文件
    $ echo 'hello shiyanlou' > redirect
    $ cat redirect
    33.正则表达式 |竖直分隔符表示选择,例如"boy|girl"可以匹配"boy"或者"girl"
    将下一个字符标记为一个特殊字符、或一个原义字符。例如,“n”匹配字符“n”。“ ”匹配一个换行符。序列“”匹配“”而“(”则匹配“(”。
    ^ 匹配输入字符串的开始位置。
    $ 匹配输入字符串的结束位置。
    {n} n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
    {n,} n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
    {n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。

    • 匹配前面的子表达式零次或多次。例如,zo能匹配“z”、“zo”以及“zoo”。等价于{0,}。
    • 匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
      ? 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。
      ? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
      . 匹配除“ ”之外的任何单个字符。要匹配包括“ ”在内的任何字符,请使用像“(.| )”的模式。
      (pattern) 匹配pattern并获取这一匹配的子字符串。该子字符串用于向后引用。要匹配圆括号字符,请使用“(”或“)”。
      x|y 匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。
      [xyz] 字符集合(character class)。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。其中特殊字符仅有反斜线保持特殊含义,用于转义字符。其它特殊字符如星号、加号、各种括号等均作为普通字符。脱字符^如果出现在首位则表示负值字符集合;如果出现在字符串中间就仅作为普通字符。连字符 - 如果出现在字符串中间表示字符范围描述;如果如果出现在首位则仅作为普通字符。
      [^xyz] 排除型(negate)字符集合。匹配未列出的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”。
      [a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
      [^a-z] 排除型的字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
      34.grep命令用于打印输出文本中匹配的模式串,它使用正则表达式作为模式匹配的条件。grep支持三种正则表达式引擎,分别用三个参数指定:
      -E POSIX扩展正则表达式,ERE
      -G POSIX基本正则表达式,BRE
      -P Perl正则表达式,PCRE
      35.通过grep命令使用正则表达式之前,先介绍一下它的常用参数:
      -b 将二进制文件作为文本来进行匹配
      -c 统计以模式匹配的数目
      -i 忽略大小写
      -n 显示匹配文本所在行的行号
      -v 反选,输出不匹配行的内容
      -r 递归匹配查找
      -A n n为正整数,表示after的意思,除了列出匹配行之外,还列出后面的n行
      -B n n为正整数,表示before的意思,除了列出匹配行之外,还列出前面的n行
      --color=auto 将输出中的匹配项设置为自动颜色显示
    1. grep默认是区分大小写的,这里将匹配所有的小写字母
      $ echo '1234 abcd' | grep '[a-z]'
      将匹配所有的数字
      $ echo '1234 abcd' | grep '[0-9]'
      将匹配所有的数字
      $ echo '1234 abcd' | grep '[[:digit:]]'
      将匹配所有的小写字母
      $ echo '1234 abcd' | grep '[[:lower:]]'
      将匹配所有的大写字母
      $ echo '1234 abcd' | grep '[[:upper:]]'
      将匹配所有的字母和数字,包括0-9,a-z,A-Z
      $ echo '1234 abcd' | grep '[[:alnum:]]'
      将匹配所有的字母
      $ echo '1234 abcd' | grep '[[:alpha:]]'

    可以使用如下方式重新安装:
    $ sudo apt-get --reinstall install w3m
    更新软件源
    $ sudo apt-get update
    升级没有依赖问题的软件包
    $ sudo apt-get upgrade
    升级并解决依赖关系
    $ sudo apt-get dist-upgrade
    卸载软件
    sudo apt-get remove w3m
    38. sudo apt-get remove w3m

    39.树形结构显示

    40.toptop 工具是我们常用的一个查看工具,他能实时的查看我们系统的关键一些关键信息的变化已经进程在进程中的实时变化

  • 相关阅读:
    django加载静态文件
    计算机网络-划分子网
    接口定义一个Kye.保证其安全性
    GridView中几个显示数据时! 数据停靠(靠左 or 居中)的问题!
    数据库SQL Case...when...then...end的用法!
    利用jQuery发送ajax异步请求
    利用索引进行数据查询优化(转载!)
    身份证的合法验证
    DataTable判断列是否为空!(实用)
    窗体美化,IrisSkin2.dll的使用!
  • 原文地址:https://www.cnblogs.com/littletang/p/6502317.html
Copyright © 2020-2023  润新知