《网络攻防》第1周作业

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


主要学习内容

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

logoblackfont

一、Linux系统

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

--引用自《Linux百度百科

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

2012092023590167.jpg

当然了,在具有图形界面的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当中有一个非常重要的概念:

Linux一切皆是文件

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

logoblackfont

二、常用命令

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

1vJeds0.png

在如此多的命令当中,帮助命令无疑是最重要的,它可以帮我们快速学习某个命令的用法。常用帮助命令有:

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

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

命令作用
help只能显示 shell 内建命令的简要帮助信息
command --help一般外部命令都有--help参数,专门提供帮助
man比用 help 更多更详细,没有内建与外部命令的区分
info更完整的显示出帮助信息
cheatGNU通用公共许可证下,为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格式的设备。

三、常用操作

1.用户及文件权限管理

利用sudo adduser zhb可以添加一个名为zhb的用户:
1115759-20170305095304516-43952566.png
切换至zhb用户,使用 who am i命令可以查看当前用户信息,使用groups可查看当前用户所属用户组情况:
1115759-20170305095540345-406533528.png
在使用命令行的过程当中,我们经常要使用sudo命令来临时获取root权限,但是当我们新建一个用户时,会发现它所属的用户组是一个默认与其同名的用户组,如果这时使用sudo命令,会出现一下情况:(就拿更新软件源为例)
1115759-20170305100016438-1660841237.png
很明显,我们可以看到它没有sudo权限,此时可以先切换至另一个有sudo权限的用户,执行sudo usermod -a -G sudo zhbzhb用户追加一个sudo用户组,这样再重新登录zhb账号,使用groups命令:
1115759-20170305101036360-111828964.png
此时就可以使用sudo命令了。使用cat /etc/group | sort 可以看到所有的用户组信息:
1115759-20170305101428251-1322815352.png
如果要删除用户,可使用sudo deluser zhb --remove-home 命令。

在使用ls -l查看目录下文件时可以看到各个文件的权限情况,如:
1115759-20170305101803657-1551761718.png
通过这些信息可以查看文件归属以及权限(d-目录,r-可读,w-可写,x-可执行),可通过sudo chmod命令更改文件权限。
如以sudo建立一个文件abc:
1115759-20170305102558891-1412225503.png
可看到abc文件只对root用户可写,如果要使zhb用户也能对abc文件进行读写操作,一种方法是将其改为对root用户组可写,可使用命令sudo chmod g+w abc:
1115759-20170305103026423-1328451184.png
然后先按之前方法将zhb用户添加root用户组,这样就可以对abc文件进行读写操作了:
1115759-20170305103856235-1854747352.png
第二种方法为abc文件的其他用户添加写权限,如下:
1115759-20170305104114673-1749847292.png

2.环境变量

通过export可查看环境变量,在之前使用过程中,经常使用的是PATH这个环境变量,可通过echo $PATH查看这个变量:
1115759-20170305104615688-373411612.png
这个变量之所以比较重要,是因为它保存了我们在编译程序过程当中所用到的编译工具的路径,在执行编译时,系统会通过这个环境变量查找编译工具,所以说如果我们要搭建编译环境,那么这个变量是不可或缺的。
可通过以下命令为PATH添加路径:
1115759-20170305105334923-237686906.png
或者直接修改~/.bashrc~/.bash_profile或系统级别的/etc/profile,就好像windows下的环境变量一样。

3.文件的压缩与解压

之前也经常使用这些操作,下面简单罗列一下,以备后续查阅:
1115759-20170305105914532-739136538.png

4.U盘挂载

由于使用的Ubuntu系统默认自动挂载,所以为了完成手动挂载测试,选择redhat来试验。在不插U盘时,使用fdisk -l可以查看外部设备情况:
1115759-20170305114759954-1091601803.png
插上U盘后再执行,可以看到设备中多了一个sdb1设备,这就是U盘,如果要读取其中的内容,就需要挂载,步骤如下:
1115759-20170305115205470-402030538.png
1115759-20170305115215110-882718393.png

四、几个有趣的命令

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

1115759-20170305110653063-638753935.png

2.xeyes

1115759-20170305110841532-1707130406.png

3.cmatrix

1115759-20170305111203220-1471901576.png

4.aafire

1115759-20170305111347735-360988181.png

5.cowsay

1115759-20170305111747563-1405833617.png

6.asciiview

1115759-20170305112205485-301924428.png

五、学习感想

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

转载于:https://www.cnblogs.com/zhanghanbing/p/6504253.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值