学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统

通过询问同学和上网搜查百度,完成了虚拟机的安装,开始了linux的学习。

通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法

在实验楼中进行学习

第一步 hello shiyanlou

在这一章的学习中,我出现了一些细节上的小错误,例如在第三行和第六行因为没有注意到空格的存在。也注意到了某些联系:在第九行中显示的错误让我想到了以前用clockblock编译产生的错误的信息是相类似的。

第二节 快捷键的使用与字符命令

快捷键的使用

  1. 使用Tab键来进行命令补全
  2. 使用Ctrl+c键来强行终止当前程序(并不会使终端退出)
  3. 其他命令:
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home
Ctrl+e 将光标移至输入行末,相当于End
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动

字符命令

  1. $ touch love_{1..10}_linux.txt 用来创建文件,其中用_{1..10}_可以创建多个文件名字从1到10.
  2. 常用通配符涵义:
字符 含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[!list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
{c1..c2} 匹配 c1-c2 中全部字符 如{1..10}

3.man 获得某个命令的说明和使用方式的详细介绍:例如man man

第三节:用户及文件权限管理

1.Linux 中创建、删除用户,及用户组等操作。 2.Linux 中的文件权限设置。

主要是通过打开终端,输入Linux命令来进行对用户和文件的有效操作。

主要使用到的命令有:

  1. 查看用户 $ who am i 或 $ who mom likes
  2. 创建用户 $ sudo adduser
  3. 用户组 1.groups命令 $ groups 2.查看/etc/group文件 $ cat /etc/group | sort
  4. 删除用户 $ sudo deluser
  5. 查看文件权限 $ ls -l

发现注意事项:

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

第四节: Linux 目录结构及文件基本操作

这一部分的所掌握的命令有:

    1. 切换目录 $ cd
    2. 进入上一级目录 $ cd ..
    3. 进入“home”目录 $ cd ~ 或 $ cd /home/<你的用户名>
    4. 获取当前路径 $ pwd
    5. 新建文件 $ touch
    6. 新建目录 $ mkdir
      (若使用-p 参数,则同时创建一个之前不存在的父目录 $ mkdir -p )
    7. 复制文件 $ cp <复制文件名> <复制到该文件文件名>
    8. 删除文件或目录 $ rm
      (加入-f 参数则强制删除该文件或目录 $ rm -f )
    9. 移动文件 $ mkdir <目标文件夹>$ mv <移动文件> <目标文件夹>
    10. 重命名文件 $ mv <旧文件名> <新文件名>
    11. 查看文件 $ cat (加入-n显示行号)
    12. 查看文件类型 $ file
    13. 编辑文件 $ vimtutor

第五节 环境变量与文件查找

理解变量的定义和作用。变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中。

本节主要命令:

  1. 创建变量 $ declare <变量名> (使用= 给变量赋值)
  2. 读取变量的值 $ echo $<变量名> (注意读取变量名时变量名前要加 $符号($符号用于表示引用一个变量的值),变量名只能是英文字母,数字或者下划线,且不能以数字作为开头。)
  3. 环境变量相关命令
命令 说明
set 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量

4.变量修改

变量设置方式 说明
${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串

变量删除 $ unset

6.让环境变量立即生效 $ source

7.搜索变量

命令 优点
whereis 简单快速
which 小而精
find 精而细
locate 快而全

8.与时间相关的命令参数

参数 说明
-atime 最后访问时间
-ctime 创建时间
-mtime 最后修改时间

第六节 文件打包与压缩

介绍了几种在Linux系统中常见常用的压缩包文件格式。

格式有如下:

|.zip| zip程序打包压缩的文件|
|
.rar| rar程序压缩的文件|
|.7z| 7zip程序压缩的文件|
|
.tar| tar程序打包,未压缩的文件|
|.gz| gzip程序(GNU zip)压缩的文件|
|
.xz| xz程序压缩的文件|
|.bz2| bzip2程序压缩的文件|
|
.tar.gz| tar打包,gzip程序压缩的文件|
|.tar.xz| tar打包,xz程序压缩的文件|
|
tar.bz2| tar打包,bzip2程序压缩的文件|
|*.tar.7z| tar打包,7z程序压缩的文件|

常用压缩和解压命令:

  1. zip压缩命令 $ zip -r -q -o *.zip <路径>
  2. zip解压命令 1.将*.zip解压到当前目录:$ unzip *.zip
    2.使用安静模式,将文件解压到指定目录:$ unzip -q *.zip -d ziptest
  3. 从指定文件或目录创建压缩包或添加文件到压缩包:
  • $ rm *.zip
  • $ rar a *.rar .
  1. 从指定压缩包文件中删除某个文件:
    $ rar d *.rar .zshrc
  2. 查看不解压文件:
    $ rar l *.rar
  3. 使用unrar解压rar文件

1.全路径解压:
$ unrar x *.rar
2.去掉路径解压:

$ mkdir tmp
$ unrar e *.rar tmp/

  1. 创建一个 tar 包:
    $ tar -cf *.tar ~

第7节 文件系统操作与磁盘管理

这一节旨在教会我们简单文件系统操作和磁盘管理。在之前的课程学习过程中也稍有涉及。在懂得Linux系统语言的原理后学起来相较之前轻松了一些。

主要命令有:

  1. 查看磁盘容量:$ df (可通过增加-h 参数使其看起来更加易懂)
  2. 查看目录容量:$ du
  3. 从标准输入读入用户输入到标准输出或者一个文件:

1.输出到文件
$ dd of=test bs=10 count=1 或 $ dd if=/dev/stdin of=test bs=10 count=1
2.输出到标准输出
$ dd if=/dev/stdin of=/dev/stdout bs=10 count=1

  1. 从/dev/zero设备创建一个容量为 256M 的空文件:

$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img

第8节 Linux下的帮助命令

首先弄懂内建命令和外部命令的概念。学会使用help , man , info命令并对其加以区分。

涉及到的命令有:

    1. helo命令 help ls
    2. man命令 man ls
    3. info命令 info ls

linux 初学体验 20155317 王新玮的更多相关文章

  1. 20155317王新玮《网络对抗》Exp2 后门原理与实践

    20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...

  2. 2018-3-7 20155317 王新玮 Exp1 PC平台逆向破解(5)M

    2018-3-7  20155317  王新玮 Exp1 PC平台逆向破解(5)M 任务要求:手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. NOP.JNE.JE.JMP.CM ...

  3. 20155317 王新玮 2016-2017-2 《Java程序设计》第9周学习总结

    20155317 王新玮 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以 ...

  4. 20155317 王新玮 2006-2007-2 《Java程序设计》第4周学习总结

    20155317 王新玮 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承共同行为 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那 ...

  5. C语言与java 20155317 王新玮第二次

    20155317 王新玮第二次写作感想   你有什么技能比大多数人(超过90%以上)更好? 刚刚看到这个题目,我的首先想到的是会一些中医,懂得中医的理论框架知识,懂得大部分的中医脉象,能够解决日常生活 ...

  6. 20155317王新玮《网络对抗技术》实验9 web安全基础实践

    20155317王新玮<网络对抗技术>实验9 web安全基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET ...

  7. 20155317王新玮《网络对抗技术》实验8 WEB基础实践

    20155317王新玮<网络对抗技术>实验8 WEB基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET与P ...

  8. 20155317 王新玮《网络对抗技术》实验5 MSF基础应用

    20155317 王新玮<网络对抗技术>实验5 MSF基础应用 1. MS08_067安全漏洞 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC ...

  9. 20155317 王新玮 2016-2017-2 《Java程序设计》第6周学习总结

    20155317 王新玮 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1串流设计的概念 Java将输入/输出抽象化为串流,数据有来源及目的地,衔 ...

随机推荐

  1. Spring配置文件中的parent与abstract

    在看项目的Spring配置文件时,发现消息队列的配置采用了继承方式配置Bean,在这梳理总结一下. 其实在基于spring框架开发的项目中,如果有多个bean都是一个类的实例,如配置多个数据源时,大部 ...

  2. post注入及提权思路

    我们这次的目标有点敏感  性感的马赛克是必须有的 登陆表单 那么我们来看看是不是存在post注入 Setp1:设置代理 Step2:账户admin密码随意 提交上去  抓个包 把抓到的包复制到本地的一 ...

  3. linux setup 相关text mode图形配置工具的安装

    centos 6.4 x86_64 minimal安装后发现setup命令不可用 yum update yum install setup 安装完了还是不可用,不知为什么,难道装的那个包不对?yum ...

  4. 14. Android框架和工具之 ImageLoader(图片加载)

    1. 这个图片加载框架网友很多都已经使用过,而且分析也很到位,这里我就不写了,直接引用别人,尊重别人的劳动成果. 2. 参考如下: (1)Android 开源框架Universal-Image-Loa ...

  5. fill & stroke

    - (void)stroke Draws a line along the receiver’s path using the current drawing properties. - (void) ...

  6. python3通过qq邮箱发送邮件

    python3通过qq邮箱发送邮件 0.了解qq邮箱的SMTP QQ邮箱 POP3 和 SMTP 服务器地址设置如下: 邮箱 POP3服务器(端口995) SMTP服务器(端口465或587) qq. ...

  7. Spring(一)之概括与架构

    个人说明: 下面有一部分引用该链接:https://www.tutorialspoint.com/spring/spring_architecture.htm 另外一部分加上我个人的使用经验和体会 之 ...

  8. shell脚本排坑

    jenkins用来输出日志: tail -f  /tmp/i.log   & { sleep 15; eval 'kill -9 $!' &> /dev/null; } 去时间秒 ...

  9. Bayesian Theorem

  10. MVC与MVVM之间在IOS中的区别

    作为一个iOS开发者,我不止一次听到我的一些开发者朋友跟我说我写的iOS代码看起来好舒服,很整洁,为什么咱们iOS开发的相当一大部分应用软件都给人以美的享受,究竟是什么使得iOS上的应用可以如此漂亮? ...