实验一 Linux系统简介
了解了Linux的历史,比较了Linux与Windows的优缺点。Linux与Windows比在安全性和可定制性上优于Windows,但在软件和使用难度上逊色于Windows。
实验二 桌面环境
Linux不与系统直接打交道,借助shell解释器将代码转换成机器语言让机器执行。
命令执行:输入和输出
重要快捷键:
Tab 补全命令,目录,和参数。问题:Tab键的补全规则,通过百度了解了规则。
ctrl+c 中断程序运行。在下面输入tail命令的时候终止出现长时间延迟,原因未知。
其他的一些快捷键ctrl+
d 结束输入,退出终端
s 暂停程序,按下任意键回复运行
z 后台运行,恢复为命令fg
a 光标移动到行头
e 光标移动到行末
k 删除光标所在位置到行末
alt+backspace 向前删除一个单词
shift+pgup 显示向上滚动
shift+pgdn 显示向下滚动
通配符的使用极大程度的缓解了暂时忘记文件和目录名的尴尬
对于忘记命令的新手有着极大帮助的命令man。问题:查找命令不熟悉,查找速度慢,还不如用百度搜索。
作业
banner命令很有意思的一个命令。
实验三 用户及文件权限管理
创建用户
root权限的概念,使用sudo命令获取root权限,使用su切换用户,sudo 以特权级别运行命令。插入之前安装虚拟机时于到的一个尴尬问题,Linux输入密码不显示。。。
可以使用sudo passwd+ 用户名来设置密码
用户组
groups命令查看用户组。
usermod 命令可以为用户添加用户组,使用该命令必需有 root 权限。
问题:添加用户过程中未获得root权限,使用sudo命令解决。图片描述
删除用户:sudo deluser 用户名 --remove home
查看文件权限
(** Linux 里面一切皆文件**)
(** 一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件**)
使用ls -lh直观查看文件大小
变更文件所有者
需要切换到 shiyanlou 用户执行以下操作
$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6
注意:此处用户为变更对象
修改文件权限
使用chmod命令修改权限
chmod后面的数据600不知道原因
辨析,adduser和useradd的区别。
useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
实验四 Linux目录结构及文件基本操作
目录路径
使用 cd 命令可以切换目录
使用 cd 命令可以切换目录
使用 cd 命令可以切换目录
绝对路径和相对路径
新建
touch 命令创建空白文件(之前遇到过权限不够的情况,这时就需要使用sudo命令)
使用 mkdir(make directories)命令可以创建一个空目录,(同时可以指定目录权限属性),使用-p参数可以同时创建多个目录
复制文件:使用cp命令,直接复制目录需要加上-r或-R参数,不然会出现错误
删除文件:使用rm命令,删除目录需要加入-r或-R参数
mv命令:移动文件,重命名单个文件。批量命令需要使用rename
使用 cat,tac 和 nl 命令查看文件
前两个命令都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。
cat -n显示行数,nl命令添加行号并打印
使用 more , less,head,tail 命令分页查看文件
使用file命令查看文件类型
使用vi编辑器编辑文件
实验五 环境变量与文件查找
使用declare创建变量
打印当前环境变量信息
set:所有变量
env:用户相关变量
export:环境变量
其中,env还可以让命令在指定环境中运行,export可以导入环境变量
创建永久生效的环境变量
命令的查找路径与顺序
问题:如何添加永久环境变量。
通过环境变量PATH搜索命令,PATH 里面就保存了 Shell 中执行的命令的搜索路径。
实验过程中出现代码不全问题,仔细检查后发现问题并成功运行。!
添加自定义路径到“path”环境变量
问题:为什么一定要用绝对路径。
变量的修改
可以使用 unset 命令删除环境变量。
使用source命令让变量立即生效。出现错误解决:重启环境后解决。
搜索命令: whereis,which,find 和 locate
与时间有关的命令参数:
参数 说明
-atime 最后访问时间
-ctime 最后修改文件内容的时间
-mtime 最后修改文件属性的时间
下面以 -mtime 参数举例:
-mtime n:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件
-mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
-mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
-newer file:file 为一个已存在的文件,列出比 file 还要新的文件名
数字雨代码:$ sudo apt-get update; sudo apt-get install cmatrix
找出 /etc/ 目录下的所有以 .list 结尾的文件
使用命令$locate /etc/.list实现
挑战:寻找文件
目标
找到 sources.list 文件
把文件所有者改为自己(shiyanlou)
把权限修改为仅仅只有自己可读可写
使用find,chmod,chown,sudo命令实现
实验六 文件打包与解压缩
常见常用的压缩包文件格式: Windows 上最常见的两种 .zip,.7z 后缀的压缩文件。而在 Linux 上面常见的格式除了以上两种外,还有 .rar,.gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*.tar.bz2
实战
zip压缩打包程序
使用unzip命令解压缩zip文件
tar打包工具:tar 原本只是一个打包工具,只是同时还是实现了对 7z、gzip、xz、bzip2 等工具的支持。
常用命令:
zip:
打包 :zip something.zip something (目录请加 -r 参数)
解包:unzip something.zip
指定路径:-d 参数
tar:
打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C 参数
轻松一下t
实验七 文件系统操作与磁盘管理
2.1 查看磁盘和目录的容量
使用 df 命令查看磁盘的容量
使用 du 命令查看目录的容量
-d参数指定查看目录的深度
简单的磁盘管理
创建虚拟磁盘
dd 命令
dd命令用于转换和复制文件,不过它的复制不同于cp。dd 也可以读取文件或写入这些文件。这样,dd也可以用在备份硬件的引导扇区、获取一定数量的随机数据或者空数据等任务中。dd程序也可以在复制时处理数据,例如转换字节序、或在 ASCII 与 EBCDIC 编码间互换。
使用 dd 命令创建虚拟镜像文件
使用 mkfs 命令格式化磁盘
使用 mount 命令挂载磁盘到目录树。(无法在实验楼执行)
使用 fdisk 为磁盘分区(无法在实验楼执行)
使用 losetup 命令建立镜像与回环设备的关联(无法在实验楼执行)
cowsay命令,在终端里以一种动物说话的形式打印出一段话。
更新软件包
$ sudo apt update
安装
$ sudo apt install -y cowsay
默认是一只牛
$ cowsay hello shiyanlou
加上'-l'参数打印所有支持的动物(其实不只是动物)种类
$ cowsay -l
使用'-f'参数选择动物种类
$ cowsay -f elephant hello shiyanlou
安装 fortune-zh
$ sudo apt-get install fortune-zh
此外它还可以结合 fortune 命令一起使用
$ /usr/games/fortune | cowsay -f daemon
作业
找出当前目录下面占用最大的前十个文件。
实验八 Linux下的帮助命令
实验知识点
内建命令与外部命令之分
help , man , info命令的使用以及区别