Linux基础学习

实验一 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 中执行的命令的搜索路径。

实验过程中出现代码不全问题Linux基础学习_第1张图片,仔细检查后发现问题并成功运行。Linux基础学习_第2张图片!

添加自定义路径到“path”环境变量

问题:为什么一定要用绝对路径。

变量的修改

可以使用 unset 命令删除环境变量。

使用source命令让变量立即生效。出现错误Linux基础学习_第3张图片解决:重启环境后解决。Linux基础学习_第4张图片

搜索命令: 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压缩打包程序Linux基础学习_第5张图片

使用unzip命令解压缩zip文件Linux基础学习_第6张图片

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 参数

轻松一下Linux基础学习_第7张图片t

实验七 文件系统操作与磁盘管理

2.1 查看磁盘和目录的容量

使用 df 命令查看磁盘的容量

使用 du 命令查看目录的容量

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

简单的磁盘管理

创建虚拟磁盘

dd 命令

dd命令用于转换和复制文件,不过它的复制不同于cp。dd 也可以读取文件或写入这些文件。这样,dd也可以用在备份硬件的引导扇区、获取一定数量的随机数据或者空数据等任务中。dd程序也可以在复制时处理数据,例如转换字节序、或在 ASCII 与 EBCDIC 编码间互换。
使用 dd 命令创建虚拟镜像文件
使用 mkfs 命令格式化磁盘
使用 mount 命令挂载磁盘到目录树。(无法在实验楼执行)
使用 fdisk 为磁盘分区(无法在实验楼执行)
使用 losetup 命令建立镜像与回环设备的关联(无法在实验楼执行)

Linux基础学习_第8张图片

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基础学习_第9张图片

实验八 Linux下的帮助命令

实验知识点

内建命令与外部命令之分
help , man , info命令的使用以及区别

内建命令是天生自带的天赋技能,外部命令是后天得来的附加技能。我们可以使用type 命令来区分命令是内建的还是外部的。

help命令: help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明, help 命令只能用于显示内建命令的帮助信息。Linux基础学习_第10张图片

man命令得到的内容比用 help 更多更详细。Linux基础学习_第11张图片

info命令:得到的信息比 man 还要多,info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。

实验九 Linux任务计划crontab

crontab命令:crontab 命令常见于 Unix 和类 Unix 的操作系统之中(Linux 就属于类 Unix 操作系统),用于设置周期性被执行的指令。

用户使用 crontab -e 添加计划任务,都会在 /var/spool/cron/crontabs 中添加一个自己的任务文档,这样目的是为了隔离。

在操作过程中遇到了添加完成后不知道怎么保存的情况,百度之后知道按下esc,输入冒号,输入wq按下回车可以退出。

挑战备份日志

小明是一个服务器管理员,他需要每天备份论坛数据(这里我们用 alternatives.log 日志替代),备份当天的日志并删除之前的日志。而且备份之后文件名是 年-月-日 的格式。alternatives.log 在 /var/log/ 下面。Linux基础学习_第12张图片

实验十 命令执行顺序控制与管道

使用;间隔命令,使多条命令依次运行。

你可能感兴趣的:(Linux基础学习)