&&使用oschina的git服务器
1.创建了项目 https://git.oschina.net/abc99/wyq20169314
2.配置项目
(1)为项目添加公钥
项目管理-部署公钥管理-添加新的公钥
打开git客户端,生成公钥,生成命令如下
这样在d盘下就会有两个文件:
在d盘下创建一个文件夹为mypro,把oschina_key、oschina_key.pub放到里面
用记事本打开oschina_key.pub,把公钥添加到oschina中
5.测试使用
先git clone 项目地址,把项目下载下来
修改一下readme的内容
git进入到项目中,为项目添加新的文件,然后commit,再提交到远程服务器中
在项目页面中,刷新之后,就可以查看到我们刚刚更新的ReadMe内容
第一讲:Linux 就是一个操作系统,是系统调用和内核那两层
第二节 基本概念及操作
1.实验环境:实验楼自带XFCE-terminal
2.实验通过shell(终端模拟器)来与系统打交道
3.命令行操作
Tab补全
ctrl+c中断、
方向上键利用历史输入命令、
通配符(*、?)
使用man命令获取帮助,八个区段
4.banner 输出图形字符
$ sudo apt-get update (手动更新软件包索引)
$ sudo apt-get install sysvbanner
$ banner 20169314
'-w'参数指定打印宽度,因为我们的环境在屏幕中显示比较小,必须要加上宽度限制。
$ printerbanner -w 50 A
第三节、用户及文件权限管理
0.用户管理 权限机制
一、用户管理
1.查看用户
$ who am i表示当前伪终端用户的用户名,第二列的 pts/0 中 pts 表示伪终端
$ whoami查看当前登录用户的用户名
2.创建用户 root权限
$su <user> 切换到用户user,需要密码
$sudo <cmd> 运行cmd命令,需要用户属于sudo组,且需要密码
$su-<user> 环境变量改变
$su -l lilei 切换用户,需要密码
ctrl+d或exit 退出终端
![](http://images2015.cnblogs.com/blog/1115783/201703/1115783-20170304095139095-309704150.png)
![](http://images2015.cnblogs.com/blog/1115783/201703/1115783-20170304095225548-1839392510.png)
3.查看用户组
(1)group命令
(2)查看 /etc/group文件
cat /etc/group|sort(cat用于读取指定文件的内容并打印到终端输出,|sort表示将读取的文本进行一个字典排序再输出)
cat /etc/group |grep -E "shiyanlou"(过滤掉不想看到的结果)
4.用sudo命令将wyq添加到sudo用户组,让其有权限
$ su shiyanlou
$ groups wyq
$ sudo usermod -G sudo wyq(获得权限,usermod 命令可以为用户添加用户组,需要密码)
$ groups wyq(返回用户,查看是否获得权限)
5.删除用户
$ sudo deluser wyq --remove-home
二、文件权限
1.查看文件权限
$ ls -l
打开并查看内部文件r+x
创建其他文件w
用命令查看文件大小:ls -lh
2.修改权限rwx!
作业:
第四节、Linux 目录结构及文件基本操作
一、Linux 目录结构
FHS (文件系统层次结构标准)定义了两层规范
第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等
进入上一级目录 $ cd ..
进入home目录 $ cd ~或者$ /home/<用户名>
pwd 获取当前路径
绝对路径,简单地说就是以根"/"目录为起点的完整路径路径
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点
二、Linux 文件的基本操作
$ touch 文件名 (创建新文件)
$ mkdir 目录名 (创建新目录)
$ mkdir -p a/b/c (同时创建多级目录)
$ cp 文件名 a/b/c(复制文件 到文件夹或目录中)
$ mkdir d
$ cp -r d b(复制目录d到目录b处)
$ rm 文件名(删除文件或文件夹)
$ rm -f 文件名(强制删除)
$ rm -r 目录名(删除目录)
$ mkdir 目录e
$ mv 文件a 目录e(移动 剪贴 文件a到目录e)
$ mv 旧名 新名(重命名)
查看文件
$ cat -n 文件名(快速查看文件,-n显示行号)
$ nl 文件名(添加行号并打印)
使用more和less分页查看,默认显示一页内容
使用head和tail显示文件,显示头几行和尾几行
使用file命令可以查看文件的类型
用vim编辑区编辑文件内容
第五讲 环境变量与文件查找
一、如何建议一个变量
1.使用declare命令创建一个变量名为 tmp 的变量,用=号赋值运算符为变量 tmp 赋值为 shiyanlou,并读取变量的值:
$ declare tmp
$ tmp=shiyanlou
$ echo &tmp
2.三种环境变量相关的命令,set,env,export
3.命令的查找路径与顺序
4.添加自定义路径到“PATH”环境变量
5.修改和删除已有变量
二、搜索文件
-
$ whereis who(简单快速)
-
$ locate /etc/sh
$ locate /usr/share/*.jpg(快速,全面)
3.which(从path指定环境中搜索)
4.find(详细)
第六讲 文件打包与解压缩
用 zip压缩,用unzip解压缩
用rar压缩、unrar解压缩,要先安装rar、unrar工具
tar分别有对应的解压命令
第七讲 文件系统与磁盘管理
一、简单文件系统操作
1.查看磁盘和目录的容量
使用 df 命令查看磁盘的容量
$ df
使用 du 命令查看目录的容量
$ du
$ du -h
2.简单的系统操作(这个不太会,我先进行后面的内容)
3.作业
第八讲 Linux下的帮助命令
一、内建命令与外部命令
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
type 命令来区分命令是内建的还是外部的。
$ type ls
$ type exit
二、 帮助命令
1.help命令
进入 bash 中,其内置有help命令,help命令只能用于查询内建命令。
![](http://images2015.cnblogs.com/blog/1115783/201703/1115783-20170304161214048-2068902430.png)
--help用来查询外部命令
$ ls --help
2.man 命令
得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分
3.info命令
是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。
第十讲 Linux任务计划crontab
crontab 命令常见于 Unix 和类 Unix 的操作系统之中(Linux 就属于类 Unix 操作系统),用于设置周期性被执行的指令。该命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活,crond 为其守护进程,crond 常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。通过 crontab 命令,可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。
第十一讲 命令执行顺序控制与管道
一、命令执行顺序的控制
1.顺序执行
$ sudo apt-get update
$ sudo apt-get install some-tool
$ some-tool
以上三条可以一次性输完,可以自己运行
$ sudo apt-get update;sudo apt-get install some-tool;some-tool
2.有选择的执行命令
我们需要能够有选择性的来执行命令,比如上一条命令执行成功才继续下一条,或者不成功又该做出其它什么处理,比如我们使用 which 来查找是否安装某个命令,如果找到就执行该命令,否则什么也不做。
$ which cowsay>/dev/null && cowsay -f head-in onch~
如果没有安装cowsay也不会发生什么不好的后果
&&就是用来实现选择性执行的,它表示如果前面的命令执行结果(不是表示终端输出的内容,而是表示命令执行状态的结果)返回0则执行后面的,否则不执行.
shell中的&&和||除了用于表示逻辑与和或之外,还可以实现这里的命令执行顺序的简单控制。||在这里就是与&&相反的控制效果,当上一条命令执行结果为≠0($?≠0)时则执行它后面的命令
3.管道
管道是什么,管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式就是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。
管道又分为匿名管道和具名管道
在使用一些过滤程序时经常会用到的就是匿名管道,在命令行中由|分隔符表示,|在前面的内容中我们已经多次使用到了。具名管道简单的说就是有名字的管道,通常只会在源程序中用到具名管道。
1.用ls命令查看/etc目录里有哪些文件和目录
$ ls -al /etc
$ ls -al /etc |less
通过管道将前一个命令(ls)的输出作为下一个命令(less)的输入,然后就可以一行一行地看.
2.cut 命令,打印每一行的某一字段
$ cut /etc/password -c 5
3.grep 命令,在文本中或 stdin 中查找匹配字符串
一般形式:grep [命令选项]... 用于匹配的表达式 [文件]...
- wc 命令,简单小巧的计数工具
$ wc /etc/passwd
5.sort 排序命令
将输入按照一定方式排序,然后再输出,它支持的排序有按字典排序,数字排序,按月份排序,随机排序,反转排序,指定特定字段进行排序等等。
$ cat /etc/passwd |sort
- uniq 去重命令
uniq命令可以用于过滤或者输出重复行
作业:
用ASCII命令显示图片
$ sudo apt-get update
$ sudo apt-get install aview
$ sudo apt-get install imagemagick
$ wget http://labfile.oss.aliyuncs.com/courses/1/Linus.png
$ acsiiview Linus.png
以上为网络攻防第一周博客。通过这周学习,了解了很多之前没有接触过的知识,希望在之后的学习更进一步。