解决方法(对个人电脑是适用的):html
(1) 对VirtualBox的图标点击右键->属性->兼容性;(2) 把VirtualBox的兼容模式改成Win7之外便可,以下图:
(3)点击肯定后在运行就能够了linux
解决方法:shell
我在百度上查找了好多,感受比较靠谱的是这两个:"不能为虚拟电脑打开一个新任务"解决方法和Virtualbox中不能为虚拟机打开一个新任务的缘由及解决方法,我尝试了第二个连接的方法可是失败了致使电脑黑屏。。我找了一个叔叔帮我修复,在修复过程当中感受方法跟第二个中的方法同样,多是个人操做不当,最后个人电脑好了虚拟机也没有了上面的问题。bash
解决方法:iphone
我在百度上搜查如何使用VirtualBox软件加强功能安装,找到了Ubuntu虚拟机怎么使用VirtualBox软件加强功能安装,在此基础上我又按照老师的步骤打开终端输入命令下载成功。函数
第一节工具
第二节oop
按键 | 效果 |
---|---|
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中的任意单一字符 |
.... | ... |
第三节学习
建立用户:使用sudo命令建立ui
$ sudo adduser 用户名
建立好使用下命令切换到新建立用户
注意:Linux下密码输入是不显示任何内容的
将其它用户加入 sudo 用户组
默认状况下新建立的用户是不具备 root 权限的,也不在 sudo 用户组,可让其加入 sudo 用户组从而获取 root 权限
查看文件权限命令及过程:
$ ls -1
变动文件全部者:
若前面已经执行删除lilei用户的命令,这里从新建立一下。
假设目前是 lilei 用户登陆,新建一个文件,命名为 “ iphone6 ”:
$ touch iPhone6
可见文件全部者是 lilei :
如今,换回到 shiyanlou用户身份,使用如下命令变动文件全部者为 shiyanlou :
修改文件权限:
方式一:二进制数字表示:
$ echo "echo "hello shiyanlou"" > iphone6
$ chmod 700 iphone6
方式二:加减赋值操做:
$ chmod go-rw iphone6
其中g、o、u分别表示group、others和user,+、-分别表示增长和去掉相应的权限,r为可读,w为可写。上面代码表示去掉权限,其余户可读可写iPhone6这个文件。
第四节
命令 | 做用 |
---|---|
$ cd . | 当前目录 |
$ cd .. | 进入上一级目录 |
$ cd ~ | 进入home目录 |
$ pwd | 获取当前路径 |
$ cd /usr/local/bin | 绝对路径 |
$ cd ../../usr/local/bin | 相对路径 |
命令 | 做用 |
---|---|
$ 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 | 读取变量的值 |
注意:并非任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字做为开头。
命令 | 做用 |
---|---|
$ 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
第六节
>文件后缀名 | 说明 |
---|---|
*.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 -r -e -o shiyanlou_encryption.zip /home/shiyanlou
将shiyanlou.zip解压到当前目录
$ unzip shiyanlou.zip
使用安静模式,将文件解压到指定目录
$ unzip -q shiyanlou.zip -d ziptest
查看压缩包的内容
$ unzip -l shiyanlou.zip
安装 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
建立一个tar包
$ tar -cf shiyanlou.tar ~
打包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)
$ du -h shiyanlou.tar
解包
$ tar -zxvf something.tar
第七节
查看磁盘和目录的容量
$ df
经常使用参数:
$ du -h #同--human-readable以K,M,G为单位,提升信息的可读性。
$ du -a #同--all显示目录中全部文件的大小。
$ du -s #同--summarize仅显示总计,只列出最后加总的值。
使用 dd 命令建立虚拟镜像文件
$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img
使用 mkfs命令格式化磁盘(咱们这里是本身建立的虚拟磁盘镜像)
$ sudo mkfs.ext4 virtual.img
使用 mount 命令挂载磁盘到目录树
$ sudo mount
使用 umount 命令卸载已挂载磁盘
命令格式 sudo umount 已挂载设备名或者挂载点,如:
$ sudo umount /mnt
ps:因为咱们环境的问题(环境中使用的 Linux 内核在编译时没有添加对 Loop device的支持),因此你将没法挂载成功
使用 fdisk 为磁盘分区
$ sudo fdisk -l
进入磁盘分区模式
$ 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 //若是结果是这样那么这是外建命令
help命令:zsh 中内置并无 help 命令,咱们能够进入 bash 中,在 bash 中内置有该命令
$ bash
help ls //用于内建命令
ls --help //用于外建命令
man命令:无内建与外部命令的区分
man ls
info 命令:bash自带有的命令
info ls