Linux系统命令实训题【带解析】

如果内容有错误,或不对等问题,希望大家指出。

一.实训目的


(1)掌握Linux系统中基本命令的使用方法。
(2)熟悉Linux系统的操作环境。


二.实训内容


子项目1——文件和目录类命令的使用。


(l)启动计算机,利用Xshell 等软件登录Linux服务器192.168.X×X.X×X, 进入字符提示界面,用cd命令切换到家目录。


(2)用pwd命令查看当前所在的目录。


(3)用ls命令列出此目录下的文件和目录。


(4)用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。


(5)用man命令查看ls命令的使用手册。


(6)在当前目录下,创建目录 test。


(7)利用ls命令列出文件和目录,确认test目录创建成功。


(8)进入test目录,利用pwd查看当前工作目录。


(9)利用touch命令,在当前目录创建一个新的空文件newfile。


(10)利用cp命令复制系统文件/etc/profile到当前目录下。


(11)复制文件profile为一个新文件profile.bak,作为备份。


(12)用ll命令以长格式列出当前目录下的所有文件。


(13)用more或者less命令分屏查看文件profile的内容。


(14)给文件profile创建一个软链接Insprofile。


(15)给文件profile创建一个硬链接Inhprofile。


(16)以长格式显示文件profile、Unsprofle和lnhprofile的详细信息


(17)删除文件profile,以长格式显示文件Insprofilc和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化,


(18)用less命令查看文件lnsprofile的内容。


(19)用less命令查看文件lnhprofile的内容。


(20)删除文件Insprofile,显示当前目录下的文件列表,返回到上层目录。


(21)用tar命令把目录test打包。


(22)用gzio命令把打好的包进行压缩。


(23)把文件 test. tar.gz改名为 backup.tar.gz:


(24)显示当前目录下的文件和目录列表,确认重命名成功。


(25)把文件backup.tar.gz移动到test目录下。


(26)显示当前目录下的文件和目录列表,确认移动成功


(27)进入test目录,显示目录中的文件列表。


(28)把文件backuptar.gz解包解压。


(29)退回到上一次目录,显示当前目录下的文件和目录列表,复制test日录为testbak目录作为备份。


(30)查找root用户家目录下的所有名为newfile的文件,并打包为newfile.tar.


(31)删除test子目录下的所有文件。


(32)利用rmdir命令删除空子目录tet。


子项目2——系统信息和进程管理类命令的使用。


(1)利用date命令显示系统当前时间,并修改系统时间为2021年1月1日


(2)利用命令动态地显示Linux的系统状况。


(3)利用命令查看系统的所有进程。


(4)利用命令查看socket的统计数据,并包含所有端口和对应的程序。


(5)利用命令查看并显示出所有正在登录本机的用户的名称及其正在开启的终端信息


(6)创建普通文件l.txt,用命令查看1.txt 文件的存储信息和时间等信息,然后更改文件Arime时间为2021年1月1日20:20:20,Mtime时间为2021年1月1日22:22:22.


子项目3——find命令的使用。


(1)在/目录下查找所有者是fishyoung用户的所有文件。


(2)在/var目录下查找所有者是root用户的所有文件。


(3)查找所有者不是root、bin和Jishyoung用户的所有文件,并用长格式显示(如“ls”的显示结果)


(4)查找/tmp.目录下属于fishyoung用户的所有普通文件,将这些结果用rm制除。


子项目4—-tar命令的使用


(1)在/home目录里,用ind命令定位文件所有者是fishyoung用户的文件,然后将其打包到/tmp/backup. tar.


(2)打包/ete目录下的文件到/tmp/confbackup.tar目录下。


(3)列出上面两个文件的大小。


(4)使用gzip压缩上面两个文件。
 

三.解析

1,文件和目录类命令的使用

# (1) 登录Linux服务器,并切换到家目录
cd ~

# (2) 查看当前所在的目录
pwd

# (3) 列出此目录下的文件和目录
ls

# (4) 列出此目录下包括隐藏文件在内的所有文件和目录
ls -a

# (5) 查看ls命令的使用手册
man ls

# (6) 在当前目录下,创建目录 test
mkdir test

