文章目录

  • 一、实验目的
  • 二、实验要求
  • 三、实验内容
    • ⭐(1)使用超级用户及普通账户登录Linux系统,查看shell提示符确定使用的shell程序类型;
    • ⭐(2)使用who命令查阅用户与系统启动状态列表;
    • ⭐(3)使用ls族命令查看文件系统的结构,查看系统的主要静态与动态目录,并配合管道线使用;
    • ⭐(4)目录切换cd与路径显示命令pwd的使用;
    • ⭐(5)用户文件的移动、复制、删除、查找、比较类操作;
    • ⭐(6)创建和删除用户目录,并对用户目录进行移动、复制、删除、查找类操作;
    • ⭐(7)使用ln命令创建软链接和硬连接,并使用-il命令查看索引节点号的变化;
    • ⭐(8)输入输出重定向操作:定向符 >、>>、< 、<<的使用,以及使用管道线“|”连接两个过滤器命令;
    • ⭐(9)使用dd、tee命令进行输入输出转换;
    • ⭐(10)使用chmod命令设置用户目录与用户文件的存取权限,并思考原理;
    • ⭐(11)使用man命令查看命令文件的格式及说明;
    • ⭐(12)cal、date、echo、find等常见命令的使用;
    • ⭐(13)字符串类命令使用:匹配、排序、统计等;
    • ⭐(14)查阅当前用户及系统进程,并发送杀死某进程命令;
    • ⭐(15)文件归档命令tar和压缩/解压缩如gzip等同类命令;
    • ⭐(16)磁盘类命令的使用:格式化、文件拷贝、磁盘拷贝;(挂载等暂未理解)
  • 四、实验报告要求
  • 五、其他

Linux均以文件形式存在
本文出现的命令浅尝辄止,具体使用参考文档即可
解决一个任务的方法很多,本文仅浅试了一些简单的命令

一、实验目的

要求掌握Linux基础操作,熟悉Linux行界面,并明白操作的原理以及目的(难);熟悉Linux系统环境。

二、实验要求

通过这个第一阶段实验,要求掌握以下操作与相关知识:
(一)启动与关闭系统;
(二)熟悉Linux操作系统的文件与目录结构;
(三)文件/目录管理命令;
(四)字符串处理命令;
(五)磁盘与进程管理命令;

三、实验内容

⭐(1)使用超级用户及普通账户登录Linux系统,查看shell提示符确定使用的shell程序类型;

$echo $SHELL
$echo $0  #(数字0,这个命令不是所有Shell都支持)
$ps  #有一个进程是bash,说明shell类型是bash。
#输入一条不存在的命令,报错信息的开头就能看出来。
$cat /etc/passwd |grep <用户名>
$cat  /etc/passwd  #命令查看文件的最后一行



如何查看当前使用的Shell类型/CSDN@梅子1微酸

⭐(2)使用who命令查阅用户与系统启动状态列表;

$who -H
$who -H -a  #打印全面的信息
$who -l  #打印系统登录进程
$who -q  #显示登录系统的所有用户名称和总人数

Linux 命令之 who – 打印当前登录用户/显示目前登入系统的用户信息。/CSDN@liaowenxiong

⭐(3)使用ls族命令查看文件系统的结构,查看系统的主要静态与动态目录,并配合管道线使用;

$ls -l  #显示当前目录所包含子目录和文件的信息
$ls -a  #显示当前目录所包含的隐藏文件信息

⭐(4)目录切换cd与路径显示命令pwd的使用;

$cd /etc
$pwd
$cd ..
$pwd

⭐(5)用户文件的移动、复制、删除、查找、比较类操作;

$touch 文件名  ##创建一个空文件
$mv 文件或目录 新文件或目录
$cp 源文件或目录 目标文件或目录
$rm 文件名  #删除文件
$find 目录 -name 要查找的文件名

Linux基本命令之目录文件基本操作(查看、创建、复制、移动、删除、查找)/CSDN@那老谁家的小谁

⭐(6)创建和删除用户目录,并对用户目录进行移动、复制、删除、查找类操作;

$mkdir 目录名
$mv 文件或目录 新文件或目录
$cp -r 源文件或目录 目标文件或目录
$rmdir 空目录

⭐(7)使用ln命令创建软链接和硬连接,并使用-il命令查看索引节点号的变化;

$ln [-s][-f] 源文件 目标文件  #一个文件可以在多个目录中登记,以达到多路径访问该文件的目的。
$ls -il

Linux下,ln、cp、mv、rm命令对文件链接数和索引节点号的影响/CSDN@Edward_Yam
硬链接和软连接/CSDN@ChipArtist
👇
软链接是另一个文件,作用可以理解为一个指针,作用在这个文件上的操作除了删除都直接转向实际指向文件,由于是一个真实的文件所以占用磁盘空间
硬链接可以认为不是一个文件,它只是实际文件的一个别名,它的作用是防止真实文件被误操作,给一个文件建立硬链接后,他们互为别名,删除其中任意一个,
只会删除该别名,实际文件并不会被删除。由于只是别名没有任何其他信息,所以并不占用原始文件大小的磁盘空间。

