20165236郭金涛 预备作业3 Linux安装及学习
我在Linux安装过程遇到的问题:
1、“不能为虚拟电脑XX打开一个新任务”:
出现这种情况是电脑没有开启blos,解决方法是:开机进入联想界面的时候,直接按F2可以快速进入选择开启blos。
Linux学习
第一章 Linux简介
主要介绍了操作系统的基本概念, Linux 的历史,Linux 与 Windows 的区别等知识。
免费使用
安全性高
效率高
可定制性
应用范畴广
第二章 基本概念及操作
使用 Linux 时,不是直接与系统打交道,而是通过 Shell 来完成的。
Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。
Ubuntu 终端默认使用的是 bash。
创建文件touch file
进入目录cd /etc/
查看当前目录pwd
常用快捷键
| 按键 | 作用 |
|---|---|
| Tab | 命令补全 |
| Ctrl+c | 强行终止当前程序 |
| Ctrl+d | 键盘输入结束或退出终端 |
| Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
| Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg |
| Ctrl+a | 将光标移至输入行头,相当于Home键 |
| Ctrl+e | 将光标移至输入行末,相当于End键 |
| Ctrl+k | 删除从光标所在位置到行末 |
| Alt+Backspace | 向前删除一个单词 |
| Shift+PgUp | 将终端显示向上滚动 |
| Shift+PgDn | 将终端显示向下滚动 |
| ↑ | 历史输入命令 |
{string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
{c1..c2}| 匹配 c1-c2 中全部字符 如{1..10}
banner主要程序
安装
$ sudo apt-get update
$ sudo apt-get install sysvbanner
打印
$ banner shiyanlou
字体改变
$ printerbanner -w 50 A
第三章 用户及文件权限管理
- 查看用户
$ who am i$ who mom likes - who命令
| 参数 | 说明 |
|---|---|
| -a | 打印能打印的全部 |
| -d | 打印死掉的进程 |
| -m | 同am i,mom likes |
| -q | 打印当前登录用户数及用户名 |
| -u | 打印当前登录用户登录信息 |
| -r | 打印运行等级 |
- 新建用户
$ sudo adduser lilei - 切换登录用户
$ su -l lilei - 退出
exit或Ctrl+d 查看自己属于哪些用户组
1.groups命令
$ groups shiyanlou2.查看/etc/group/文件
$ cat /etc/group | sort
过滤信息$ cat /etc/group | grep -E "shiyanlou"将其他用户加入sudo用户组
$ su shiyanlou
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei
- 删除用户
$ sudo deluser lilei --remove-home 变更文件所有者
$ cd /home/lilei $ ls iphone6 $ sudo chown shiyanlou iphone6修改文件权限
$ chmod 700 iphone6$ chmod go-rw iphone6
第四章 Linux目录结构及文件基本操作
- Linux目录与Windows目录的区别
- Linux以目录为主,Windows以存储介质为主
- FHS标准

- 目录路径
- 进入上一级目录
$ cd .. - 进入你的home目录
$ cd ~ - 使用pwd获取当前目录
$ pwd
- 绝对路径:以根" / "目录为起点的完整路径,以你所要到的目录为终点
- 相对路径:以当前目录 . 为起点,以你所要到的目录为终点
- Linux文件的基本操作
- 新建空白文档
touch命令 - 新建目录
mkdir命令,使用-p同时创建父目录,例$ mkdir -p father/son/grandson - 复制文件
cp命令,例$ cp test father/son/grandson - 复制目录,
cp加上-r或-R,例$ cp -r father family - 删除文件:
rm,强制删除-f - 删除目录:
rm命令加上-r或-R 移动文件:
mv,例$ mkdir Documents $ mv file1 Documents- 重命名文件:
$ mv file1 myfile 批量重命名:
# 使用通配符批量创建 5 个文件:
$ touch file{1..5}.txt
# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
$ rename 's/\.txt/\.c/' *.txt
# 批量将这 5 个文件,文件名改为大写:
$ rename 'y/a-z/A-Z/' *.c
- 查看文件
cat,tac,nl - 分页查看文件
more,less - 查看文件类型,例
$ file /bin/ls - 编辑文件,例
$ vimtutor
第五章 环境变量与文件查找
- 创建变量
$ declare tmp - 给变量赋值
$ tmp=shiyanlou - 读取变量的值
$ echo $tmp - 环境变量

与环境变量相关的命令:set,env,export
| 命 令 | 说 明 |
|---|---|
| set | 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 |
| env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。 |
| export | 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。 |

- 永久生效
Linux变量分为,永久的和临时的。/etc/bashrc 存放shell变量
/etc/profile 环境变量,永久生效
- 命令的查找路径和顺序
- 查看path环境变量
$ echo $PATH - 创建一个shell脚本文件
$ gedit hello_shell.sh - 为文件添加可执行权限
$ chmod 755 hello_shell.sh - 执行脚本
$ ./hello_shell.sh - 创建一个C语言“hello world”程序
$ gedit hello_world.c - 保存后使用 gcc 生成可执行文件
$ gcc -o hello_world hello_world.c 创建目录并移动文件至其中,例:
$ mkdir mybin $ mv hello_shell.sh hello_world mybin/
- 添加自定义路径到'PATH'环境变量
添加自定义路径$ PATH=$PATH:/home/shiyanlou/mybin
添加内容 $ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
- 修改和删除已有变量
- 变量修改
变量设置方式 说明 ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据 ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据 ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据 ${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据 ${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串 ${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串 - 变量删除
$ unset temp
- 如何让环境变量立即生效
source命令,例$ source .zshrcsource命令的别名.,例$ source .zshrc
- 搜索文件
whereis简单快捷,例$ whereis wholocate快而全,例$ locate /etc/sh、$ locate /usr/share/\*.jpgwhich小而精,例$ which manfind精而细,例$ sudo find /etc/ -name interfaces- 与时间相关的命令参数
参数 说明 -atime 最后访问时间 -ctime 最后修改文件内容的时间 -mtime 最后修改文件属性的时间
第六章 文件打包和压缩
- 常用压缩包文件格式
| 文件后缀名 | 说明 |
|---|---|
| *.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
使用zip打包文件夹,例:
$ zip -r -q -o shiyanlou.zip /home/shiyanlou $ du -h shiyanlou.zip $ file shiyanlou.zip设置压缩级别打包,例:
$ 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 -h -d 0 *.zip ~ | sort
- 创建加密zip包
$ zip -r -l -e -o shiyanlou_encryption.zip /home/shiyanlou
- 解压缩文件
$ unzip shiyanlou.zip - 安静模式解压缩
$ unzip -q shiyanlou.zip -d ziptest - 不解压查看压缩包内容
$ unzip -l shiyanlou.zi
指定编码类型unzip -O GBK 中文压缩文件.zip
- rar
- 安装工具
$ 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 x shiyanlou.rar
- 去路径解压
$ mkdir tmp
$ unrar e shiyanlou.rar tmp/
- tar(最常用)
- 创建tar包
$ tar -cf shiyanlou.tar ~
- 解包一个文件到指定目录
$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir
- 只查看不解包文件
$ tar -tf shiyanlou.tar
- 保留文件属性和跟随链接
$ tar -cphf etc.tar /etc
- gzip压缩文件
$ tar -czf shiyanlou.tar.gz ~
- 解压*.tar.gz文件
$ tar -xzf shiyanlou.tar.gz
- 其他格式
| 压缩文件格式 | 参数 |
|---|---|
| *.tar.gz | -z |
| *.tar.xz | -J |
| *tar.bz2 | -j |
第七章 文件系统操作和磁盘管理
- 查看磁盘和目录的容量
df命令,加上-h更易读 du命令查看目录容量
| 参数 | 作用 |
|---|---|
| du -h | 同--human-readable 以K,M,G为单位,提高信息的可读性。 |
| $ du -h -d | 指定查看目录的深度 |
| du -a | 同--all 显示目录中所有文件的大小。 |
| du -s | 同--summarize 仅显示总计,只列出最后加总的值。 |
创建虚拟磁盘
创建虚拟镜像文件
$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img
- 格式化磁盘
$ sudo mkfs.ext4 virtual.img
- 挂在磁盘到目录树
- 查看已经挂载的文件系统
$ sudo mount - 挂载真正的磁盘到目录树
mount [options] [source] [directory] - 常用操作
mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点] - 例:
$ mount -o loop -t ext4 virtual.img /mnt
# 也可以省略挂载类型,很多时候 mount 会自动识别
# 以只读方式挂载
$ mount -o loop --ro virtual.img /mnt
# 或者mount -o loop,ro virtual.img /mnt
- 卸载已挂载磁盘
$ sudo umount /mnt - 为磁盘分区
- 查看硬盘分区表信息
$ sudo fdisk -l - 进入磁盘分区模式
$ sudo fdisk virtual.img
p查看结果
- 查看硬盘分区表信息
- 建立镜像与回环设备的关联
losetop命令
步骤如下:
- 参看所有回环设备
$ sudo losetup /dev/loop0 virtual.img - 解除设备关联
$ sudo losetup -d /dev/loop0 安装
kpartx工具$ sudo apt-get install kpartx $ sudo kpartx -av /dev/loop0 # 取消映射 $ sudo kpartx -dv /dev/loop0- 格式化
新建四个空目录用于挂载虚拟磁盘:
$ mkdir -p /media/virtualdisk_{1..3}
# 挂载磁盘分区
$ sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
$ sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
$ sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3
# 卸载磁盘分区
$ sudo umount /dev/mapper/loop0p1
$ sudo umount /dev/mapper/loop0p5
$ sudo umount /dev/mapper/loop0p6
$ df -h命令检查结果
第八章 Linux下的帮助命令
内建命令与外部命令
- 内建命令:shell程序的一部分,包含一些简单的Linux系统命令,不需要创建子进程,执行速度比外部命令快
- 外部命令:Linux系统中的实用程序部分,包含的程序量很大,命令执行过程由shell程序控制
用
type命令区分内建命令和外部命令.
20165236郭金涛 预备作业3 Linux安装及学习的更多相关文章
- 20165226 预备作业3 Linux安装及学习
20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- 20165327 预备作业3 Linux安装及学习
20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...
- 20165303 预备作业3 Linux安装及学习
=20165303 预备作业3 Linux安装及学习 安装虚拟机 按照http://www.cnblogs.com/rocedu/p/6012545.html步骤进行逐步操作,安装虚拟机. 遇到的问题 ...
- 20165315 预备作业3 Linux安装及学习
20165315 预备作业3 Linux安装及学习 一.在自己笔记本上安装Linux操作系统 因为对操作电脑的不熟悉,我在第一项任务上就花费了一定的时间,在安装过程有如下问题: 我的电脑是苹果公司的M ...
- 20165310 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 安装虚拟机 之前在win7系统下通过EasyBCD安装过Ubuntu虚拟机,这次阅读<基于VirtualBox虚拟机安装Ubuntu图文教程>又学习到了一 ...
- 20165211 预备作业3 Linux安装与学习
20165211 预备作业3 Linux安装与学习 1. Linux安装 涉及软件:VirtualBox,Ubuntu 参考教程:基于VirtualBox安装Ubuntu图文教程 安装过程的问题 在安 ...
- 20165227朱越 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux的安装 虚拟机的安装远没有想象中的那样容易,下载还没有出现什么问题,当我安装的时候,第一个问题出现在创建虚拟机时选择安装的虚拟机版本和类型的时候的错误 当时 ...
- 20165333 预备作业3 Linux安装及学习
预备作业3 Linux安装及学习 Linux系统安装 在老师的教程帮助下成功的完成了虚拟机的安装,但安装过程中也遇到了一些问题.在下载ubuntu时,总是下载失败,在求助同学后,在中文版官网的网址,才 ...
随机推荐
- wchar_t和char转化
char* WcharToChar(const wchar_t* wp) { char *m_char; int len = WideCharToMultiByte(CP_ACP, 0, wp, wc ...
- yii2优化 - 开启 Schema 缓存
开启 Schema 缓存 Schema 缓存是一个特殊的缓存功能,每当你使用活动记录时应该要开启这个缓存功能.如你所知, 活动记录能智能检测数据库对象的集合(例如列名.列类型.约束)而不需要手动地描述 ...
- js20130114
01.js(FirstJavaScrpty)第一个个javascript 1. Document.write("");//这个是在页面上输出一段信息 ; 例如:document ...
- thinkphp中setInc、setDec方法
可用于统计字段(通常是数字类型的字段)的更新,例如积分,等级,登陆次数等 必须配合连贯操作where一起使用 score 是数据库指定的某个字段 $User = M("User" ...
- 安装ReactNative开发IDE
https://blog.csdn.net/u014484863/article/details/51554428 https://github.com/reactnativecn/react-nat ...
- webstorm 智能提示忽略大小写
setting-Editor-General-Code Completion里的 Case sensitive completion: 可以设置只第一个字母敏感.完全敏感或者不敏感. 选择none.. ...
- manifold 微分流形上可以定义可微函数、切向量、切向量场、各种张量场等对象并建立其上的分析学,并可以赋予更复杂的几何结构以研究它们的性质。
小结: 1.流形(英语:Manifolds)一般可以通过把许多平直的片折弯并粘连而成,是局部具有欧几里得空间性质的空间,是欧几里得空间中的曲线.曲面等概念的推广 2.描述一个流形往往需要不止一个“地图 ...
- ionic cordova screenshot 使用和操作
如何调用cordova 中的screenshot插件进行截图 首先添加 ionic cordova plugin add com.darktalker.cordova.screenshot npm i ...
- CS231n: Convolutional Neural Networks for Visual Recognition
https://zhuanlan.zhihu.com/p/28522637 https://zhuanlan.zhihu.com/p/21930884 mark
- 分析占用了大量 CPU 处理时间的是Java 进程中哪个线程
下面是详细步骤: 1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看 2. 查看该进程中哪个线程占用大量 CPU,执行 top -H -p [PID] 结果如下: 可以发 ...