《信息安全系统设计基础》第1周学习总结     20145336张子扬 《信息安全系统设计基础》第1周学习总结 Linux 目录结构及文件基本操作 环境变量与文件查找

 

20145336张子扬 《信息安全系统设计基础》第1周学习总结

教材学习内容总结

在linux中快捷键

  • CTRL+ALT+T:打开终端,天天使用终端,用鼠标打开太低效了
  • CTRL+SHIFT+T:新建标签页,编程时有重要应用
  • ALT+数字N:终端中切换到第N个标签页,编程时有重要应用
  • Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
  • 上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复
  • CTRL+C:中断程序运行
  • Ctrl+Z: 将当前程序放到后台运行,恢复到前台为命令fg
  • Ctrl+A: 将光标移至输入行头,相当于Home键
  • Ctrl+E: 将光标移至输入行末,相当于End键
  • Ctrl+K: 删除从光标所在位置到行末

在linux命令行中,命令格式一般为:

command [options] [arguments] //命令 【选项】(可选)【参数】(可选)

ls命令:显示当前文件夹的文件
ls.命令:这里.是一个参数,指当前文件,和命令有所冲突,语句和ls是一样的效果
ls -a .命令:显示当前文件夹所有文件包括隐藏文件和目录

如果你想创建多个文件

$ touch love_{1..10}_linux.txt

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

查找时可以使用*和?来代替未知或者忘记的字符

man

在 Linux 环境中,如果你遇到困难,可以使用man 命令,它是Manual page的缩写。

在man的手册中一般包括以下及部分内容

  • name(名称):该命令或函数的名称,接着是一行简介
  • synopsis(概要):对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
  • description(说明):命令或者函数功能的文本描述
  • examples(示例):常用的示例
  • see also(参见):相关的命令或者函数列表

查找到后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),按下q退出,如果想获得更详细的帮助,可以使用info命令。如果只想查看某个具体参数的作用,可以使用--help。

man -k:可以帮助我们学习代码,像是一个搜索引擎。可以结合man -k key|grep来实现关键词查找。man -k等价于apropos。man -f cmd可以查看命令的基本功能,等同于whatis。

cheat

cheat命令可以提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

它比man命令提供的信息更加简单,但是同样更加易懂,用实例来告诉你这一条命令应该如何使用。

cheat命令在linux里并没有安装,需要自己安装

find

find命令可以查找一个文件在系统的位置

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

locate

locate是神速版的find

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

grep

grep可以对全文件进行全文检索,比如寻找main函数在那个文件中,可以通过grep -n main*.c,快速找到main在那个c文件中并指出第几行。

whreris和whicd

whereis和which命令可以快速找到文件安装的位置

我对linux自带的firefox浏览器进行了实验操作:

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

apt-cache

apt-cache可以在使用apt-get install安装一个程序时先找软件源库中是否有这个程序

用户的创建

可以使用who am i来查找当前的用户

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

如果你想要新建一个用户,可以使用sudo adduser xxx来进行创建新用户

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

查看etc/group文件

使用 cat /etc/group | sort

使用 cat /etc/group | grep -E "shiyanlou"只显示与实验楼相关的信息

etc文件格式说明

groupname:password:GID:userlist

将其它用户加入sudo用户组

使用usermod命令将用户添加入用户组,但需要root权限

su shiyanlou(输入用户的密码)
groups zzy
sudo usermod -G sudo zzy
groups zzy

删除用户

sudo deluser zzy --remove-home

linux查看文件权限

https://dn-anything-about-doc.qbox.me/linux_base/3-10.png/logoblackfont

文件权限

cat <file name>之类的命令读取某个文件的内容

一个目录要同时具有读权限和执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件

链接数:链接到该文件所在的 inode 结点的文件名数目

文件大小:以inode结点大小为单位表示文件的大小,给ls加上 -lh参数来更直接的查看文件的大小

ls -A 显示当前目录和上一级目录下所有文件包含隐藏文件,在linux中开头为.的文件为隐藏文件
ls -dl<目录名> 显示该目录的完整属性
ls -AsSh 用比较简介的形式展现

变更文件所有者,将在zzy下的xxx变更到shiyanlou

cd /home/zzy
ls xxx
sudo chown shiyanlou xxx
cp xxx home/shiyanlou

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

1、Linux 的文件组织目录结构。

