本文是学习Linux基础入门(新版)后的总结。
问题和参考
虚拟机莫名崩溃,一天重启了几十次电脑,重装两次系统,心累。想起去年十一时节,大一的我也在安虚拟机,没想到一年过去又是一个轮回,还遇到了很多全新的问题,一环套一环,一个问题接一个。常安常新啊。
错误的逻辑顺序:
- 全屏后找不到安装增强功能——HOME+HOST,HOST+C可以重新显示菜单栏,且要将菜单栏的“设备”设为显示,才能找到“安装增强功能”——找不到HOME键在键盘的位置——逆序将问题解决;
- 安装增强功能出现“糟糕!运行这个软件时出现问题。无法定位程序”的错误——直接在命令行按老师的参考博客设置共享文件夹那里会出现“unknown filesystem type 'vboxsf‘”的错误——需要安装增强功能(问题回到开始)——需要安装kernel——Debian不用kernel,而应安装linux-headers——不管装什么都显示“E:无法定位软件包”——排除网络未连接的问题,那就是网络质量的问题——需要换源——换源的网址要是能直接粘贴过来就好了——想共享粘贴板需要安装增强功能(问题链闭合了!!)——手动输入源,从换源这一步开始逆序将问题解决,装好了共享文件夹还是挺有成就感的:D,弥补了大一时的缺失
参考博客和小点
20165214 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1
Y7000P的HOME键是Fn+←
安装增强功能时,图形界面使用sh ./VBoxLinuxAdditions.run
,如果./VBoxlLinuxAdditions.run
报权限不够的错误的话
“mkdir:无法创建目录”的错误,加上-p
参数可创建未存在的目录
Linux下使用QQ邮箱发送邮件(失败)
有趣/有用的Linux命令
- banner、printerbanner、toilet、figlet
sudo apt-get install sysvbanner
输出图形字符 - cmatrix 模拟黑客帝国特效
- aafire
sudo apt-get install libaa-bin
火炉特效 - cowsay 动物说话特效,
-l
列举动物,-f
选择动物 - xeyes 使用
nohup xeyes
放到后台运行,一双眼睛监督你 - fortune、fortune-zh 输出一首诗(可以结合cowsay,用
|
隔开使用) - asciiview 有趣的查看图片文件的方法,需要安装aview和imagemagick
- ninvaders 游玩基于ncurse命令行图形库做的经典游戏Space Invaders
/usr/games/ninvaders
- bb /usr/games/bb,某种文字特效
- history 查看最近执行过的命令
- tree 显示目录、文件的关系
- less、head、tail 查看文件内容,tail的
-f
参数可以实现实时监视 - vimtutor linux自带的vim教程
- vimdiff 文本比较合并工具
- locate、find 搜索文件的工具
- grep 结合正则表达式进行匹配和查找
-E
使用扩展至正则表达式ERE - cut 从文件的每一行剪切字节、字符和字段并写至标准输出
- sort 针对文本文件的内容,以行为单位排序
- uniq 检查和删除文本文件中重复出现的行列,常于sort结合使用
- tr 删除一段文本信息中的某些文字或将其进行转换
echo 'input some text here' | tr '[:lower:]' '[:upper:]' #将输入的文本全部转换为大写,也可写成'[a-z]' '[A-Z]'
- col
-x
将Tab转换为空格;-h
将空格转换为Tab(默认) - join 将两个文件中指定字段的内容相同的行连接起来
- paste 在不对比数据的情况下简单地合并多个文件
- dos2unix、unix2dos 将dos文本格式和UNIX文本格式相互转换
- tee 将输入打印到终端,同时重定向到多个文件
- exec 使用一个进程替换当前进程
- xargs 将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
- sed 用于过滤和转换文本的流编辑器
-r
使用扩展正则表达式;-i
将直接修改输入文件内容,而不是打印到标准输出设备 - awk 文本处理工具
- dpkg Debian Packge,一个底层的远程获取软件包及处理复杂软件包关系的工具
- remove 卸载软件
- top、ps、pstree 查看系统或进程信息
- kill、nice、renice 进程的管理命令
- logrotate 管理日志
小作业和解答
找出/etc/目录下的所有以.list结尾的文件。
sudo find /etc -name "*.list"
找出当前目录下占用最大的前十个文件。
du -a|sort -n -r|head -n 10
-
使用mail用自己的QQ邮箱发送邮件。(失败)
请参考上面的参考博客
没有certutil可以用
apt-get install libnss3-tools
-
每年女朋友生日的时候发一封祝福邮件给她。(由于上一条失败所以失败)
crontab -e
#打开后在文件尾添加
59 23 31 1 * mail -s "邮件主题" 收件地址 < 本地正文文件.txt理论上是这样的,可惜配了两天mail还是失败,发邮件双方都没有任何反馈,只能暂时放弃了。
-
理解管道(Pipe):参考上面的参考博客。
管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stout)直接作为下一个进程的输入(stdin)。
管道命令使用
|
作为界定符号。 2>&1
是什么意思?&1是文件描述符1,1表示标准输出,2表示标准错误。2>&1
表示将标准错误重定向到标准输出
一些图片
Linux相关
vi基础学习
正则表达式
相关学习
正则表达式基础学习
注意正则表达式的语法与通配符不同。
-
语法
字符 描述 \ 将下一个字符标记为一个特殊字符或一个原义字符 ^ 匹配输入字符串的开始位置 $ 匹配输入字符串的结束位置 {n} 匹配确定的n次(n是非负整数) {n,} 至少匹配n次(n是非负整数) {n,m} 最少匹配n次且最多匹配m次(n<=m,都是非负整数) * 匹配前面的子表达式任意次(包括0);等价于{0,} + 匹配前面的子表达式至少1次;等价于{1,} ? 匹配前面的子表达式0次或1次;等价于{0,1} ? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n},{n,m})后面时,匹配模式为非贪婪。eg.对于字符串"oooo","o+?"将匹配单个"o",而"o+"将匹配所有"o" . 匹配除"\n"之外的任何单个字符。如果要匹配包括"\n"在内的任何字符,可使用“(.|\n)” (pattern) 匹配pattern并获取这一匹配的子字符串。该子字符串用于向后引用。如果要匹配圆括号字符,可使用“\(”和“\)” x|y 匹配x或y [xyz] 匹配所包含的任意一个字符。连字符 -
如果出现在字符串中间表示字符范围描述;如果出现在首位则紧作为普通字符[^xyz] 排除包含的字符,匹配未列出的任意字符 -
优先级
从上到下从左到右,由高到低:
运算符 说明 \ 转义符 (),(?