Windows和Linux在收费方面,软件知识方面,安全性、使用习惯、可定制性上以及应用范畴上都有所不同,UNIX/Linux操作系统下的Shell既是用户交互的界面,也是控制系统的脚本语言,其中Ubuntu终端默认使用的是bash。

快捷键的使用

    利用touch进行文件的创建,利用cd命令来进入一个目录,在输入命令的时候可以利用tab键来进行辅助,利用Ctrl+c来强行终止当前程序而不会使终端退出,利用键盘上的上方向键来利用历史输入命令,利用 ls *.xxx命令来进行模糊查询,当然我们也可以进行多文件创建,这里只需要在文件名中加入{1..n}就可以了, 在遇到问题的时候,我们可以通过man <command _name>来进行相关命令说明和使用方法的查看,如果要更加详细的命令说明,可以使用info方法,利用banner xxx可以打印文字,toilet命令可以给文字加边框,figlet命令则可让字母全都大写。

Linux用户管理

    利用who am i 命令可以惊醒查看当前伪终端的用户名,若要查看当前登录用户的用户名则中间不加空格(其中伪终端是图形用户接麦你使用/dev/tty时,每打开一个终端就会生成一个)。在Linux中,root账户拥有最大的权力,要创建用户要使用sudo命令,在使用该命令时,除了需要用户名和密码外,当前用户还必须是sudo用户组,命令上,利用su <用户名>来进行用户的切换(su -l <用户名>),用sudo 来执行创建用户等操作。Linux中还有许多的用户组,主要为方便同组用户共享资源,在查看用户所在组时,可以通过groups <用户名来进行查看,这里如果是没有指定组的新建用户,系统会自动创建一个同名的的用户组,在 /etc/sudoers.d 目录上进行同名文件的操作可以进行用户sudo权限的赋予,我们查看文件时,可以利用cat命令读取指定文件的内容并打印到终端, 进而可以利用 | sort命令进行字典排序再输出,例如:cat /etc/group | sort。如果输出太多不易查找可以通过cat <路径>  | grep -E "目标文字"进行筛选。对于新创建的用户是没有root权限的,这里要给其添加root权限需要使用sudo用户组的用户(或root用户),利用groups查看用户的分组,再利用sudo usermod -G sudo <用户名>进行root权限的赋予,而删除用户则比较简单,使用sudo deluser <用户名> --remove-home就可以了。之前利用的ls命令不止可以查看当前目录下的文件,更加可以查看文件权限,只需要在后面 加上 -l 就可以了,另外我们可以通过ls -A来显示除了当期那当期那目录和上一级目录以外的所有文件。查看目录完整性,利用ls -dl<目录名>l命令。显示所有文件大小,可以利用ls -AsSh命令,其中的小s是显示文件的大小,大S则是按文件大小排序。在变更文件所有者上可以利用sudo  chown <用户名> <文件名>,如果不想其他用户对文件进行读写执行等操作可以使用chmod 600 <文件名>,或者chmod go-rw <文件名>,另外,我们可以利用source命令使配置文件立即生效,在搜索文件上我们可以使用where、locate、which、find命令。

Linux目录结构

    FHS(文件系统层次结构标准),定义了两层规范,第一层是各个目录应该存放什么数据,/etc应该放置文件,/bin和/sbin应放置可执行文件。第二层针对/usr和/var目录的子目录,其中/var/log放系统日志文件,/usr/share放共享数据等,利用pwd命令可以查看当前路径,新建目录利用mkdir (-p可以创建父目录) [路径]<文件名>,使用cp命令可以复制文件到指定目录,例 cp <文件名> <目标路径>,如果要复制目录则要通过 cp -r  <源目录> <目标目录>,删除文件则要利用rm <文件名>,忽视提示信息进行文件删除则要使用rm -f <文件名>来进行操作,删除目录和复制目录类似,也要通过rm -r <文件名>来进行删除,移动文件可通过mv <元目录文件> <目的目录>来进行操作,重命名文件,通过mv  <就文件名> <新文件名>,批量重命名则需要通过rename 命令,查看文件则需要cat(正序)、tac(倒序),这两个可用-n显示行数,nl命令比前两者的行号打印更为专业。利用more命令进行文件的单屏显示,Enter键可以读取下一行,Space键课向下滚动一屏,h显示帮助,q退出。head和tail可以各查看头尾10行,另外可以通过tail -n <所要查看的行数>进行所需行数的查询,另外通过file命令可以进行文件类型的查询。PS:通过xeyes命令可以召唤出一双眼睛,通过nohup xeyes让其进行后台运行。

