热门标签 | 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 基础入门
  • 《深入理解计算机系统》

 


推荐阅读
  • Autoware 进行 Robosense16 线雷达与 ZED 双目相机联合标定!
    项目要标定雷达和相机,这里记录下我标定过程,用的速腾Robosense-16线雷达和ZED双目相机。一、编译安装Autoware-1.10.0我没有安装最新版本的Autoware, ... [详细]
  • Linux 命令行获取天气
    目标:使用Linux命令行显示天气预报。发行版:所有Linux发行版。要求:能连上因特网的Linux难度:容易约定& ... [详细]
  • brew结合iTerm2花式玩转MacOS软件管理的终端指令
    brew结合iTerm2花式玩转MacOS软件管理的终端指令-1.背景需求  刚拿到新的Mac电脑工作时,linux上很多常用指令是没有的安装的,如wget,git,telnet ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 这是一个愚蠢的问题,但我只是对此感到好奇.假设我在Pythonshell,我有一些我查询的数据库对象.我做:db.query(的queryString)该查询在0xffdf842c ... [详细]
  • 本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • Shell编程(三)bash数学运算
    本文介绍shell中的expr和bash自带的 ... [详细]
  • MNN windows
    参考:编译转换工具:https:blog.csdn.netjacke121articledetails106407234解决flatc.exe找不到 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • MySQL数据库查询注意事项及查询命令详解
    本文介绍了在进行MySQL数据库查询时需要注意的地方,包括启动informix数据库的命令oninit,查询状态的命令onstat,以及相关的网址链接。同时还详细解释了oninit命令的用法和参数,包括初始化磁盘空间和共享内存、保留在线模式等。对于需要进行MySQL数据库查询的读者,本文提供了实用的查询命令和相关注意事项,帮助读者更好地进行数据库查询。 ... [详细]
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社区 版权所有