20165330 预备做业3 Linux安装及学习

虚拟机安装

  • 在安装VirtualBox时个人电脑一直打不开官网的下载地址,还好后面有能够打开了,因而我顺利的下载好了VirtualBox。而在运行出现了如下错误:
  • 错误1:点击建立虚拟机时出现了如下提示
    image
  • 解决方法(对个人电脑是适用的):html

    (1) 对VirtualBox的图标点击右键->属性->兼容性;

    (2) 把VirtualBox的兼容模式改成Win7之外便可,以下图:
    image
    (3)点击肯定后在运行就能够了linux

  • 错误2:建立好虚拟电脑后点击虚拟电脑出现
    image
  • 解决方法:shell

    我在百度上查找了好多,感受比较靠谱的是这两个:"不能为虚拟电脑打开一个新任务"解决方法Virtualbox中不能为虚拟机打开一个新任务的缘由及解决方法,我尝试了第二个连接的方法可是失败了致使电脑黑屏。。我找了一个叔叔帮我修复,在修复过程当中感受方法跟第二个中的方法同样,多是个人操做不当,最后个人电脑好了虚拟机也没有了上面的问题。bash

  • 错误3:在安装加强功能时输完命令后出现
    image
  • 解决方法:iphone

    我在百度上搜查如何使用VirtualBox软件加强功能安装,找到了Ubuntu虚拟机怎么使用VirtualBox软件加强功能安装,在此基础上我又按照老师的步骤打开终端输入命令下载成功。函数

Linux学习

第一节工具

  • Linux:是一个操做系统,主要是系统调用和内核两层。
  • 操做系统在整个计算机系统中的角色
    image
  • 学习路径:
    image

第二节oop

  • 终端:经过一个叫作 Shell 的中间程序来完成的,在图形界面下为了实现让咱们在一个窗口中完成用户输入和显示输出。
  • 常见的终端模拟器:gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm。
  • 快捷键:
按键 效果
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,至关于Home键
Ctrl+e 将光标移至输入行末,至关于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
Ctrl+c 中断或结束命令
Tab 进行命令补全,补全目录,补全命令参数等
Ctrl+Alt+F1~F6 切换用户登陆
Ctrl+Alt+F7 切换回图形界面
Shift+n 上一关键字所在处
  • 通配符:一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(好比文件名、参数名)。
字符 含义
* 匹配0或多个字符
匹配任意一个字符
[list] 匹配list中的任意单一字符
.... ...
  • man命令:NIX 或类 UNIX 操做系统中在线软件文档的一种广泛的形式
  • 做业截图:
    image

第三节学习

  • 查看用户:打开终点输入如下命令
    image
  • 建立用户:使用sudo命令建立ui

    $ sudo adduser 用户名

建立好使用下命令切换到新建立用户
image
注意:Linux下密码输入是不显示任何内容的

  • 用户组查看方法:
    • group命令
      image
    • 查看/etc/group文件
      image
    • 将其它用户加入 sudo 用户组

      默认状况下新建立的用户是不具备 root 权限的,也不在 sudo 用户组,可让其加入 sudo 用户组从而获取 root 权限
      image

  • 删除用户:
    image
  • Linux文件权限
    • 查看文件权限命令及过程:

      $ ls -1
      image
      image

    • 变动文件全部者:
      若前面已经执行删除lilei用户的命令,这里从新建立一下。
      假设目前是 lilei 用户登陆,新建一个文件,命名为 “ iphone6 ”:

      $ touch iPhone6

    可见文件全部者是 lilei :
    image
    如今,换回到 shiyanlou用户身份,使用如下命令变动文件全部者为 shiyanlou :

    image

    如今查看,发现 文件全部者成功修改成 shiyanlou :
    image
  • 修改文件权限:

方式一:二进制数字表示:
$ echo "echo "hello shiyanlou"" > iphone6
$ chmod 700 iphone6

方式二:加减赋值操做:
$ chmod go-rw iphone6
其中gou分别表示group、others和user,+-分别表示增长和去掉相应的权限,r为可读,w为可写。上面代码表示去掉权限,其余户可读可写iPhone6这个文件。

第四节

  • Linux目录结构
    • FHS标准:
      image
      FHS依据文件系统使用的频繁与否以及是否容许用户随意改动,将目录定义为四种交互做用的形态,以下表所示:
      image
    • 目录路经:
命令 做用
$ cd . 当前目录
$ cd .. 进入上一级目录
$ cd ~ 进入home目录
$ pwd 获取当前路径
$ cd /usr/local/bin 绝对路径
$ cd ../../usr/local/bin 相对路径
  • Linux 文件的基本操做
命令 做用
$ touch 用户名 建立空白文件
$ mkdir mydir 建立空目录
$ mkdir -p father/son/grandson 建立多级目录
$ cp test father/son/grandson 复制一个文件到指定目录
$ cp -r father family 递归复制目录
$ rm test 删除一个文件
$ rm -f test 强制删除文件
$ rm -r family 删除一个目录
$ mkdir Documents + $ mv file1 Documents 将文件“file1”移动到 “Documents”目录
$ mv file1 myfile 将文件“ file1 ”重命名为“ myfile ”
$ cat passwd 查看“passwd”文件
$ cat -n passwd 可显示文件行号
$ more passwd 打开“passwd”文件
$ tail /etc/passwd 查看“passwd”文件
$ tail -n 1 /etc/passwd 只看第几行
$ file /bin/ls 查看文件类型

