学习基于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. Python2.7 - IMOOC - 3

    第三章 Python变量和数据类型 3-4.变量 变量名必须是大小写英文.数字和下划线(_)的组合,且不能用数字开头. 同一个变量可以反复赋值,而且可以是不同类型的变量,例如: a = 123 # a ...

  2. 关于由ajax返回的数据在for循环中只能取到最后一个数的问题

    关于由ajax返回的数据在for循环中只能取到最后一个数的问题 以上是来自后台的数据格式.从数据中可以看出,里面包含两个商品,每个商品价格分别为:1.98,13.60.这里我要计算两个商品的总价格,但 ...

  3. 真实世界中的 Swift 性能优化

    那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...

  4. 《metasploit渗透测试魔鬼训练营》学习笔记第九章--meterpreter

    七.强大的meterpreter  7.1再探metasploit的攻击载荷模块     7.1.1典型的攻击载荷模块     metasploit涵盖了各大主流操作系统和平台,其中绝大部分是远程漏洞 ...

  5. Convolution1D与Convolution2D区别

    以下是Convolution1D的例子: # apply a convolution 1d of length 3 to a sequence with 10 timesteps, # with 64 ...

  6. Dubbo实践(五)扩展Spring Schema

    先回顾Dubbo实践(一)中定义的dubbo-provider.xml: <?xml version="1.0" encoding="UTF-8"?> ...

  7. Struts2学习总结——文件上传与下载

    Struts2文件上传与下载 1.1.1新建一个Maven项目(demo02) 在此添加Web构面以及 struts2 构面 1.2.1配置Maven依赖(pom.xml 文件) <?xml v ...

  8. linux SVN添加新用户

    首先找到用户文件:authz.conf; 用vi 编辑authz.conf文件在develps 后面添加你要添加的用户名:如图:  上图:cheny就是我后面添加上去的用户名 按Esc :wq保存au ...

  9. Java并发编程(六)原子性与易变性

    原子性 原子是最小单元.不可再分的意思.原子性是指某个操作在获取CPU时间时,要么就给它足够时间,让这个操作执行完,要么就不执行这个操作,执行时不能出现上下文切换(把CPU时间从一个线程分配到另一个线 ...

  10. C++练习 | 掷骰子走到第n步的方法数(DFS)

    玩家根据骰子的点数决定步数,骰子点数为1的时候走一步,以此类推.求玩家走到第n步总共有多少种投骰子的方法.输入为一个整数n,输出为投骰子的方法数. #include <iostream> ...