# (7) 利用ls命令列出文件和目录,确认test目录创建成功
ls

# (8) 进入test目录,利用pwd查看当前工作目录
cd test
pwd

# (9) 利用touch命令,在当前目录创建一个新的空文件newfile
touch newfile

# (10) 利用cp命令复制系统文件/etc/profile到当前目录下
cp /etc/profile .

# (11) 复制文件profile为一个新文件profile.bak,作为备份
cp profile profile.bak

# (12) 用ll命令以长格式列出当前目录下的所有文件(ll通常是ls -l的别名)
ll

# 或者,如果你的系统没有ll命令,可以这样:
ls -l

# (13) 用more或者less命令分屏查看文件profile的内容
more profile
# 或者
less profile

# (14) 给文件profile创建一个软链接lnsprofile
ln -s profile lnsprofile

# (15) 给文件profile创建一个硬链接lnhprofile
ln profile lnhprofile

# (16) 以长格式显示文件profile、lnsprofile和lnhprofile的详细信息
ls -l profile lnsprofile lnhprofile


# (17) 删除文件profile,以长格式显示文件lnsprofile和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化
rm profile
ls -l lnsprofile lnhprofile
# 您可以通过观察lnhprofile的链接数(在ls -l输出的第三列)来比较变化

# (18) 用less命令查看文件lnsprofile的内容
less lnsprofile

# (19) 用less命令查看文件lnhprofile的内容
less lnhprofile

# (20) 删除文件lnsprofile,显示当前目录下的文件列表,返回到上层目录
rm lnsprofile
ls
cd ..

# (21) 用tar命令把目录test打包
tar -cvf test.tar test

# (22) 用gzip命令把打好的包进行压缩
gzip test.tar
# 这将生成一个名为test.tar.gz的文件

# (23) 把文件 test.tar.gz 改名为 backup.tar.gz
mv test.tar.gz backup.tar.gz

# (24) 显示当前目录下的文件和目录列表,确认重命名成功
ls

# (25) 把文件backup.tar.gz移动到test目录下
mv backup.tar.gz test/

# (26) 显示当前目录下的文件和目录列表,确认移动成功
ls
# 然后进入test目录查看
cd test
ls

# (27) 显示目录中的文件列表(已经在test目录下)
ls

# (28) 把文件backup.tar.gz解包解压
tar -xvzf backup.tar.gz

# (29) 退回到上一次目录,显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份
cd ..
ls
cp -r test testbak

# (30) 查找root用户家目录下的所有名为newfile的文件,并打包为newfile.tar


# 注意:这个命令需要root权限,如果您不是root用户,请使用sudo(如果允许的话)
# 此外,这里假设您知道root用户家目录的具体路径,比如/root
# 下面的命令将在/root目录下查找所有名为newfile的文件并打包
# 如果您不是root用户并且没有sudo权限,您将无法访问/root目录
sudo find /root -name newfile -print | sudo tar -cvf newfile.tar -T -
# 或者,如果您有sudo权限但不想使用管道,可以这样做:
# sudo tar -cvf newfile.tar $(sudo find /root -name newfile -print)
# 注意:这种方法可能不适用于所有shell,特别是当文件名包含特殊字符时

# (31) 删除test子目录下的所有文件
cd test
rm *
# 注意:这将删除test目录下的所有文件,但保留子目录(如果有的话)
# 如果您也想删除子目录及其内容,请使用rm -r *

# (32) 利用rmdir命令删除空子目录test(如果test目录不为空,这个命令将失败)
# 首先确保test目录为空:
ls
# 如果为空,则执行:
cd ..
rmdir test
# 如果test目录不为空,您需要先使用rm -r命令删除其内容

2,系统信息和进程管理类命令的使用。

# (1) 利用date命令显示系统当前时间,并尝试修改系统时间为2021年1月1日
# 显示当前系统时间
date

# 修改系统时间(需要root权限)
sudo date -s "2021-01-01 00:00:00"
# 请注意,无故更改系统时间可能会对系统和正在运行的服务造成不良影响。

# (2) 利用命令动态显示Linux系统状况
# 使用top命令来动态查看系统的运行状况
top