环境变量与文件查找

    可以通过declare <变量名>进行变量的创建,也可以直接即用即创建,直接tmp=<变量值>,读取变量值时,可以通过echo $<变量名>进行查看,我们会涉及三种变零类型:当前shell进程私有用户自定义变量是、shell本身内建的变量、从自定义变量导出的环境变量对应三种环境变量相关的命令,set(显示当前shell所有变量),env(显示与当前用户相关的环境变量),export(显示从Shell中导出成环境变量的变量)Linux的两个重要文件/etc/bashrc存放shell变量,/etc/profile存放的是环境变量。命令的查找路径,查看path环境变量的内容和查看变量值类似,通过echo $path查看,实验中chmod 755不知道对应什么权限,在网上通过搜寻资料了解到:第一个数字表示文件所有者的权限;第二个数字表示与文件所有者同属一个用户组的其他用户的权限;第三个数字表示其它用户组的权限。而读(r=4),写(w=2),执行(x=1),通过以上可以获知文件所有者可以读写执行,与文件所有者同一个组以及其他组的用户只能读和执行该文件,可利用gcc命令生成可执行文件,另外path可以通过path=$path:/<新路径>来进行添加。删除数据则可以通过${变量名##匹配字串}等命令进行删除,可以用unset命令删除一个环境变量!

文件的打包与压缩

    利用zip命令打包文件,-r递归打包,-q不向屏幕输出信息,-o输出文件。另外使用du命令查看偶人压缩级以及文件大小和-h、-d一起使用效果更佳。可通过zip -e创建加密压缩包,解压则需要unzip <文件名>来解压到当前目录,并可通过-O指定编码类型,有关tar包,tar -cf创建文件(-c)并指定文件名(-f),解包时则可通过tar -xf <文件名> -c <目录>

文件系统操作与磁盘管理

    可以使用df命令查看磁盘的容量,进而使用-h命令查看主机磁盘的使用情况,利用du -h命令,用更加易读的方式查看目录,利用dd命令可以转换和复制文件。创建虚拟镜像文件,sudo mkfs命令可以格式化磁盘,mount命令可以挂在磁盘到目录树,umount命令卸载已挂载磁盘,使用fdisk为磁盘分区,使用losetup命令建立镜像与回环设备的关联。这一章的内容比较晦涩,不太容易理解,准备在今后的课程中继续深入学习。

Linux下的帮助命令

    进入bash的help命令,help 命令是用于显示 shell 内建命令的简要帮助信息,比较简明扼要。man命令显示系统手册页中的内容,内容比用 help 更多更详细,而且man没有内建与外部命令的区分。info命令的信息最为详细。

2019-2020-1 20199328《Linux内核原理与分析》第一周作业的更多相关文章

  1. Linux内核原理与分析-第一周作业

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  2. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  5. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

  6. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果

  7. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  9. 2019-2020-1 20199328《Linux内核原理与分析》第四周作业

    <Linux内核原理与分析>第四周作业 步骤一 首先我们指定一个内核并指定内存根文件系统,这里的bzImage是vmLinux经过gzip压缩的内核,"b"表示&quo ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业

    <Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...

随机推荐

  1. Gin框架系列01:极速上手

    Gin是什么? Gin是Go语言编写的web框架,具备中间件.崩溃处理.JSON验证.内置渲染等多种功能. 准备工作 本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善. ...

  2. Js,JQuery不同方式绑定的同一事件可以同时触发,互不干扰

    比如,onclick绑定,然后jquery.on("click", function(){})绑定等

  3. Activiti网关--并行网关

    1.什么是并行网关 并行网关允许将流程分成多条分支,也可以把多条分支汇聚到一起,并行网关的功能是基于进 入和外出顺序流的: fork 分支: 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支. ...

  4. java 第六周上机练习 04.09

    1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值. int [] arr= {10,20,30,40,50}; for(int i=0;i<a ...

  5. 1045 Favorite Color Stripe (30分)(简单dp)

    Eva is trying to make her own color stripe out of a given one. She would like to keep only her favor ...

  6. Spring IOC/ AOP 笔记

    扫描 Bean 以下主要是使用基于注解方式配置 组件扫描(一般用于自己写的类) 添加 @Component 注解,被扫描到后自动作为 Bean 组件 @ComponentScan 扫描配置的位置,将添 ...

  7. java中封装,继承,多态,接口学习总结

    ### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通 ...

  8. 使用systemctl工具

                           使用systemctl工具 8.1问题 本例要求掌握systemctl控制工具的基本操作,完成下列任务: 重启httpd.crond.bluetooth服 ...

  9. 微信小程序H5预览页面框架

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. Vulnhub DC-3靶机渗透

    修改错误配置 打开了ova文件会发现,怎么也找不到DC-3的ip地址,估计是网卡出了问题. 那么就先配置下网卡. 进入上面这个页面之前按e. 将这里的ro 替换为 rw signie init=/bi ...