热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

20145216史婧瑶《信息安全系统设计基础》第一周学习总结

20145216《信息安全系统设计基础》第一周学习总结教材学习内容总结Linux基础1.ls命令ls或ls.显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的
20145216 《信息安全系统设计基础》第一周学习总结

教材学习内容总结

Linux基础

1.ls命令

ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略。我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的内容。如图所示:

2.man命令

man命令可以查看帮助文档,如 man man :

若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数;若不加数字,那man命令默认从数字较小的手册中寻找相关命令和函数。例如:

man -k:对所有的联机手册搜寻所指定的字串,如 man -k sort:

3.cheat命令

cheat命令通过实例告诉使用者一些命令的具体使用方法,如 cheat find:

4.其他核心命令

和查找相关的核心命令还有find,locate,grep,whereis,which,其中: find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个Everything工具和locate类似)。grep 可以对文件全文检索,支持正则表达式,正则表达式也是一个重要的元知识。whereis,which告诉你使用的命令工具装在什么地方。上面的命令包括man -k有一个共同特点就是基于“搜索”。

whereis:简单快速,它只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。

locate:快而全,通过"/var/lib/mlocate/mlocate.db"数据库查找,它可以用来查找指定目录下的不同文件类型


which:小而精,which本身是 Shell 内建的一个命令,我们通常使用which来确定是否安装了某个指定的软件,因
为它只从PATH环境变量指定的路径中去搜索命令。

find:精而细,find应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件
的属性(如文件的时间戳,文件的权限等)进行搜索。

Linux基本概念及操作

1.Terminal(终端)

终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换。

2.Shell

Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe。普通意义上的 Shell 就是可以接受用户输入命令的程序。Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。在 UNIX/Linux 中比较流行的常见的 Shell 有 bash,zsh,ksh,csh 等等,Ubuntu 终端默认使用的是 bash。

3.命令行操作体验

[Tab]

使用Tab键来进行命令补全,Tab键一般键盘是在字母Q旁边,这个技巧带来的最大的好处就是如果忘记某个命令的全称时可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成。

[Ctrl+c]

当终端里出现了无法预料的情况时,可以使用Ctrl+c键来强行终止当前程序(但它并不会使终端退出)。

其他一些常用快捷键

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

4.使用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

Shell 常用通配符:

字符                          含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[!list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
{c2..c2} 匹配 c1-c2 中全部字符 如{1..10}

用户及文件权限管理

1.创建用户

su,su- 与 sudo:su 可以切换到用户user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。su - 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

2.查看所属用户组

方法一:使用groups命令

方法二:查看/etc/group文件,如:$ cat /etc/group | sort
这里 cat 命令用于读取指定文件的内容并打印到终端输出; | sort 表示将读取的文本进行一个字典排序再输出

3.将其他用户加入用户组

$ su shiyanlou # 此处需要输入shiyanlou用户密码,可以点击右侧工具栏中的“SSH直连”查看

$ groups sjy

$ sudo usermod -G sudo sjy

$ groups sjy

4.删除用户

$ sudo deluser sjy --remove-home

Linux 目录结构及文件基本操作

1.Linux 目录结构

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等;第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

2.目录路径

使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

绝对路径

关于绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local
/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

相对路径

相对路径,也就是相对于当前的目录的路径,相对路径是以当前目录 . 为起点,以所要到的目录为终点,表现形式如
:usr/local/bin (这里假设当前目录为根目录)。注意表示相对路径实际并没有加上表示当前目录的那个 . ,而
是直接以目录名开头,因为这个 usr 目录为 / 目录下的子目录,是可以省略这个 . 的;如果是当前目录的上一级目
录,则需要使用 .. ,比如当前目录为“home”目录,根目录就应该表示为 ../../ ,表示上一级目录("home"目录)
的上一级目录("/"目录)。

二、Linux 文件的基本操作

1.新建

新建空白文件:使用touch命令

新建目录:使用 mkdir(make directories)命令

2.复制

复制文件:使用cp命令

复制目录:使用cp -r或者cp -R命令

3.删除

删除文件:使用rm命令(强制删除:使用rm -f命令)

删除目录:使用rm -r或者rm -R命令

4.移动文件与文件重命名

移动文件:使用mv命令(mv 源目录文件 目的目录)

重命名文件:使用mv命令(mv 旧的文件名 新的文件名)

5.查看文件

使用cat,tac和nl命令:cat和tac这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示(cat 
-n可以显示行号),tac倒序显示;nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。

6.查看文件类型

使用file命令

7.编辑文件

使用vimtutor命令

环境变量与文件查找

1.变量

使用declare命令创建变量;

使用=号赋值运算符为变量赋值;

使用echo命令和$符号读取变量的值;

如图所示:

2.文件查找(见上文中核心命令)

文件打包与解压缩

使用zip打包文件夹;

使用-e参数创建加密压缩包;

使用unzip命令解压缩zip文件;

实验作业截图

教材学习中的问题和解决过程

问题:为什么当前目录为“home”目录,根目录就应该表示为 ../../ ?

解决过程:未解决,因为“home”目录为根目录的子目录,我认为应该表示为 ../ ,虽然反复看了实验内容,但还是没有理解,通过上网百度也没有查到相关解释。

心得体会

本周开始正式学习Linux,通过实验楼熟悉了各种命令,发现有了上学期对java的学习经验,再学习Linux不会觉得无从下手了,并且通过完成实验作业,我体会到了Linux这套操作系统的有趣与特别。这周虽然练习使用了一些核心命令,但是还没有完全掌握,还需要以后多用多练,希望以后我也能继续保持这份热情,好好学Linux。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 300小时  
第一周 0/0 1/2 25/40 学习了Linux基础知识和核心命令

参考资料

  • 《深入理解计算机系统V2》学习指导
  • 2016-2017-1 《信息安全系统设计基础》教学进程
  • 别出心裁的Linux命令学习法
  • Linux 基础入门
  • 《深入理解计算机系统》

 


推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • MongoDB集群配置:副本集与分片详解
    本文详细介绍了如何在MongoDB中配置副本集(Replica Sets)和分片(Sharding),并提供了具体的步骤和命令,帮助读者理解并实现高可用性和水平扩展的MongoDB集群。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 本文将带领读者深入了解Android系统源码在手机中的实际表现,通过详细的步骤和专业的解释,帮助你更好地理解Android系统的底层运作机制。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 本文介绍了一种监控网络接口速率的Shell脚本,重点分析了其中出现的语法错误,并提供了详细的修正方法。该脚本旨在实时监测网络接口的上传和下载速度。 ... [详细]
author-avatar
一个人灬过世界amp丶_420
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有