20165208 预备作业3Linux安装及学习
20165208 预备作业3Linux安装及学习
Linux操作系统安装
此次安装我在进行Ubuntu安装时出现了问题,按照操作当我选择启动时弹出了“不能为虚拟机打开新任务”的提示框。通过上网查找资料,找到了问题所在,并最终解决了问题。具体操作为重启计算机,在出现开启页面时,快速连续多次按F1键弹出BIOS界面,将virtualiation中的disabled转换为enable即可。后续操作按照进程来尚未出现问题。
问题及解决方法如图
Linux命令的学习方法
- Linux作为一个操作系统包括如下结构:shell、库函数、硬件、内核、系统调用、应用。与Windows操作系统没有什么大区别。具体操作主要通过命令进行使用。
- 命令:
- 格式:command [options] [arguments] 选项option是调整命令执行行为的开关,决定了命令的显示结果。参数argument是指命令的作用对象。注:ls和ls .等价。
- man命令:printf查找帮助文档,-k搜索学习命令,-f查看命令的基本功能。
- cheat命令:提供显示Linux命令使用案例,cheat 命令即可学习例子举一反三。
- find命令:查找文件在系统中的位置
- grep命令:对文件进行全文检索,格式为grep -n 所要查找的函数。
- whereis,which命令:查找适用的命令工具安装位置。which相对更精确,具体格式为whereis/which firefox。
- 快捷键:
快捷键 | 用处 |
---|---|
CTRL+ALT+T | 打开终端 |
CTRL+SHIFT+T | 新建标签页 |
ALT+数字n | 终端中切换到第n个标签页 |
Tab | 终端中命令补全 |
CTRL+C | 中断程序运行 |
Linux基础入门课程
第一章
初步认识Linux
Linux即操作系统,主要包含计算机系统中的系统调用和内核。相较于Windows系统,Linux的使用更加自由也相对安全,但同时也面临部分软件的质量问题。使用上来说,Linux兼具图形界面操作和完全的命令行操作。
第二章
基本概念及操作
- shell:是用户交互的界面也是控制系统的脚本语言,可以对命令进行解析,以提供给使用者使用界面。
- 命令:
创建文件:touch 文件名
进入目录:cd /etc/
查看当前所在目录:pwd
注意和windows系统不同执行命令成功时无输出。
shell常用通配符
字符 | 含义 |
---|
- | 匹配0或多个字符
? | 匹配任意一个字符
[list] | 匹配list中的任意单一字符
[!list] | 匹配list外的字符
[c1-c2] | 匹配c1-c2中的任意单一字符如:[0-9][a-z]
{string1,string2...}| 匹配string1或string2其一字符
{c1...c10} | 匹配c1-c2中全部字符如{1...10}
第二章跟着操作学了一下轻松一下,感觉Linux很有趣
第三章 用户及文件权限管理
Linux可以多用户登录一台主机,用户管理和权限机制可以保护文件安全。
查看用户命令为$ who am i 或者$ who mom likes,输出第一列为当前用户名,第二列pts/后的数字表示伪终端序号,每打开一个终端对应一个序号。
who命令其他常用参数
参数 | 说明 |
---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i,mom likes |
-q | 打印当前登陆用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
- 用户管理
1. 创建用户需要root权限,利用sudo命令。su可以切换到用户user,su- 则在此基础上使环境变量改变成目标用户的环境变量。
2. 查找用户组:方法一:使用 groups 命令
方法二:查看 /etc/group 文件
3. 删除用户$ sudo deluser lilei --remove-home
查看文件权限
以较长格式列出文件 $ ls -l 输出形式如下图所示
作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。
第四章
Linux 是以树形目录结构的形式来构建整个系统的,而磁盘则是挂在这个树形上的。
- FHS标准主要定义了以下两个方面:
1. / 下面的各个目录定义为应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
2. 针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。
- 目录路径:使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录。绝对路径是指以根" / "目录为起点的完整路径。相对路径是以当前目录 . 为起点,以你所要到的目录为终点
- Linux 文件的基本操作:
命令 | 作用 |
---|---|
touch | 更改已有文件时间戳,不带任何参数的情况下可以创建一个指定文件名的空白文件 |
mkdir | 创建一个空目录,也可同时指定创建目录的权限属性 |
cp | 复制一个文件到指定目录 |
cp -r 或者cp -R | 复制目录 |
rm | 删除一个文件 |
rm -f | 强制删除只读文件 |
rm -r 或rm -R | 删除一个目录,也需要加上 |
mv(move or rename files) | 移动文件(剪切) |
作业
创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。
第五章
- 三种变量类型:
1. Shell 进程私有用户自定义变量(只在当前 Shell 中有效)。
2.Shell 本身内建的变量。
3.从自定义变量导出的环境变量。 - 三种用于打印环境变量信息
命 令 | 说 明 |
---|---|
set | 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 |
env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。 |
export | 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。 |
另外按变量的生存周期来划分,Linux 变量可分为两类: |
-
永久的:需要修改配置文件,变量永久生效;
-
临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。
注:两个重要文件 /etc/bashrc 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。
- 搜索文件
命令 | 适用范围 | 特点 |
---|---|---|
whereis | 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。 | 直接从数据库中查询,简单快速。 |
locate | 用来查找指定目录下的不同文件类型,如查找 /etc 下所有以 sh 开头的文件 | 快而全 |
which | 确定是否安装了某个指定的软件 | 小而精 |
find | 可以通过文件类型、文件名进行查找以及根据文件的属性(如文件的时间戳,文件的权限等)进行搜索 | 精而细 |
作业
寻找文件
找出 /etc/ 目录下的所有以 .list 结尾的文件。
挑战
目标
1.找到sources.list文件
2.把文件所有者改为自己(shiyanlou)
3.把权限修改为仅仅只有自己可读可写
第六章 文件打包与压缩
压缩包文件格式
- zip压缩文件
参数 | 意义 |
---|---|
-r | 递归打包包含子目录的全部内容 |
-q | 安静模式,不向屏幕输出信息 |
-o | 表示输出文件,需在其后紧跟打包输出文件名 |
-e | 创建加密压缩包 |
-l | 将 LF 转换为 CR+LF |
- unzip解压文件
参数 | 意义 |
---|---|
-q | 安静模式,将文件解压到指定目录 |
-l | 不解压只查看压缩包的内容 |
-O | 指定编码类型 |
- rar打包压缩文件
参数 | 意义 |
---|---|
a | 添加文件到一个rar文件中 |
l | 只查看rar文件内容不解压文件 |
d | 从rar文件中删除文件 |
- tar 打包工具
参数 | 意义 |
---|---|
-c | 创建一个 tar 包文件 |
-f | 指定创建压缩包的文件名 |
-t | 只查看不解包文件 |
作业
创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。
实验七 文件系统操作与磁盘管理
- df 命令查看磁盘的容量
- du 命令查看目录的容量
参数 | 意义 |
---|---|
-d | 指定查看目录的深度 |
-h | 提高信息的可读性 |
-a | 显示目录中所有文件的大小 |
-s | 仅显示总计,只列出最后加总的值 |
- mount 命令挂载磁盘到目录树
作业
小明在管理服务器的时候发现空间不足了,他找到了一个目录,这个目录占用的空间异常的大,他需要找到这个目录中占用最大的前10个文件,但是这个目录下面的内容太多了,或许一条命令就能够帮助到他,这条命令该怎么写呢?
du -a | sort -n -r | head -n 10
实验八 Linux下的帮助命令
- 内建命令
是 shell 程序的一部分,包含一部分的 Linux 系统命令,且其执行速度比外部命令快。 - 外部命令
是 Linux 系统中的实用程序部分,不包含在 shell 中,但命令执行过程是由 shell 程序控制的。 - 帮助命令
命令 | 用法 |
---|---|
help | 内建命令:help内建命令,外部命令:参数--help |
man | man ls打开手册 |
info | info 命令(相较于man更完整) |