实验楼Linux基础入门第一周
&&使用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
以上为网络攻防第一周博客。通过这周学习,了解了很多之前没有接触过的知识,希望在之后的学习更进一步。
实验楼Linux基础入门第一周的更多相关文章
- Linux 基础入门 第一周9.14~9.20
第一节 Linux系统简介 Linux——操作系统 1.使多个用户从不同的终端同时操作主机(分时操作系统): 2.MINIX是一个功能有限的类似于UNIX的操作系统(UNIX 实现了 TCP/IP 协 ...
- Linux 基础入门 第二周9.21~9.27
一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...
- Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程
1.创建新的虚拟机 2.选择自定义 3.选择Workstation 10.0 4.选择稍后安装操作系统 5.选择Red Hat 6 64位 6.对虚拟机命名和选择安装位置 7.选择处理器配置 8.选择 ...
- 实验楼 Linux 基础入门(新版)挑战:寻找文件
传送门:https://www.shiyanlou.com/courses/running 挑战:寻找文件 实验环境: 用户名:shiyanlou 密码:76036575 寻找文件 介绍 有一个非常重 ...
- 第一周作业-Linux基础入门
写在前面 实验楼中linux基础入门的内容很多,几乎涵盖了所有的常用命令.命令的记忆不是一朝一夕的,更不能死记硬背,在实践中多操作,熟悉后自然就记住了.我没有将对每个命令操作结果都截图记录下来(事实上 ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- Linux基础入门教程
Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...
- Linux基础入门 - 3
第四节 Linux 目录结构及文件基本操作 4-1.Linux目录结构 Linux 的目录与 Windows 的目录的实现机制是完全不同的.一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关 ...
随机推荐
- POJ 3070 矩阵mob
. 矩阵高速幂想法与快速幂相同 #include<iostream> #include<cstdio> #include<cstring> #define MOD ...
- assembly打包插件引发的自定义spring标签找不到声明的错误
异常信息:通配符的匹配很全面, 但无法找到元素 的声明. 报的异常信息是关于我们使用的一个自定义的spring标签,这个异常通常的原因可能是读取不到自定义标签的映射. 到META-INF目录下找一下是 ...
- 测试CPU核心个数
//测试CPU核心个数 #if !defined (_WIN32) && !defined (_WIN64) #define LINUX #include <unistd.h&g ...
- 英语发音规则---ea字母组合发音规律
英语发音规则---ea字母组合发音规律 一.总结 一句话总结:字母组合ea的发音规律,在学习字母组合在单词中的发音规律以前,一定要熟练撑握什么是开音节,什么是闭音节,否则你就不撑握这些发音规律. ea ...
- C++(八)— 死锁原因及解决方法
1.死锁原因 死锁问题被认为是线程/进程间切换消耗系统性能的一种极端情况.在死锁时,线程/进程间相互等待资源,而又不释放自身的资源,导致无穷无尽的等待,其结果是任务永远无法执行完成. 打个比方,假设有 ...
- BAT系列(一)— CNN
1.CNN最成功的应用是在CV 那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性? 以 ...
- Hibernate映射--基本类映射和对象关系映射(转)
原文地址:http://blog.csdn.net/lovesummerforever/article/details/20901011 尊重原创,请访问原网址 回想一些我们在没有学习ssh的时候 ...
- C# Winform 基于Task的异步与延时执行
一.Task的机制 Task位于命名空间System.Threading.Tasks中,是.NET 4.0加入的新模块,其实现机制大致类似于线程池ThreadPool,不过对于ThreadPool ...
- 重拾安卓_01_安卓开发环境搭建(android studio)
一.下载安装SDK 参考:搭建Android开发环境——Eclipse 的安装SDK部分 二.安装android studio 参考: Android Studio 入门级教程(一) 三.andro ...
- Oracle学习笔记_03_单行函数
1.SQL函数: 单行函数.多行函数 单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 ...