《网络攻防》第1周做业

《网络攻防》第1周学习总结


主要学习内容

在学习此视频以前,虽然作过简单的嵌入式实验,也用过基本的linux命令,可是历来没有这么系统性的学习过,这一次将这个视频学习事后,确实对linux的一些基础知识有了更深的了解。在视频课程中给出了一个Linux学习路径,经过这个导图能够明确学习方向。html

1、Linux系统

Linux是一套无偿使用和自由传播的类Unix操做系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操做系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操做系统。linux

--引用自《Linux百度百科程序员

linux系统与windows系统在使用方面最明显的区别在于主要工做在终端模式下,也就是经过一个称之为shell的软件进行操做,它隐藏了系统底层的诸多细节,留给用户的只需经过基本命令就可实现各类操做,正以下图所示那样。shell

固然了,在具备图形界面的linux系统上,打开这个终端除了像windows那样用鼠标点开它,也可使用快捷键Ctrl + Alt + t打开,或者使用Ctrl + Alt + [F1]~[F6]从图形界面切换至终端界面,再利用Ctrl + Alt + [F7]切换回图形界面。灵活使用各类快捷键会让你更加感觉到linux的不俗,各类快捷键加上完备的命令操做,使得linux系统具备极高的工做效率。下面主要罗列一些经常使用的快捷键,留待之后方便查找。数据库

按键 做用
Tab 补全命令
Ctrl+c 强行终止的当前程序
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,至关于Home
Ctrl+e 将光标移至输入行末,至关于End
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动

linux系统的文件系统与windows系统不一样,在Linux当中有一个很是重要的概念:vim

Linux一切皆是文件windows

也就是说,在Linux当中一切设备均可当作文件来进行操做。Linux采用FHS(Filesystem Hierarchy Standard)树形结构组织文件,FHS定义了系统中每一个区域的用途、所须要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。在这个树形结构中,会发现Linux系统将各类文件分类的层次分明,理解每一个目录下存放的文件性质有助于后续的学习。以下:bash

2、经常使用命令

命令的基本格式:
command [options] [arguments]
linux的命令有许多,主要分为shell提供的内建命令(如:historycd)和额外安装的外部命令(如:lsvim),区别在于内建命令随系统加载并驻留在内核当中,而外部命令只在须要时将其调入内存,常放于/bin/usr/bin/sbin/usr/sbin中。具体可利用命令type查看:网络

在如此多的命令当中,帮助命令无疑是最重要的,它能够帮咱们快速学习某个命令的用法。经常使用帮助命令有:多线程

命令 做用
help 只能显示 shell 内建命令的简要帮助信息
command --help 通常外部命令都有--help参数,专门提供帮助
man 比用 help 更多更详细,没有内建与外部命令的区分
info 更完整的显示出帮助信息
cheat GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令全部的选项和简短但尚可理解的功能。须要额外安装。

如下列出一些经常使用命令,具体用法参考帮助文档,下载linux命令大全也很方便:

命令 做用
help 只能显示 shell 内建命令的简要帮助信息
command --help 通常外部命令都有--help参数,专门提供帮助
man 比用 help 更多更详细,没有内建与外部命令的区分
info 更完整的显示出帮助信息
cheat GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令全部的选项和简短但尚可理解的功能。须要额外安装。
ls 列出目录内容
cd 切换目录
rm 删除文件或目录
mkdir 创建目录
mv 移动或改名现有的文件或目录
cp 复制文件或目录
touch 改变文件或目录时间、建立空文件
cat 正序显示文件内容
pwd 获取当前路径
grep 全文检索
find 查找文件在系统中的位置
locate 查找文件,速度很快
whereis 直接在数据库中查询文件,但只能搜索二进制文件(-b)、man帮助文件(-m)、源代码文件(-s)
which 在环境变量中搜索是否安装某个软件
rename 批量重命名
declare 声明变量
export 设置或显示环境变量
file 查看文件类型
adduser 新增用户帐号
usermod 修改用户帐号
deluser 删除用户帐号
chmod 更改文件权限
df 显示磁盘相关信息
du 显示目录或文件大小

注:
其中locate命令因为它直接经过/var/lib/mlocate/mlocate.db数据库查找,而非检索匹配,因此速度很快。windows下的Everything软件也有相似功能,经过查找NTFS文件系统中的USN日志达到神速查找的目的,于是该软件不足之处只能查找NTFS格式的设备。

3、经常使用操做

1.用户及文件权限管理

利用sudo adduser zhb能够添加一个名为zhb的用户:

切换至zhb用户,使用 who am i命令能够查看当前用户信息,使用groups可查看当前用户所属用户组状况:

在使用命令行的过程中,咱们常常要使用sudo命令来临时获取root权限,可是当咱们新建一个用户时,会发现它所属的用户组是一个默认与其同名的用户组,若是这时使用sudo命令,会出现一下状况:(就拿更新软件源为例)

很明显,咱们能够看到它没有sudo权限,此时能够先切换至另外一个有sudo权限的用户,执行sudo usermod -a -G sudo zhbzhb用户追加一个sudo用户组,这样再从新登陆zhb帐号,使用groups命令:

此时就可使用sudo命令了。使用cat /etc/group | sort 能够看到全部的用户组信息:

若是要删除用户,可以使用sudo deluser zhb --remove-home 命令。

在使用ls -l查看目录下文件时能够看到各个文件的权限状况,如:

经过这些信息能够查看文件归属以及权限(d-目录,r-可读,w-可写,x-可执行),可经过sudo chmod命令更改文件权限。
如以sudo创建一个文件abc:

可看到abc文件只对root用户可写,若是要使zhb用户也能对abc文件进行读写操做,一种方法是将其改成对root用户组可写,可以使用命令sudo chmod g+w abc:

而后先按以前方法将zhb用户添加root用户组,这样就能够对abc文件进行读写操做了:

第二种方法为abc文件的其余用户添加写权限,以下:

2.环境变量

经过export可查看环境变量,在以前使用过程当中,常用的是PATH这个环境变量,可经过echo $PATH查看这个变量:

这个变量之因此比较重要,是由于它保存了咱们在编译程序过程中所用到的编译工具的路径,在执行编译时,系统会经过这个环境变量查找编译工具,因此说若是咱们要搭建编译环境,那么这个变量是不可或缺的。
可经过如下命令为PATH添加路径:

或者直接修改~/.bashrc~/.bash_profile或系统级别的/etc/profile,就好像windows下的环境变量同样。

3.文件的压缩与解压

以前也常用这些操做,下面简单罗列一下,以备后续查阅:

4.U盘挂载

因为使用的Ubuntu系统默认自动挂载,因此为了完成手动挂载测试,选择redhat来试验。在不插U盘时,使用fdisk -l能够查看外部设备状况:

插上U盘后再执行,能够看到设备中多了一个sdb1设备,这就是U盘,若是要读取其中的内容,就须要挂载,步骤以下:

4、几个有趣的命令

写到这里,不得不佩服那些写出这些命令的程序员,为“枯燥”的学习带来了乐趣。如下命令都须要经过apt-get安装。

2.xeyes

3.cmatrix

4.aafire

5.cowsay

6.asciiview

5、学习感想

Linux的内容很是多,学起来也比较使人头疼,因此说必需要多实践、多练习,只有这样才能真正学好、用好。后续的课程我也会继续努力学习,争取可以熟练使用Linux系统。

相关文章
相关标签/搜索