20165327 预备作业3 Linux安装及学习

一、学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和Ubuntu

虚拟机的安装还比较顺利,安装系统时候出了一点问题。

只是在安装 ubuntu时候出现了一点问题,所以实验都是在实验楼的环境里完成的

如下图 回学校后解决



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

首先解开我心里面的疑惑,Linux是什么?是一种操作系统!

另外Linux学习应用的一个特点是通过命令行进行使用。

操作系统操作系统为你完成所有“硬件相关、应用无关”的工作,以给你方便、效率、安全。操作系统的功能我总结为两点:管家婆和服务生:

管家婆:通过进程、虚拟内存和文件三个重要抽象管理计算机的CPU、内存、I/O设备。

服务生:为用户提供shell,为程序员提供系统调用。

三、实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节。

(一)Linux系统的简介

(二)基本概念及操作

(三)用户及文件权限管理

1、查看用户

输入命令:

$ who am i

或者

$ who mom likes

  • who命令其他常用参数:

    -a打印能打印的全部

    -d打印死掉的进程

    -m同am i,mom likes

    -q打印当前登录用户数及用户名

    -u打印当前登录用户登录信息

    -r打印运行等级

2、创建用户

su< user> (注:中间没有空格,暂时没有解决的基本语法问题,下同)可以切换到用户 user

sudo < cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组

su - < user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量

$ ls /home这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录

使用如下命令切换登录用户:

 $ su -l lilei
$ sudo adduser lilei

3、在 Linux里面如何知道自己属于哪些用户组呢?

方法一:使用 groups 命令

$ groups shiyanlou

方法二:查看/etc/group文件

$ cat /etc/group | sort

使用命令过滤掉一些你不想看到的结果:

$ cat /etc/group | grep -E "shiyanlou"

4、用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:

$ su shiyanlou
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei

5、删除用户

$ sudo deluser lilei --remove-home

变更文件所有者

$ touch iphone6

可见文件所有者是 lilei

现在,换回到 shiyanlou 用户身份,使用以下命令变更文件所有者为 shiyanlou :

$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6
$ ll iphone6

6、修改文件权限

方式一:二进制数字表示

为了演示,先在文件里加点内容:

$ echo "echo \"hello shiyanlou\"" > iphone6

然后修改权限:

$ chmod 700 iphone6

现在,其他用户已经不能读这个iphone6文件了

(四) Linux 目录结构

1、FHS 标准

$ sudo apt-get update
$ sudo apt-get install tree
$ tree /

2、目录路径

使用 cd 命令可以切换目录,在 Linux 里面使用. 表示当前目录,.. 表示上一级目录(以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,可以使用 ls -a 命令查看隐藏文件),- 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

进入上一级目录:

$ cd ..

进入 home 目录:

$ cd ~

使用 pwd 获取当前路径:

$ pwd

3、新建空白文件

$ touch test

新建目录

创建名为“ mydir ”的空目录:

$ mkdir mydir

使用-p 参数同时创建父目录(如果不存在该父目录):

$ mkdir -p father/son/grandson

4、复制文件

$ cp test father/son/grandson

复制目录

$ cp -r father family

5、删除文件

$ rm test

强制删除文件

$ rm -f test

删除目录

$ rm -r family

6、移动文件

将文件“ file1 ”移动到 Documents 目录:

$ mkdir Documents
$ mv file1 Documents

7、重命名文件

将文件“ file1 ”重命名为“ myfile ”:

$ mv file1 myfile

8、批量重命名

使用通配符批量创建 5 个文件:

$ touch file{1..5}.txt

批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:

$ rename 's/\.txt/\.c/' *.txt

批量将这 5 个文件,文件名改为大写:

$ rename 'y/a-z/A-Z/' *.c

9、查看文件

使用 cat,tac 和 nl 命令查看文件(其中 cat 为正序显示,tac 为倒序显示)

比如查看passwd 文件:

$ cat passwd

可以加上 -n 参数显示行号:

$ cat -n passwd

使用 head 和 tail 命令查看文件

$ tail /etc/passwd

只看一行:

$ tail -n 1 /etc/passwd

查看文件类型:

$ file /bin/ls

(五) 环境变量与文件查找

1、创建一个变量

$ declare tmp

使用 "=" 号赋值运算符,将变量 tmp 赋值为 shiyanlou:

$ tmp=shiyanlou

读取变量的值,使用 echo 命令和 $ 符号:

$ echo $tmp

2、环境变量

