0
点赞
收藏
分享

微信扫一扫

西农 Linux 第一次实验

文风起武 2022-03-13 阅读 54
linux

实验一 常用命令应用

(一) 文件和目录操作

目的
1.熟悉Linux文件目录结构
2.掌握Linux在线帮助
3.掌握文本操作命令
4.掌握文件、目录操作命令

内容
1.在线帮助使用
2.显示、改变文件目录
3.显示文本文件
4.匹配文本文件
5.文本文件排序
6.复制、删除、移动文件
7.复制、删除、移动目录文件

准备
教学服务器中,目录/var/materials下保存了本实验用到文件

步骤和要求
1.登录主机教学服务器
用户名:学号
口令:123456(登录后用passwd命令修改口令)

2.练习cd、ls、pwd等命令,理解每个命令功能和显示信息的意义
pwd
显示当前路径
cd /
进入到根目录
pwd
显示当前路径,为根目录
cd /home
进入主目录
pwd
显示当前路径,为主目录
cd 个人学号
进入到s20200XXXXX目录
pwd
显示当前路径,为/home/s20200XXXXX
cd …
进入当前目录的父目录,即home目录
cd /etc
进入到etc目录
cd
进入到s20200XXXXX目录
cd /var/materials
进入到根目录下的var目录下的materials
pwd
显示当前路径为/var/materials
cd …
进入当前目录的父目录,即var目录
pwd
显示当前路径,即/var
cd
进入到s20200XXXXX目录
ls –l
显示不被隐藏的所有文件与文件夹的详细信息,并成列表显示
ls –l .
显示不被隐藏的所有文件与文件夹的详细信息,并成列表显示
ls -al
显示隐藏和不被隐藏的所有文件与文件夹的详细信息,并成列表显示
ls –ld .
以长格式显示当前目录
ls –ld /home
查看home目录路径的属性
ls –ld ~
查看s20200XXXXX目录路径的属性

3.练习显示文本文件命令,理解每个命令功能和显示信息的意义
cd
返回用户主目录,即/home/s20200XXXXX
cp /var/materials/stu.txt ./
将/var/materials目录下的stu.txt复制到当前目录下
cp /var/materials/he* ./
将/var/materials目录下的以h开头的文件复制到当前目录下
cp /var/materials/lastlogs ./
将/var/materials目录下的lastlogs文件复制到当前目录下
cat hello.c
显示当前目录下的hello.c文件
cat hello.c hello.c.bak
没有那个文件或目录,应改为cat hello.c > hello.c.bak 把hello.c的文件内容输入hello.c.bak文件中
cat he*
显示当前目录的以h开头的文件,即hello.c文件和hello.c.bak文件
cat .sh
显示当前目录下以sh结尾的文件
more ex.sh
查看文件,并分页显示
more stu.txt
查看stu.txt文件,并分页显示
more stu

查看当前目录的以stu开头的文件,并分页显示
head -n 5 stu.txt
显示当前目录下stu.txt文件的前5行
tail -n 3 stu.txt
显示当前目录下stu.txt文件的后3行

4.练习建立、删除、移动目录文件命令,理解每个命令功能和显示信息的意义
cd
返回用户主目录
mkdir dir1
在当前目录下建立子目录dir1
mkdir dir2
在当前目录下建立子目录dir2
mkdir dir2/dir21
在dir2目录下新建子目录dir21
mkdir dir2/dir22
在dir2目录下新建子目录dir22
mkdir /dir2/dir23
无法创建目录 “/dir2/dir23”: 没有那个文件或目录
mkdir ./dir2/dir24
在dir2目录下新建子目录dir24
mkdir –p dir3/dir31/dir311/dir3111
在当前目录下一次性建立dir3/dir31/dir311/dir3111目录,-p确保目录名称存在,如果目录不存在则新建目录
rmdir –p dir3
当子目录被删除后使它也成为空目录的话,则顺便一并删除
rmdir –p d2
无法删除,没有那个文件或目录
mv stu.txt ex.sh dir1
无法获取’ex.sh’ 的文件状态(stat): 没有那个文件或目录
rm dir1
无法删除,此时dir1为一个目录
rm dir1 –r
将目录dir1,目录及其子目录均递归删除
rm dir2
无法删除,此时dir2为一个目录
rmdir dir3
无法删除,因为此时目录dir3非空

5.练习ln命令,理解每个命令功能和显示信息的意义
cd
返回主目录
ln –s /var/materials ma
为/var目录下的文件materials在主目录上建立连接,类似指针
ln -s /etc/passwd pw
为/etc目录下的文件passwd在主目录建立连接,类似指针
ls –la .
以长格式显示出当前目录下的所有文件信息,包括以’.’开头的隐藏文件
cat pw
显示目录/etc下的passwd文件
cd ma
进入/var目录下的文件materials
ls –ld .
以长格式显示当前目录下的目录文件
ls –ld …
以长格式显示当前目录下的父目录的目录文件
cd
返回主目录
ls –ld …/其他同学学号
列出其他同学学号的目录并以长格式显示信息
ls –ld /home/其他同学学号
列出home/其他同学学号的目录并以长格式显示信息

6.练习管道及输出重定向
cd
返回用户主目录
ls | wc -l
列出当前目录下的所有文件及目录并统计行数,即统计当前目录下文件个数
ls -l | grep ^- > txt
把当前目录下所有文件信息通过管道,并筛选后,将输出结果保存到txt中
ls -l | grep -v ^d | grep -v ^l | wc -l > cnt
列出当前目录下的文件信息,通过管道显示不匹配以d和l开头的行,再通过管道统计行数,在输出结果保存到cnt文件中