⭐(8)输入输出重定向操作:定向符 >、>>、< 、<<的使用,以及使用管道线“|”连接两个过滤器命令;

$touch file.md
$echo Hello > file.md
$cat file.md
$read h < file.md
$echo $h
#file.md文件的内容是“Hello”,上述的例子就是把file.md的内容重定向到h这个变量中,并把变量h打印出来。 

$echo helloworld > test
$cat test
$echo 123456 > test
$cat test
#这个会把文件内容清空,在把输出内容重定向到指定的文件里,并且如果文件不存在则创建

$echo Hello,China >> file
$cat file
$echo WangJingwang >> file
$cat file
#会把输出的内容追加到执行的文件里,该文件不会清空,并且如果文件不存在则会创建
#输入和输出重定向也是可以组合使用的

$cat << 0  #以0为分界线结束输入

$cat /proc/cpuinfo |grep name|cut -d : -f 2|uniq  #查看当前机器的CPU类型

Shell编程-输入输出重定向/CSDN@路上的追梦人

Linux重定向(输入输出重定向)详解/C语言中文网

24 shell 管道命令与过滤器 /博客园@yuandian43

⭐(9)使用dd、tee命令进行输入输出转换;

#将指定的输入文件拷贝到指定的输出文件中,并可进行格式转换
dd  conv=ucase            #将标准输入字母改为大写格式到标准输出
$dd  if=/usr/lj/kkk  of=/usr/hhh  conv=ucase

#Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。
#tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
$ tee file1 file2                   #在两个文件中复制内容
$ 输入内容
My Linux                        #提示用户输入数据  
My Linux                        #输出数据,进行输出反馈  

Ctrl+C退出tee命令
Ctrl+D退出超级用户

Linux dd 命令/菜鸟教程

⭐(10)使用chmod命令设置用户目录与用户文件的存取权限,并思考原理;

该命令可对3层存取结构的权限逐一修改:
      +  增加权限
      --  减少权限
      =   设置权限(=右边无任何设置值则相当于取消相应层的全部权限)
可指明修改哪一层(组)的权限(直接跟在chmod之后,空格相隔)
      u   文件主           g    同组用户
      o   其他用户         a    默认值,表示所有用户

chmod句法形式:
符号方式    $chmod  u-x, g+rx, o=w  filename
绝对方式    $chmod  630  filename     
$chmod  =  filename    等同于    $chmod  000  filename 

$mkdir  test
$touch  test2
$chmod  700  test
$ls -l
$chmod  u-x, g+rx, o=w  test      #把test目录的权限设置为700
$chmod  777  test2                #把test2文件的权限设置为777
$ls -l

Linux chmod命令/菜鸟教程

⭐(11)使用man命令查看命令文件的格式及说明;

man [命令]  #可以使用 man [命令] 来查看各个命令的使用文档
$man cp

⭐(12)cal、date、echo、find等常见命令的使用;

sudo apt install ncal 
#显示日历
$cal 8 2000
$cal Aug 2000

#显示当前系统日期与时间
$date
$date +"%Y-%m-%d"

#显示命令行中的所有参数(键入信息)
$echo Hello, World!
$echo 'Hello "World!"'

#find查找文件
$find . -type f  #将当前目录及其子目录中的所有文件列出

Linux date 命令/菜鸟教程
Linux常用命令13 - echo/知乎@叉叉棣
Linux find 命令/菜鸟教程

⭐(13)字符串类命令使用:匹配、排序、统计等;

sudo apt install vim

#匹配
$grep str 文件名

#排序
$sort 文件  #按照ASCII码默认排序

#统计
$grep -c str 文件名

Linux grep 命令/菜鸟教程
Linux sort 命令/菜鸟教程
如何在shell中统计某字符串的个数/博客园@whisper_hm

⭐(14)查阅当前用户及系统进程,并发送杀死某进程命令;

ps aux
#显示其他用户启动的进程(a);查看系统中属于自己的进程(x);启动这个进程的用户和它启动的时间(u)

#ps命令:显示当前用户进程或系统进程
$ps -e          #显示当前运行的所有进程(包括shell)
$ps -u [name]   #显示用户user的相关进程信息 
$ps -t [tty01]  #显示终端tty01的相关进程信息 
$ps -el         #长格式显示当前所有进程信息
$ps -elf        #长格式显示系统完整进程信息
$pstree         #树结构进程
$top            #实时进程

#热键关闭/杀死进程
#注意不要杀死自己!
kill [信号名或编号UID] [进程号PID]
$kill  -9  234    等同于    $kill  -KILL  234    #强行终止进程234

$kill  -l   #列出kill能识别的所有信号名
HUP(1)       挂起信号
INT(2)       中断信号              $kill  -2  234
QUIT(3)      退出信号
KILL(9)      杀死进程信号          $kill  -9  234
TERM(15)     软件终止信号   


但我试的几个进程都没没杀掉,不要杀死当前终端的进程👇