# (3) 利用命令查看系统的所有进程
# 使用ps命令配合-ef选项来列出所有进程
ps -ef

# (4) 利用命令查看socket的统计数据,包括所有端口及其对应的程序
# 使用netstat命令,或者在新系统上使用ss命令
# netstat命令(可能在某些新系统上已弃用)
netstat -tulnp

# 或者使用ss命令
ss -tulnp

# (5) 查看并显示所有正在登录本机的用户的名称及其开启的终端信息
# 使用who命令来查看当前登录的用户及其终端信息
who

# (6) 创建普通文件1.txt,查看其存储信息和时间信息,并更改其Access时间和Modification时间
# 创建文件1.txt
touch 1.txt

# 查看文件详细信息(包括时间戳)
stat 1.txt

# 更改文件的Access时间(Atime)和Modification时间(Mtime)
# 使用touch命令的-a和-m选项分别设置Atime和Mtime
touch -a -t 202101012020.20 1.txt  # 设置Access时间
touch -m -t 202101012222.22 1.txt  # 设置Modification时间

# 再次查看文件详细信息以确认更改
stat 1.txt
 

3,find命令的使用

# (1) 在/目录下查找所有者是fishyoung用户的所有文件
find / -user fishyoung -type f

# (2) 在/var目录下查找所有者是root用户的所有文件
find /var -user root -type f

# (3) 查找所有者不是root、bin和fishyoung用户的所有文件,并用长格式显示
# 注意:这里我们使用了'!'来表示逻辑非,即所有者不是这些用户的文件
# 同时,我们使用'-exec'选项来执行'ls -l'命令以长格式显示文件信息
find / -not -user root -and -not -user bin -and -not -user fishyoung -type f -exec ls -l {} \;

# (4) 查找/tmp目录下属于fishyoung用户的所有普通文件,并将这些结果用rm删除
# 注意:执行删除操作时要非常小心,确保您确实要删除这些文件
find /tmp -user fishyoung -type f -exec rm {} \;
 

提示:

        在使用find命令时,特别是当您打算执行删除操作时,请务必小心。建议先使用find命令配合-print或-ls等选项来查看结果,确认无误后再执行删除操作。
        在某些情况下,您可能需要使用sudo命令来提升权限,以便查找和修改属于其他用户的文件。
        在执行删除操作之前,请确保您已经备份了重要数据,以防万一。
        关于(3)中的长格式显示,find命令本身并没有直接提供类似ls -l的详细输出格式。但是,我们可以通过-exec选项来调用ls -l命令对找到的文件执行详细列出操作。这种方法可能会在每个文件上调用一次ls -l,导致输出不够紧凑。如果您需要更紧凑的输出格式,可以考虑将结果重定向到一个文件或使用其他脚本处理工具来格式化输出。

4,tar命令的使用

# (1) 在/home目录里,用find命令定位文件所有者是fishyoung用户的文件,然后将其打包到/tmp/backup.tar
# 首先找到所有者为fishyoung的文件,然后使用tar命令打包
find /home -user fishyoung -type f -print0 | tar --null -cvf /tmp/backup.tar --files-from -
# 注意:这里使用了-print0和--null选项来处理文件名中可能包含的特殊字符(如空格、换行等)

# (2) 打包/etc目录下的文件到/tmp/confbackup.tar文件下
# 直接使用tar命令打包/etc目录
tar -cvf /tmp/confbackup.tar /etc
# 注意:这里打包的是整个/etc目录,包括其子目录和文件。如果只想打包/etc目录下的文件而不包括子目录,可以使用find命令配合tar的--files-from选项,类似于上面的方法。

# (3) 列出上面两个文件的大小
# 使用ls命令配合-lh选项来以人类可读的格式显示文件大小
ls -lh /tmp/backup.tar /tmp/confbackup.tar

# (4) 使用gzip压缩上面两个文件
# 使用gzip命令对tar文件进行压缩
gzip /tmp/backup.tar
gzip /tmp/confbackup.tar
# 压缩后,文件将被重命名为backup.tar.gz和confbackup.tar.gz
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值