7.进程管理
ps
查看进程
ps -aux
查看进程,显示所有用户进程和无控制台进程,并按用户名和启动时间的顺序显示
ps -u root
显示root用户进程
Top
查看进程
kill -9 2018
杀死此进程

(二)文本处理

目的
1.掌握vi操作
2.掌握grep命令应用

内容
1.新建文本文件
2.编辑文本文件
3.文本查找、替换操作

准备
复制目录/var/materials下文件stu.txt到用户主目录,复制目录/etc下passwd文件到用户主目录

步骤和要求
8.新建c源程序文件feb.c,编译执行,显示费波纳奇数列:
1 1 2 3 5 8 13 21 …
vi feb.c
新建feb.c文件,并在该文件中输入内容
gcc feb.c -o feb
生成可执行文件feb
./feb
运行feb文件

用vi编辑器编写c程序如下:

#include<stdio.h>
void main(){
	int i,n;
	int f[100]={1,1};
	scanf("%d",&n);
	printf("%d,%d",f[0],f[1]);
	for(i=2;i<n;i++){
		f[i]=f[i-2]+f[i-1];
		printf(",%d",f[i]);
	}
}

9.分别打开stu.txt文件,练习vi命令模式命令:
(1)移动光标
h 光标左移一格 l 光标右移一格 j光标下移一行 k光标上移一行

(2)查找、删除、修改字符
查找:/内容
删除:dd删除当前行
修改字符:r替换光标处字符

(3)删除、粘贴行
dd删除当前行,删除行:[n]dd

(4)复制、粘贴行
yy复制当前行,粘贴行:[n] p

(5)恢复编辑
u取消上一次操作,.恢复上一次操作

10.打开passwd文件,练习vi末行命令:
(1)删除、复制、移动多行
1,50d
删除第1-50行
1,10 co 20
复制第1-10行到第20行下
1,10 m 15
移动第1-10行到第15行

(2)写文件、读文件,指定文件路径(另存)
1,10 w homework1
把第1-10行内容写到homework1中
r feb.c
读入文件feb.c插入到当前行之下

4.打开文件stu.txt,练习vi末行替换命令
(1)将文件中每行“软件工程”替换为“软工”
1,$ s/软件工程/软工

5.练习匹配文本文件命令,理解每个命令功能和显示信息的意义
grep ^2019 stu.txt
在stu.txt中搜索以“2019”开始的行并输出
grep 3$ stu.txt
在stu.txt中搜索以3结束的行并输出
grep -n ‘2019013[0-9][0-9][13579]’ stu.txt
在stu.txt中搜素以2019013开头剩余三位数在[0-9][0-9][13579]的集合中的行并显示行号
grep 软件1901 stu.txt > rg191.txt
在stu.txt中搜索如软件1901并将其内容保存至rg191.txt中
grep软件1902 stu.txt > rg192.txt
在stu.txt中搜索如软件1902并将其内容保存至rg192.txt中
grep软件1903 stu.txt > rg193.txt
在stu.txt中搜索如软件1903并将其内容保存至rg193.txt中
lastlog | grep Never | wc -l或lastlog | grep -v 从未登录 | wc -l
列出从未登录过的用户信息的总行数
wc rg192.txt
统计rg192.txt文件中的行数,字节数和单词数
wc -l rg192.txt
统计rg192.txt文件中的行数

(三)用户和文件安全

目的
1.理解用户、组、文件安全概念
2.练习useradd、chmod等命令

内容
1.添加用户
2.查看文件、目录的安全许可
3.改变文件、目录的安全许可
4.理解文件和目录的权限、文件所有者、属组的概念

准备
虚拟机中的Linux

步骤和要求
1.使用ls -l命令,浏览目录 ./、/、/etc、/home、/sbin、/bin及其下文件的权限,理解显示信息的意义
在目录/home下文件所有者有rwx权限,其他用户任何权限也没有;在目录/sbin /bin /etc下文件所有者有rwx权限,其他用户有r权限;在目录./,/下文件所有者有rwx权限,其他用户有r权限。

2.新建用户user1、user2,并设置口令
useradd user1
passwd user1
useradd user2
passwd user2

3.切换到不同的虚拟控制台终端,使用分别用user1、user2身份用户登录系统,使用ls –l或ls -al命令查看文件的权限,理解显示信息的意义
所有者有rwx权限,属组和其他用户有rx权限。

4.建立c源程序文件、编译产生可执行文件,查看、改变这些文件的权限,显示、打开或执行文件,理解显示信息的意义
使用-l命令查看文件的权限,若给文件的所有者增加权限:chomd u+x 文件名;给文件所 有者删除权限:chmod u-w 文件名。

5.建立目录、在目录下建立c源程序文件、编译产生可执行文件,查看、改变目录的权限,查看、打开或执行文件,理解显示信息的意义
使用chmod来改变目录的权限,用ls命令查看权限时,rwx分别是读、写、执行权限

思考题
1.如何将一个已经登录的用户踢出Linux系统,写出思路、步骤及相关命令
#w
第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆用户总数及系统平均负载信息。
第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
#pkill -kill -t 用户终端号
将此用户强制踢出,

2.如何统计当前系统的用户数,写出思路及相关命令
who | wc -l
这个命令分为两部分,前面是输出目前在线用户的信息,而管道后面统计了前面输出信息的行数

实验报告书写指导
1.将你对操作、显示信息的理解写在操作命令后
2.实验报告提交到XXXXXX

可能理解不到位,还望大哥们批评指出

举报

相关推荐

第一次rhce实验

HCIE第一次实验

第一次笔记实验

软件构造第一次实验(二)

sql第一次

记录第一次

第一次打卡

0 条评论