创建一个 Shell 脚本文件:

$ gedit hello_shell.sh

在脚本中添加如下内容,保存并退出:

#!/bin/bash

for ((i=0; i<10; i++));do
echo "hello shell"
done exit 0

为文件添加可执行权限:

$ chmod 755 hello_shell.sh

执行脚本:

$ ./hello_shell.sh

创建一个 C 语言“ hello world ”程序:

$ gedit hello_world.c
#include <stdio.h> int main(void)
{
printf("hello world!\n");
return 0;
}

保存后使用 gcc 生成可执行文件:

$ gcc -o hello_world hello_world.c

在 shiyanlou 家目录创建一个 mybin 目录,并将上述 hello_shell.sh 和 hello_world文件移动到其中:

$ mkdir mybin
$ mv hello_shell.sh hello_world mybin/

现在可以在 mybin 目录中分别运行刚刚创建的两个程序:

$ cd mybin
$ ./hello_shell.sh
$ ./hello_world

3、变量删除

$ unset temp

4、搜索文件

whereis 简单快速:

$whereis who

locate 快而全:

$ locate /etc/sh

查找/usr/share/下所有 jpg 文件:

$ locate /usr/share/\*.jpg

which 小而精:

$ which man

find 精而细:

$ sudo find /etc/ -name interfaces

(六)文件打包与压缩

1、zip 压缩打包程序

使用 zip 打包文件夹:

$ zip -r -q -o shiyanlou.zip /home/shiyanlou
$ du -h shiyanlou.zip
$ file shiyanlou.zip

设置压缩级别为 9 和 1(9 最大,1 最小),重新打包:

$ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
$ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip

再用 du 命令分别查看默认压缩级别、最低、最高压缩级别及未压缩的文件的大小:

$ du -h -d 0 *.zip ~ | sort

创建加密 zip 包

使用 -e 参数可以创建加密压缩包:

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

2、使用 unzip 命令解压缩 zip 文件

将 shiyanlou.zip 解压到当前目录:

$ unzip shiyanlou.zip

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

$ unzip -q shiyanlou.zip -d ziptest

3、rar 打包压缩命令

安装 rar 和 unrar 工具:

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

从指定文件或目录创建压缩包或添加文件到压缩包:

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

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

$ rar d shiyanlou.rar .zshrc
  • 查看不解压文件:
$ rar l shiyanlou.rar

使用 unrar 解压 rar 文件全路径解压:

$ unrar x shiyanlou.rar

去掉路径解压:

$ mkdir tmp
$ unrar e shiyanlou.rar tmp/

4、tar 打包工具

创建一个 tar 包:

$ tar -cf shiyanlou.tar ~

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

$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir

只查看不解包文件 -t参数:

$ tar -tf shiyanlou.tar

保留文件属性和跟随链接:

$ tar -cphf etc.tar /etc

创建不同的压缩格式的文件:

在创建 tar 文件的基础上添加 -z参数,使用 gzip 来压缩文件:

$ tar -czf shiyanlou.tar.gz ~

解压 *.tar.gz 文件:

$ tar -xzf shiyanlou.tar.gz
  • 总结zip 命令和tar命令

    ** zip**

    打包 :zip something.zip something (目录请加 -r 参数)

    解包:unzip something.zip

    指定路径:-d 参数

    ** tar**

    打包:tar -zcvf something.tar something

    解包:tar -zxvf something.tar

    指定路径:-C 参数

(七) 文件系统操作与磁盘管理

1、基本操作

df命令查看磁盘的容量

du命令查看目录的容量

加上-h参数,以更易读的方式展示

$ du –h

-d参数指定查看目录的深度

2、简单的磁盘管理

使用dd命令创建虚拟镜像文件

转换成大写再写入文件

$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase

使用mkfs命令格式化磁盘

使用mount命令挂在磁盘到目录树

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

使用fdisk为磁盘分区

使用losetup命令建立镜像与回环设备的关联

(八)Linux下的帮助命令

1、内建命令与外部命令

使用type命令来区分命令是内建的还是外部的

$ type exit

或者

$ type service

2、帮助命令的使用

help命令

Help命令用于显示 shell 内建命令的简要帮助信息。如果是外部命令的话基本上都有一个参数—help

$ ls -- help

man命令

得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分。

info命令

要是觉得man显示的信息都还不够,满足不了需求,那试试info命令(最详细)

部分课后小作业效果图