LINUX查看进程的4种方法(小结)/腾讯云开发者社区@砸漏
Linux kill命令/菜鸟教程
👇
Linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因。
Linux kill命令详解:终止进程/C语言中文网
👇
使用 kill 命令一定可以终止一个进程吗?
答案是否定的。文章开头说过,kill 命令只是“发送”一个信号,因此,只有当信号被程序成功“捕获”,系统才会执行 kill 命令指定的操作;反之,如果信号被“封锁”或者“忽略”,则 kill 命令将会失效。

⭐(15)文件归档命令tar和压缩/解压缩如gzip等同类命令;

#文件归档命令
tar
#命令格式:tar  [options]  filename.tar  filename1  filename2 ...

tar命令使用 -z选项会同时完成归档及压缩
使用格式:tar -zcf  filename.tar.gz filename1 filename2 ...
解压命令: tar -zxf filename.tar.gz

解压命令: tar -zxvf 文件名.tar.gz
压缩命令: tar -zcvf 文件名.tar.gz 待压缩的文件名

z:通过gzip支持压缩或解压缩。还有其他的压缩或解压缩方式,比如j表示bzip2的方式。
x:解压缩。
c:是压缩,compress
v:在压缩或解压缩过程中显示正在处理的文件名
f:f后面必须跟上要处理的文件名。

#压缩
$gzip 待压缩的文件名    #压缩为.gz格式并删除原文件
$bzip2 待压缩的文件名   #压缩为.bz2格式并删除原文件
$xz 待压缩的文件名      #压缩为.xz格式并删除原文件
$zip -p -r 文件名.zip 文件名    #压缩为.zip格式

#解压缩
$gunzip 待解压的文件名    #解压并删除原压缩包
$bzip2 -d 待解压的文件名  #解压并删除原压缩包
$xz -d 待解压的文件名     #解压并删除原压缩包
$unzip 文件名.zip


Linux命令 - gunzip命令/CSDN@EstherLty

其实函数使用man或–help等查询用法即可,文章作用不大,除非是为了偷懒看看中文。

⭐(16)磁盘类命令的使用:格式化、文件拷贝、磁盘拷贝;(挂载等暂未理解)

$df  #查看磁盘信息
$df -h

#格式化
format
format  -v  #格式化默认软驱中的磁盘
format  -v  /dev/rfd0135ds18   #格式化主驱动器中软盘
#rfd—软盘原始设备;0—主软盘驱动器(1表示第二个软驱)
#135—每英寸135磁道(高密度)
#ds—double side
#18—每磁道18个扇区

#文件拷贝
dd
#将指定的输入文件拷贝到指定的输出文件中,并可进行格式转换
dd  conv=ucase  #将标准输入字母改为大写格式到标准输出
dd  if=/usr/kkk  of=/usr/hhh  conv=ucase

#磁盘拷贝
diskcp
#插入源盘,键入命令:
$diskcp
#系统提示再插入目标盘,回车确认
$diskcp  -f  #拷贝前先格式化目标盘

$sudo apt-get install util-linux
$sudo su

$mkfs. #按Tab查看都有哪些文件类型

#格式化
$mkfs.ext3 /dev/sda1  #格式化根下的sda1分区,格式化类型为.ext3
$ll /dev/sda1         #查看格式化完毕后的分区的文件类型信息
#sda5为一个块设备文件。8表示主设备号,5表示的为从设备号。
#已经格式化好的sda5不能直接使用,要想用这个磁盘还需要挂载。

#文件拷贝
$dd if=/dev/hdb of=/dev/hdd
#将本地的/dev/hdb整盘备份到/dev/hdd
$dd  if=test.txt  of=test1.txt  conv=ucase
##将标准输入字母改为大写格式到标准输出

#磁盘拷贝(备份)
$dd if=/dev/sda of=/root/sda.img
#sda.img 文件就是已经备份的磁盘映像文件,里面存储着 /dev/sda 整块硬盘的内容。
#假如 /dev/sda 硬盘真的出现了故障,我们就可以将曾经备份的 sda.img 复制到另一台电脑上,并将其恢复到指定的 sdb 盘中去。
$dd if=/root/sda.img of=/dev/sdb
#PS:sda磁盘备份很大,没有用没必要备份,可配合压缩使用


一篇看懂!Linux磁盘的管理(分区、格式化、挂载),LVM逻辑卷,RAID磁盘阵列/知乎@字诀跳动
👇
使用命令:mkfs.然后用按TAB来查看都有哪些文件类型。

Linux命令之mkfs命令/CSDN@恒悦sunsite
👇
mkfs是跟fdisk、fsck、mount等命令都是util-linux包的一部分

dd命令_Linux dd命令:复制(拷贝)文件,并对原文件进行转换/C语言中文网

四、实验报告要求

(1)认真撰写实验报告;
(2)综合、客观地进行个人评定。

五、其他

每个终端都是一个进程,模仿多用户

PS:多看几个字,多学几个点

更多推荐

【Linux操作系统】【综合实验一 Linux操作基础】【浅试Linux命令】