0123_苗 L122 2020-02-18 18:13:38 Linux 系统简介
795 0

“Linux 基础入门(内蒙古师范大学)”实验报告

Linux 系统简介

实验报告(一)

实验目的

  1. 学会安装虚拟机软件(Virtualbox或者VMware)
  2. 学会新建虚拟机,配置虚拟机
  3. 学会在虚拟机上安装Linux系统(Centos或者Ubuntu)

实验内容

  1. 下载虚拟机软件
  2. 安装虚拟机软件
  3. 新建虚拟机
  4. 安装linux
  5. 登录和退出

实验过程(对关键步骤截屏并描述)

图片描述 图片描述 图片描述 图片描述

  1. 图片描述
  2. 图片描述

一、实验目的

二、实验平台

三、实验内容和要求

1、Linux系统中的常用快捷键 2、cd命令:切换目录 3、ls命令:查看文件与目录 4、mkdir命令:新建新目录 5、rmdir命令:删除空的目录 6、cp命令:复制文件或目录 7、mv命令:移动文件与目录,或更名 8、rm命令:移除文件或目录 9、cat命令:查看文件内容 10、tac命令:反向列示文件内容 11、more命令:一页一页翻动查看,只能向后翻页 12、less命令:一页一页翻动查看,可以前后翻页 13、head命令:取出前面几行 14、tail命令:取出后面几行 15、touch命令:修改文件时间或创建新文件 16、chown命令:修改文件所有者权限 17、find命令:文件查找 18、tar命令:压缩命令 19、grep命令:查找字符串 20、vi/vim命令:Linux文件编辑器 21、用户及权限相关命令

一、实验目的

为后续上机实验做准备,熟悉常用的Linux操作。

二、实验平台

操作系统:Ubuntu14.04

三、实验内容和要求

1、Linux系统中的常用快捷键 Tab 自动补全 上下箭头 显示历史命令 Ctrl+a 光标移动到开始位置 Ctrl+c 终止进程/命令 Ctrl+e 光标移动到最末尾 Ctrl+k 删除此处至末尾的所有内容 Ctrl+u 删除此处至开始的所有内容 Ctrl+d 删除当前字符 Ctrl+h 删除当前字符前一个字符 Ctrl+w 删除此处到左边的单词 Ctrl+y 粘贴由Ctrl+u, Ctrl+d, Ctrl+w删除的单词 Ctrl+l 相当于clear,即清屏 Ctrl+b 向回移动光标 Ctrl+f 向前移动光标 Ctrl+t 将光标位置的字符和前一个字符进行位置交换 Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容 Ctrl+S 暂停屏幕输出 Ctrl+Q 继续屏幕输出 Ctrl+p 向上显示缓存命令 Ctrl+n 向下显示缓存命令 Shift+Ctrl+C 复制 Shift+Ctrl+V 粘贴

2、cd命令:切换目录 (1)切换到指定目录

切换到目录/usr/local,注意/usr/local是绝对路径,绝对路径是以“/”开头的

cd /usr/local

你当然也可以使用相对路径,但是要确保先进入上一级目录,才可以正确的切换到该目录下的某个路径,也就是相对当前路径下的路径,相对路径和绝对路径的区别是什么?思考一下。

cd /usr cd local (2)切换到当前目录的上层目录

cd /home/code cd .. (3)从当前目录向上级返回两层

cd /home/code cd ../../ (4)切换到当前目录的上一个目录,不同于上层目录哦,体会一下

cd /usr/local cd /home cd - (5)从任何目录返回到当前用户的home目录

cd ~ ls (6)切换到整个文件系统的根目录 用ls命令显示当前目录下的内容,对比一下当前用户的home目录和系统根目录有什么不同?

cd / ls 3、ls命令:查看文件与目录 命令格式: ls [选项] [文件名] 主要选项参数如下:

-a:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用) -A:全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录 -d:仅列出目录本身,而不是列出目录内的文件数据(常用) -f:直接列出结果,而不进行排序 (ls 默认会以文件名排序!) -F:根据文件、目录等信息,给予附加数据结构,例如: *:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件; -h:将文件大小以人类较易读的方式(例如 GB, KB 等等)列出来; -i:列出 inode 号码; -l:长数据串行出,包含文件的属性与权限等等数据;(常用) -r:将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小; -R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来; -S:以文件大小大小排序,而不是用文件名排序; -t:依时间排序,而不是用文件名。 我们主要练习以下几个常用的ls命令,你也可以自己使用上述参数进行练习。 (7)不跟任何选项与目录,表示列举当前目录的文件信息

cd /usr/local ls (8)使用长格式列举文件和目录信息

ls -l # 注意是字母L的小写 (9)列出所有文件,包括隐藏文件,在linux下,用’.’开头的表示隐藏文件:

ls -a ls -A # 跟ls -a结果差不多,只不过-A不包括 . 和 .. ls -al # 多个选项也可以组合 (10)ls -F 如果是目录,会加上反斜线

ls -alF (11)ls -d 列举目录本身信息,而不是查看目录下的文件信息

ls -ld 4、mkdir命令:新建新目录 命令格式: mkdir [选项] [目录] 主要选项参数如下:

-m:—mode=模式,设定权限<模式> -p:—parents 递归创建目录 -v:—verbose 每次创建新目录都显示信息 常用的mkdir命令: (12)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在

cd /tmp mkdir a ls -al (13)创建目录a1/a2/a3/a4

mkdir -p a1/a2/a3/a4

使用ls命令可以查看到新建的a1目录,那如何查看a2、a3、a4目录呢?自己思考一下

ls -al (14)创建目录mydir并显示信息

mkdir -v mydir (15)创建权限为777的目录,也可以是其他权限,详见下面的小贴士

mkdir -m 777 abc

执行ls -al命令时,可以看到每个目录或文件前,都有一串类似“rwxrwxrwx”或者“rwxrw-r-x”的字符,那么这串字符是什么意思呢?详见下面的小贴士。

ls -al

小贴士:关于Linux系统的777权限 Linux/Unix 的文件存取权限分为三级 : 文件拥有者(Owner)、群组(Group)、其他(Other)。通常用一个九位的字符串来依次表示Owner、Group和Other的文件操作权限,如rwxrwxrwx。从左至右,1-3位字符代表文件所有者的权限,4-6位字符代表同组用户的权限,7-9字符代表其他用户的权限。而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示。通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)。

   以755为例:
   (1)1-3位7等于4+2+1,rwx,所有者(Owner)具有读取、写入、执行权限;
   (2)4-6位5等于4+1+0,r-x,同组用户(group)具有读取、执行权限但没有写入权限;
   (3)7-9位5,同上,也是r-x,其他用户(Other)具有读取、执行权限但没有写入权限。
copy

5、rmdir命令:删除空的目录 命令格式: rmdir [选项] [目录] 主要选项参数如下:

-p:递归删除目录dirname, 当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 -v:—verbose  显示指令执行过程 常用的rmdir命令: (16)将上例创建的目录a(/tmp下面)删除

rmdir a (17)删除目录a1/a2/a3/a4,查看有多少目录存在

rmdir -p a1/a2/a3/a4 ls -al 6、cp命令:复制文件或目录 命令格式: cp [选项] 源文件或目录 目标文件或目录 主要选项参数如下:

-a :该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 -d :拷贝时保留链接。 -f :删除已经存在的目标文件而不提示。 -i :和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 -p :此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 -r :若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 -l :不作拷贝,只是链接文件。 常用的cp命令:

(18)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1

cp ~/.bashrc /usr/bashrc1 cd /usr ls -al (19)在/tmp下新建目录test,再复制这个目录内容到/usr

cd /tmp mkdir test cp -r /tmp/test /usr 7、mv命令:移动文件与目录,或更名 命令格式: mv [选项] 源文件或目录 目标文件或目录 主要选项参数如下:

-b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会更新(update) 常用的mv命令: (20)将上例文件bashrc1移动到目录/usr/test

mv /usr/bashrc1 /usr/test (21)将上例test目录重命名为test2

mv /usr/test /usr/test2 8、rm命令:移除文件或目录 命令格式: rm [选项] 文件或目录 主要选项参数如下:

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; -f:强制删除文件或目录; -i:删除已有文件或目录之前先询问用户; -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理 常用的rm命令: (22)将上例复制的bashrc1文件删除