第五节

  • 环境变量
    • 变量:即 Shell变量,所谓变量就是计算机中用于记录一个值(不必定是数值,也能够是字符或字符串)的符号,而这些符号将用于不一样的运算处理中。

      变量的做用域即变量的有效范围(好比一个函数中、一个源文件中或者全局范围),在该范围内只能有一个同名变量。一旦离开则该变量无效,如同不存在这个变量通常。

命令 做用
$ declare 变量名 建立一个变量
$ tmp=shiyanlou 对tmp这个变量进行赋值
$ echo $tmp 读取变量的值

注意:并非任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字做为开头。

  • 环境变量:
    • 分类:
      1. 当前 Shell进程私有用户自定义变量,如上面咱们建立的 tmp 变量,只在当前 Shell 中有效。
      2. Shell 自己内建的变量。
      3. 从自定义变量导出的环境变量。
    • Linux变量:
      1. 永久的:须要修改配置文件,变量永久生效;
      2. 临时的:使用 export 命令行声明便可,变量在关闭 shell 时失效。
  • 命令的查找路径与顺序:
命令 做用
$ echo $PATH 查看 PATH 环境变量的内容
$ gedit hello_shell.sh 建立一个Shell脚本文件
$ chmod 755 hello_shell.sh 为文件添加可执行权限
$ ./hello_shell.sh 执行脚本
  • 添加自定义路径到“PATH”环境变量:

    $ PATH=$PATH:/home/shiyanlou/mybin

  • 修改和删除已有变量:
    • 修改:

      $ path=$PATH
      $ echo $path
      $ path=${path%/home/shiyanlou/mybin}# 或使用通配符,表示任意多个任意字符
      $ path=${path%
      /mybin}

    • 删除:

      $ unset temp

  • 关于搜索文件
    与搜索相关的命令经常使用的有 whereis,which,find 和 locate 。

$whereis who

$ locate /etc/sh

$ locate /usr/share/*.jpg

$ which man

$ sudo find /etc/ -name interfaces

  • 做业截图:
    image

第六节

  • 压缩文件后缀
>文件后缀名 说明
*.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程序压缩的文件
  • zip压缩打包程序
    • 打包文件夹
      image
  • 设置压缩级别及查看级别
    image
    • 建立加密压缩包

      $ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou

  • 解压缩zip文件
    • shiyanlou.zip解压到当前目录

      $ unzip shiyanlou.zip

    • 使用安静模式,将文件解压到指定目录

      $ unzip -q shiyanlou.zip -d ziptest

    • 查看压缩包的内容

      $ unzip -l shiyanlou.zip

  • rar打包压缩命令
  1. 安装 rar 和 unrar 工具

    $ sudo apt-get update
    $ sudo apt-get install rar unrar

  2. 从指定文件或目录建立压缩包或添加文件到压缩包

    $ rm *.rar
    $ rar a shiyanlou.rar .

  3. 从指定压缩包文件中删除某个文件

    $ rar d shiyanlou.rar .zshrc

  4. 查看不解压文件

    $ rar l shiyanlou.rar

  5. 使用 unrar 解压 rar 文件

    $ unrar x shiyanlou.rar

  • tar工具
  1. 建立一个tar包

    $ tar -cf shiyanlou.tar ~

  2. 打包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)

    $ du -h shiyanlou.tar

  3. 解包

    $ tar -zxvf something.tar

  • 做业截图:
    image
    image

第七节

  • 查看磁盘和目录的容量

    $ df
    经常使用参数:
    $ du -h #同--human-readable以K,M,G为单位,提升信息的可读性。
    $ du -a #同--all显示目录中全部文件的大小。
    $ du -s #同--summarize仅显示总计,只列出最后加总的值。

  • 磁盘管理
  1. 使用 dd 命令建立虚拟镜像文件

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

  2. 使用 mkfs命令格式化磁盘(咱们这里是本身建立的虚拟磁盘镜像)

    $ sudo mkfs.ext4 virtual.img

  3. 使用 mount 命令挂载磁盘到目录树

    $ sudo mount

  4. 使用 umount 命令卸载已挂载磁盘

    命令格式 sudo umount 已挂载设备名或者挂载点,如:
    $ sudo umount /mnt

ps:因为咱们环境的问题(环境中使用的 Linux 内核在编译时没有添加对 Loop device的支持),因此你将没法挂载成功

  1. 使用 fdisk 为磁盘分区

    $ sudo fdisk -l

  2. 进入磁盘分区模式

    $ sudo fdisk virtual.img

第八节

  • 内建命令

    内建命令其实是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,一般在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。并且解析内部命令 shell 不须要建立子进程,所以其执行速度比外部命令快。好比:history、cd、exit 等等。

  • 外部命令

    外部命令是Linux系统中的实用程序部分,由于实用程序的功能一般都比较强大,因此其包含的程序量也会很大,在系统加载时并不随系统一块儿被加载到内存中,而是在须要时才将其调用内存。虽然其不包含在shell中,可是其命令执行过程是由shell程序控制的。外部命令是在Bash以外额外安装的,一般放在/bin,/usr/bin,/sbin,/usr/sbin等等。好比:ls、vi等。

  • type 命令来区分命令是内建的仍是外部的

    $ type 命令名
    xxx is a shell builtin //若是结果是这样那么这是内建命令
    xxx is /usr/sbin/xxx //若是结果是这样那么这是外建命令

  • 帮助命令
  1. help命令:zsh 中内置并无 help 命令,咱们能够进入 bash 中,在 bash 中内置有该命令

    $ bash
    help ls //用于内建命令
    ls --help //用于外建命令

  2. man命令:无内建与外部命令的区分

    man ls

  3. info 命令:bash自带有的命令

    info ls

相关文章
相关标签/搜索