Linux实验 (3) 熟悉Linux文件、磁盘和软件包管理

如题…又是上课实验备份

1. 查看Linux的根目录,列出Linux系统根目录下的主要目录,并说明目录的用途

在这里插入图片描述

  • /boot --------- 存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。

  • /etc --------- 系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。

  • /lib --------- 根文件系统目录下程序和核心模块的共享库。这个目录里存放着系统最基本的动态链接共享库,类似于Windows下的system32目录,几乎所有的应用程序都需要用到这些共享库。

  • /media --------- 主要用于挂载多媒体设备。ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。

  • /proc --------- 这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

  • /sbin --------- s就是SuperUser的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。

  • /tmp --------- 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。

  • /home --------- 用户的主目录。下面是自己定义的用户名的文件夹。每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。

  • /mnt --------- 此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点。如挂载Windows下的某个分区。

  • /root --------- 系统管理员(超级用户),即根用户的主目录

  • /srv --------- 存储系统提供的服务数据

  • /usr --------- 包括与系统用户直接有关的文件和目录
    /usr/X11R6    存放X-Windows的目录;

    /usr/games   存放着XteamLinux自带的小游戏;

    /usr/bin     用户和管理员的标准命令;

    /usr/sbin      存放root超级用户使用的管理程序;

    /usr/doc      Linux技术文档;

    /usr/include    来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++;

    /usr/lib      应用程序和程序包的连接库;

    /usr/local     系统管理员安装的应用程序目录;

    /usr/man     帮助文档所在的目录;

    /usr/src      Linux开放的源代码;

    /usr/share   用于存放一些共享的数据,比如音乐文件或者图标等等

  • /var --------- 用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。

    /var/cache 应用程序缓存目录;

    /var/crash 系统错误信息;

    /var/games 游戏数据;

    /var/log 日志文件;

    /var/mail 电子邮件;

    /var/tmp 临时文件目录;

  • /bin ---------bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。

2. 在/tmp目录下新建文件myfile。

在这里插入图片描述

3.查看文件myfile属性等详细信息。

在这里插入图片描述

4.将上题myfile的权限更改为对所有人均可读写。

在这里插入图片描述

5.将文件/var/log/syslog(如该文件不存在,换为其他任意文本文件)拷贝到/tmp目录下,且命名为syslogbak。

在这里插入图片描述

6.查看文件/tmp/syslogbak的内容,请比较查看文本文件内容的命令有哪些?各有何特点?

在这里插入图片描述

7.在/tmp目录下新建目录mydir。

在这里插入图片描述

8.将文件/tmp/ syslogbak移动至目录/tmp/mydir。

在这里插入图片描述

9.删除文件/tmp/mydir/syslogbak。

在这里插入图片描述

10.删除目录/tmp/mydir。

11.在整个文件系统中查找名为sudo的文件(find)。

在这里插入图片描述

12.在整个文件系统中查找名字中包含sudo的文件。

在这里插入图片描述

13.在整个文件系统中查找名为sudo的命令。

在这里插入图片描述

14.在目录/tmp下新建目录testdir,并在该新建目录下新建文件testfile,然后将文件testfile复制两份,分别命名为testfile2和testfile3。

在这里插入图片描述

15.根据题目14,将目录/tmp/testdir打包为一个.tar文件。

在这里插入图片描述
在这里插入图片描述

16.根据题目15,将生成的tar文件进行压缩,生成后缀为.tar.gz的压缩文件。

在这里插入图片描述
在这里插入图片描述

17.在文件系统中查找一个链接文件(find)。
find / -type l
18.分别创建一个文件的软链接和硬链接文件,修改文件内容后,观察链接文件的内容和属性等信息。

在这里插入图片描述

1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

19.理解umask命令的作用,重新设置umask的值,将新建文件的默认权限设置为所有人可读写。

在这里插入图片描述

权限我们知道有r, w, x三种,umask表示缺省权限,umask返回4位的数字,第一位是特殊权限,先看后三位。所以022是-w-w

文件权限为:最大权限减去umask权限

在根用户下,用 vi 打开 /etc/bashrc 文件,然后找到 设置 umask 值的行,此时就可以修改了。修改完保存,退出,记住,此时只有先关掉 命令行终端,下次再启动时生效。

20.新建一个文件,查看其所属者和所属组,然后修改其所属者和所属组。

在这里插入图片描述

21.找出/etc目录下,文件大小介于50kB和60kB之间的文件,同时将文件详细信息列出(find)。