rm /usr/test2/bashrc1 (23)将上例的test2目录删除

rm -r /usr/test2 9、cat命令:查看文件内容 命令格式: cat [选项] 文件名 主要选项参数如下:

-n :由 1 开始对所有输出的行数编号 -b :-n 相似,只不过对于空白行不编号 -s :当遇到有连续两行以上的空白行,就代换为一行的空白行 常用的cat命令:

(24)查看主文件夹下的.bashrc文件内容

cat ~/.bashrc cat -n ~/.bashrc 10、tac命令:反向列示文件内容 命令格式: tac [选项] 文件名

(25)反向查看主文件夹下.bashrc文件内容

tac实际上是cat反过来写对吗?看看运行结果是什么样的吧

tac ~/.bashrc 11、more命令:一页一页翻动查看,只能向后翻页 命令格式: more 文件名 (26)翻页查看主文件夹下.bashrc文件内容

使用空格或回车键翻页

more ~/.bashrc

more还可以配合管道符“|”(pipe)使用

ls -al | more 12、less命令:一页一页翻动查看,可以前后翻页 命令格式: less 文件名 (27)翻页查看主文件夹下.bashrc文件内容

可以使用【pageup】和【pagedown】键进行前翻页和后翻页

less ~/.bashrc

less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有config字符串,那么你可以在打开文件内容之后,输入以下命令

/weblogic

退出查看文件状态,按字母“Q”键即可

13、head命令:取出前面几行 命令格式: head -n number 文件名 (28)查看主文件夹下.bashrc文件内容前20行

head -n 20 ~/.bashrc (29)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行

如果在number前面加减号,则不显示文件最后相应的行数

head -n -50 ~/.bashrc 14、tail命令:取出后面几行 命令格式: tail -n number 文件名 (30)查看主文件夹下.bashrc文件内容最后20行

tail -n 20 ~/.bashrc (31) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据

如果在number前面加加号,则不显示文件最前面相应的行数

tail -n +50 ~/.bashrc 15、touch命令:修改文件时间或创建新文件 命令格式: touch 【选项】 文件名 主要选项参数如下:

-a: 只更改访问时间 -d: 使用指定字符串表示时间而非当前时间 -m : 只更改修改时间 -t STAMP: 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间 常用的touch命令: (32)在/tmp下创建一个空文件hello并查看时间

cd /tmp touch hello ls -l hello (33)修改hello文件,将日期调整为5天前

touch -d "5 days ago" hello 16、chown命令:修改文件所有者权限 命令格式: chown 【选项】 user[:group] 文件名 主要选项参数如下:

-c : 若该文件拥有者确实已经更改,才显示其更改动作 -f : 若该文件拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的文件 -v : 显示拥有者变更的详细资料 -R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更) 常用的chown命令: (34)将hello文件所有者改为root帐号,并查看属性

chown root /tmp/hello ls -l /tmp/hello 17、find命令:文件查找 命令格式: find 目录 【选项】 主要选项参数如下:

-name 按照文件名查找文件 -perm 按照文件权限来查找文件 -user 按照文件属主来查找文件 -group 按照文件所属的组来查找文件 常用的find命令: (35)找出主文件夹下文件名为.bashrc的文件

运行结果会返回文件所在目录以及文件名

find ~ -name .bashrc 18、tar命令:压缩命令 命令格式: tar [主选项+辅选项] 文件或目录 主要选项参数如下: 主选项参数:

-c 创建新的文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 -r 把要存档的文件追加到文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。 -t 列出文件的内容,查看已经备份了哪些文件。 -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 -x 从文件中释放文件,也就是解压缩。 辅选项参数:

-b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。 -f 指定档案文件名或设备名,这个选项通常是必选的。 -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。 -m 在还原文件时,把所有文件的修改时间设定为现在。 -M 创建多卷的档案文件,以便在几个磁盘中存放。 -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。 -w 每一步都要求确认。 -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 常用的tar命令:

(36)在/目录下新建文件夹test,然后在“/”目录下打包成test.tar.gz