Linux 是以树形目录结构的形式来构建整个系统的,虽然目录存储和系统内核都是在磁盘里,但是磁盘是挂载(这里的挂载是什么意思)在目录上的

linux中大部分目录结构是规定好了(FHS 标准)

fhs标准

fhs定义了两层规范:第一层是/下面的各个目录应该放置什么样的文件规范,例如:/etc应该放置设置文件,/bin和/sbin则应该放置可执行文件

第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登陆文件,/usr/share放置共享数据等等。

2、相对路径和绝对路径。

绝对路劲:是以根"/"目录为起点的完整路径,以你所要到的目录为终点。例如:/usr/local/bin

相对路径:是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点。例如:usr/local/bin

3、对文件的移动、复制、重命名、编辑等操作。

Linux 文件的基本操作

touch:创建空白文件,主要是用来更改时间戳的,但是在不加任何参数的条件下,只指定一个用户名,可以创建一个空白文件

mkdir xx:创建一个名为“xx”的目录

mkdir -p father/son/grandson:可以创建一个多级目录
cp xx father/son/grandson:将xx文件复制到father/son/grandson中
cp -r father family:将这个目录整个复制到family中
rm xx:删除文件,前提是要在这个目录下
rm -f xx:强制删除
rm -r xx:删除目录
mv file1 Documents:将文件移动到目的文件夹中
mv file1 myfile:更改名字
批量命名:rename,需要用到正则表达式
cat xx:显示文件,
cat -n xx:显示行号
tac:倒叙显示 tac:正序显示 nl:添加行号并打印(这样打开方式只能用鼠标滚轮来翻页)
more xx:打开文件,可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。(这种显示只能向下滚动,怎么向上滚动啊)
tail和head:只显示头和尾 -n <紧跟行数> -f 动态不停的读取某个文件的内容并显示,起到实时监视的作用
file命令查看类型

环境变量与文件查找

declear可以声明一个变量,使用=号赋值运算符为变量赋值。

读取变量的值,使用echo命令和$符号($符号用于表示引用一个变量的值)

三种环境变量 

1. 当前 Shell 进程私有用户自定义变量

2. Shell 本身内建的变量

3. 从自定义变量导出的环境变量

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

在一开始使用vmware虚拟机时,更新了虚拟机,不知为何虚拟机奔溃了

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

在网上寻找了原因,需要在安装目录文件中删去三个文件,虚拟机回复正常

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

课后作业中的问题和解决过程

在使用man命令时,man 手册的内容很多,涉及了 Linux 使用过程中的方方面面,为了便于查找,是做了分册(分区段)处理的,在Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

我在命令行中尝试了一下man printf,man 1 printf,man 3 printf

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

实现banner的安装

banner是一个可以输出图形字符的linux命令,但使用之前需要先安装

$ sudo apt-get update

$ sudo apt-get install sysvbanner

《信息安全系统设计基础》第1周学习总结
 
 
20145336张子扬 《信息安全系统设计基础》第1周学习总结
Linux 目录结构及文件基本操作
环境变量与文件查找

 

其他(感悟、思考等,可选)

第一次接触linux系统,带给我的新奇的感觉,新奇的是它带个用户不同于windows系统的体验。在windows系统中,用户可以通过键盘,鼠标在图形界面上进行操作。但在linux系统中,我们更多的是使用键盘输入在命令行中完成对计算机的操作,不再依赖于图形化界面。这种模式对于用户来说更难掌握,需要更加丰富的知识才能进行操作,同样当你熟练运用linux后,它的效率也会比windows系统高很多的。

在linux系统中都是使用命令行输入命令对计算机进行操作,在命令行中基本是纯英语的,由于我英语水平不高,有些命令行的提示还得去百度,很尴尬。

我觉得刚开始学一门新知识都是比较费劲的,应为你不仅要去学习相对应的知识,还要去适应它的 学习方法。学习linux我觉得对于每一条命令,动手去操作,了解它的用途,对应的参数,每种选项有什么效果,就像学英语要像先记单词一样。而老师建议我们去熟练掌握man方法,cheat方法就是让我们掌握查字典的方法。久而久之,我们就能够掌握自主学习的方法。

本周进度有点慢,因为在准备复习,在下周要加快进度,多动手操作。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)   重要成长
目标 5000行 30篇 400小时    
第一周 / 1/2 19/20  
         

 

参考资料