在这里插入图片描述

22.找出/etc目录下,文件大小大于50kB且文件所有者不是root的文件,同时将文件详细信息列出(find)

在这里插入图片描述

23.找出/etc目录下,文件容量大于1500kB及容量等于0的文件(find)。

在这里插入图片描述

24.比较命令(1)cd (2)cd ~ (3)cd … (4)cd -的异同。
  • cd:进入当前用户主目录
  • cd ~:同上
  • cd -:跳转到指定目录
25.比较命令(1)rm (2)rm -r (3)rmdir的异同。
  • rmdir:删除一个空的目录
  • rm:删除文件或者目录
  • rm -r:删除此目录下的所有文件,但是此目录不删除
  • rm -rf:删除该目录以及该目录下的所有文件
26.比较命令whoami、who am i、who的异同。
  • whoami:显示的是当前用户下的用户名
  • who am i:显示的是登录时的用户名
  • who:显示当前真正登录系统中的用户(不会显示那些用su命令切换用户的登录者)
27.目录/root下有哪些隐藏文件?
find / -name ".*" -type f
28.假如系统中已存在2个普通用户(user1和user2,注:此处用户名只是举例,真正用户名以个人系统上为准),首先使用root用户在/tmp目录下新建目录mydir,将其所属组改为user1,权限更改为drw-r-x–x,然后分别使用普通用户user1和user2登录系统,分别进入目录/tmp/mydir下和新建文件,结果是什么?为什么?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

29.接上题,如何才能使user1和user2成功进入/tmp/mydir目录,并能新建文件?

user2:使用root用户登录系统,修改文件内容:vim /etc/sudoers 即可。

30.查看文件/etc/hostname的访问时间、修改时间和改变时间(stat)。

linux下命令stat会出现访问时间、修改时间和改变时间。

  • 访问时间 access time
    access,就是访问(读取或者写入)的时间。 比如more、less、vim等操作,不管改变内容与否,只要是读取或者写入,访问时间就会更新。
  • 修改时间 modify time
    比如vim、cat重定向等操作,改变了文本的内容,修改时间就会更新。
  • 改变时间 change time
    比如chmod、改变文本等操作,改变时间就会更新。

cat重定向,改变文本内容,不会更新访问时间,因为没有读取文本。

31.查看目录/etc所占的空间大小(du)。

在这里插入图片描述

32.查看当前系统挂载的磁盘有哪些(df)。

在这里插入图片描述

33.为虚拟机添加一个5个G的磁盘,并对该磁盘进行分区和格式化(ext4),并挂载磁盘到/mnt/web目录。
  • 添加:虚拟机——设置——硬盘:
    在这里插入图片描述
  • 分区:
    查看磁盘信息:
    在这里插入图片描述

添加分区:
在这里插入图片描述

  • 格式化分区
    在这里插入图片描述

  • 挂载磁盘
    在这里插入图片描述
    这种方式只临时挂载到目录下,下次开机时不会自动挂载

  • 开机自动挂载
    编辑/etc/fstab文件,在文件中添加如下内容:

    /dev/sdb /mnt/web ext4 defaults 1 1

34.查询系统已经安装的软件(dpkg)
dpkg --get-selections
35.用apt工具安装chrome浏览器软件。

1、首先导入google 的key
wget --quiet http://dl.google.com/linux/linux_signing_key.pub -O - | sudo apt-key add -

2、运行命令:sudo gedit /etc/apt/sources.list.d/google-chrome.list 在文件最后添加下面一行:
deb http://dl.google.com/linux/deb/ stable main
保存后退出。
3、运行 sudo apt-get update
4、运行命令:sudo apt-get install google-chrome-unstable 可安装dev版的google chrome;
同理,运行命令:sudo apt-get install google-chrome 可安装稳定版chrome;
运行命令:sudo apt-get install google-chrome-beta可安装测试版chrome.

36.使用wget从https://nginx.org/en/download.html下载最新的nginx的linux软件,解压下载的nginx包,并尝试编译和安装。
  1. 下载源码:wget http://nginx.org/download/nginx-1.11.10.tar.gz
  2. 解压: tar -zxvf nginx-1.11.10.tar.gz
  3. 进入解压缩后的目录执行配置文件文件:
    [root@mysql ~]# cd nginx-1.11.10
    [root@mysql nginx-1.11.10]# ./configure
  4. 安装必要的依赖包:
    [root@mysql nginx-1.11.10]# yum install pcre-devel
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值