mkdir /test #在/目录下新建文件夹test cd / # 进入“/”目录 tar -zcv -f /test.tar.gz test #打包test子目录 (37)解压缩到/tmp目录

tar -zxv -f /test.tar.gz -C /tmp cd /tmp ls -al 19、grep命令:查找字符串 命令格式: grep [选项] 主要选项参数如下:

-a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 ‘搜寻字符串’ 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行! 常用的grep命令:

(38)从~/.bashrc文件中查找字符串’examples’

grep -n 'examples' ~/.bashrc 20、vi/vim命令:Linux文件编辑器 vi/vim编辑器是所有Unix及Linux系统下标准的编辑器,vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode):

  1. 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
  2. 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
  3. 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 vi的基本操作:

(39)进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

vi myfile 进入vi之后,是处于「命令行模式(command mode)」,需要切换到「插入模式(Insert mode)」才能够输入文字。

(40)切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

(41)切换到命令行模式

你目前处于「插入模式(Insert mode)」,可以对文件进行插入、删除、修改等操作,如果此时你想保存退出,首先需要切换到命令行方式,就要先按一下「ESC」键转到「命令行模式(command mode)」。

(42)退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

:w filename 输入 「w filename」将文件以指定的文件名filename保存) :wq (输入「wq」,存盘并退出vi) :q! (输入q!, 不存盘强制退出vi) 21、用户及权限相关命令 (43)useradd命令:新建用户

命令格式: useradd [选项] 用户名 主要选项参数如下:

-d<登入目录> 指定用户登入时的目录。 -g<群组> 初始群组。 -G<群组> 非初始群组。 -m 自动创建用户的家目录(Home目录)。 -M 不要创建用户的家目录(Home目录)。 -N 不要创建以用户名称为名的群组。 -s 指定用户登入后所使用的shell。 常用的grep命令:

不使用任何群组相关的参数,默认在创建用户 tester1 的同时会创建一个同名的群组。用户 tester1 的初始群组就是这个新建的群组

sudo useradd tester1

-N参数表示不生成与用户同名的群组。查看下 /etc/passwd 文件,发现 tester2 用户的初始群组ID是100。这个100是哪来的?有ID为100的群组吗?其实100作为 -N 的默认值是写在配置文件中的。不管有没有ID为100的群组,都是这个值。

sudo useradd tester2 -N

-g参数将用户创建在一个初始群组sudo。现在去查看一下 /etc/passwd 和 /etc/group 文件,可以看到用户 tester3 的初始群组变成了sudo。sudo是什么群组?别着急,下面会讲到。

sudo useradd tester3 -g sudo (44)password命令:设置密码

   好,新建了用户之后,我们需要为其设置密码:
copy

命令格式: passwd [选项] 用户名 主要选项参数如下:

-d 删除密码 -f 强制执行 -k 更新只能发送在过期之后 -l 停止账号使用 -S 显示密码信息 -u 启用已被停止的账户 -x 设置密码的有效期 -g 修改群组密码 -i 过期后停止用户账号 passwd tester1 # 根据提示需输入两次密码 passwd -S tester1 #显示用户密码 passwd -d tester1 #删除用户密码 (45)su命令:切换用户

   我们也可以根据需要选择切换用户,命令很简单:
copy

su tester1 su tester2 (46)sudo命令

   从root用户切换到普通用户之后(而且这个用户普通到没有在sudo组里),假如我们需要执行一些root用户才可以执行的命令怎么办?来回切换用户似乎太麻烦了。这时候,sudo命令可以帮你解决这个问题。
   简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
   严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。当然,能做什么不能做什么都是通过安全策略来指定的。sudo 支持插件架构的安全策略,并能把输入输出写入日志。默认的安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号的密码。如果验证失败,sudo 命令将会退出。
   系统默认创建了一个名为 sudo 的组。只要把用户加入这个组,用户就具有了 sudo 的权限。当然,必须有具有sudo权限的用户来执行这个操作,比如root用户,所执行的命令为 adduser username sudo 。
copy

将hadoop用户增加到sudo组,使其具有某些命令的管理员权限

adduser tester1 sudo

最新评论
暂无评论~