20165327 预备作业3 Linux安装及学习的更多相关文章

  1. 20165226 预备作业3 Linux安装及学习

    20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...

  2. 20165230 预备作业3 Linux安装及学习

    20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...

  3. 20165303 预备作业3 Linux安装及学习

    =20165303 预备作业3 Linux安装及学习 安装虚拟机 按照http://www.cnblogs.com/rocedu/p/6012545.html步骤进行逐步操作,安装虚拟机. 遇到的问题 ...

  4. 20165315 预备作业3 Linux安装及学习

    20165315 预备作业3 Linux安装及学习 一.在自己笔记本上安装Linux操作系统 因为对操作电脑的不熟悉,我在第一项任务上就花费了一定的时间,在安装过程有如下问题: 我的电脑是苹果公司的M ...

  5. 20165310 预备作业3 Linux安装及学习

    预备作业3 Linux安装及学习 安装虚拟机 之前在win7系统下通过EasyBCD安装过Ubuntu虚拟机,这次阅读<基于VirtualBox虚拟机安装Ubuntu图文教程>又学习到了一 ...

  6. 20165211 预备作业3 Linux安装与学习

    20165211 预备作业3 Linux安装与学习 1. Linux安装 涉及软件:VirtualBox,Ubuntu 参考教程:基于VirtualBox安装Ubuntu图文教程 安装过程的问题 在安 ...

  7. 20165227朱越 预备作业3 Linux安装及学习

    预备作业3 Linux安装及学习 Linux的安装 虚拟机的安装远没有想象中的那样容易,下载还没有出现什么问题,当我安装的时候,第一个问题出现在创建虚拟机时选择安装的虚拟机版本和类型的时候的错误 当时 ...

  8. 20165333 预备作业3 Linux安装及学习

    预备作业3 Linux安装及学习 Linux系统安装 在老师的教程帮助下成功的完成了虚拟机的安装,但安装过程中也遇到了一些问题.在下载ubuntu时,总是下载失败,在求助同学后,在中文版官网的网址,才 ...

  9. 20165219 预备作业3 Linux安装及学习

    20165219 预备作业3 Linux安装及学习 安装虚拟机 在安装的过程中遇到了不少的问题,在同学的帮助下都得到了解决.比如在新建虚拟机的时候没有64位这个选项,后来知道需要开启虚拟化,然后是安装 ...

随机推荐

  1. os模块,os.path模块,subprocess模块,configparser模块,shutil模块

    1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir(&q ...

  2. scrapy 关于特殊字符的处理

    今天scrapy 发送一段url的时候,如下 http://apis.map.qq.com/lbscloud/v1/poi/search?poi_table=gas_station&key=R ...

  3. FireMonkey 源码学习(6)

    (6)GetGlyph和GetBaseline TFontGlyphManager是一个抽象类,在不同平台上的实现是不同的,以Windows为例,在FMX.FontGlyphs.Win.pas文件中定 ...

  4. CSS的初了解(更新中···)

    在前面,我们学习了html的结构.基本骨架.起名方式和选择器,接下来,我们就要学习CSS了. 首先,我们要知道CSS是什么. CSS 全称叫层叠样式表,作用是给html添加样式style,添加属性. ...

  5. CodeChef - MRO Method Resolution Order(打表)

    题意:有一种关系叫继承,那么继承父类的同时也会继承他的一个函数f,能继承任意多个父类或不继承,但不能继承自己的子类.现在规定一个列表,这个列表必须以1~N的顺序排列,并且父类不会排在子类后面,1含有一 ...

  6. 关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset)

    关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset) 2018-01-22  21:49:17 ...

  7. Windows10状态栏右下角的上升三角号没有了

    闲着没事装了360和电脑管家,捣鼓了下里面的功能,好像是弄了桌面整理和主题之后出现了这个问题,刚开始还以为因为清理卸载软件把系统的这项功能给卸载了,其实原因很简单,相信看完解决这个问题的方案你就明白了 ...

  8. Unity3D学习笔记(三十二):Xlua(2)

    Xlua支持通过子类对象访问父类的变量属性和方法   对于C#的ref,out参数的方法 当调用的时候:out类型的参数是不需要传递实参的,普通的参数和ref参数需要传递实参. out,ref传出值通 ...

  9. Introducing GitFlow

    Introducing GitFlow What Is GitFlow? GitFlow is a branching model for Git, created by Vincent Driess ...

  10. facebook api之Business Manager API

    Business-scoped Users - The new user is tied to a particular business and has permissions scoped to ...