Linux第二周

1.描述Linux发行版的系统目录名称命名规则以及用途

命名规则

  • 文件系统从根目录下开始,用“/”表示
  • 标准Linux文件系统(如:ext4),文件名称大小写敏感
  • 路径分隔的 /
  • 文件名最长255个字节
  • 包括路径在内文件名称最长4095个字节
  • 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引
    号来引用

系统目录用途

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
    b: block device,随机访问
    c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
    bin: 保证系统拥有完整功能而提供的应用程序
    sbin:
    lib:32位使用
    lib64:只存在64位系统
    include: C程序的头文件(header files)
    share:结构化独立的数据,例如doc, man等
        local:第三方应用程序的安装位置
            bin, sbin, lib, lib64, etc, share
/var: variable data files
    cache: 应用程序缓存数据目录
    lib: 应用程序状态信息数据
    local:专用于为/usr/local下的应用程序存储可变数据
    lock: 锁文件
    log: 日志目录及文件
    opt: 专用于为/opt下的应用程序存储可变数据
    run: 运行中的进程相关数据,通常用于存储进程pid文件
    spool: 应用程序数据池
    tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

2.描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

文件系统中的数据有两类, 一类是数据,另一类是元数据

  • 数据:普通文件中的实际数据
  • 元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息,具体时间查看等等;
[root@localhost ~]# stat file 
  File: file
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 33575045    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2021-02-07 22:31:03.137022076 +0800
Modify: 2021-02-07 22:31:03.137022076 +0800
Change: 2021-02-07 22:31:03.137022076 +0800
 Birth: -

[root@localhost ~]# touch -a " " file
[root@localhost ~]# stat file 
  File: file
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 33575045    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2021-02-07 22:31:56.659022162 +0800
Modify: 2021-02-07 22:31:03.137022076 +0800
Change: 2021-02-07 22:31:56.659022162 +0800
 Birth: -

3.总结软链接和硬链接区别,并用实例操作说明。

硬链接软链接
本质是同一个文件不是同一个文件
跨设备不支持支持
inode相同不同
链接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少创建或删除,链接数不会变化
文件夹不支持支持
相对路径原始文件相对路径是相对于当前工作目录

原始文件的相对路径是相对于链接文件的相对路径

删除源文件只是链接数减一,但链接文件的访问不受影响链接文件将无法访问
文件类型和源文件相同链接文件,和源文件无关

范例:硬链接

[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1335 Dec 25 12:10 anaconda-ks.cfg
-rw-r--r--. 2 root root    0 Feb  7 22:31 file
-rw-r--r--. 2 root root    0 Feb  7 22:31 file.ln
[root@localhost ~]# ln file /boot/file.ln
ln: failed to create hard link '/boot/file.ln' => 'file': Invalid cross-device link

范例:软链接

[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1335 Dec 25 12:10 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Feb  7 22:31 file
[root@localhost ~]# ln -s /root/file /boot/file.ln
[root@localhost ~]# ll file /boot/file.ln 
lrwxrwxrwx. 1 root root 10 Feb  7 23:24 /boot/file.ln -> /root/file
-rw-r--r--. 1 root root  0 Feb  7 22:31 file

4.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

pwd:显示当前工作目录
    -P 显示真实物理路径
    -L 显示链接路径(默认)
[root@localhost ~]# pwd -P
/root

basename:只取文件名不要路径
[root@localhost ~]# basename /etc/sysconfig/network-scripts/ifcfg-ens160 
ifcfg-ens160

dirname:只取路径不要文件名
[root@localhost ~]# dirname /etc/sysconfig/network-scripts/ifcfg-ens160 
/etc/sysconfig/network-scripts

cd:改变目录
    -P 切换至物理路径,而非软链接目录
[root@localhost ~]# cd /

ls:列出目录内容
    -a 包含隐藏文件
    -l 显示额外的信息
    -R 目录递归
    -ld 目录和符号链接信息
    -1 文件分行显示
    -S 按从大到小排序
    -t 按mtime排序
    -u 配合-t选项,显示并按atime从新到旧排序
    -U 按目录存放顺序显示
    -X 按文件后缀排序
[root@localhost ~]# ls -ald /
dr-xr-xr-x. 17 root root 224 Dec 25 11:59 /

stat:查看文件状态
[root@localhost ~]# stat file 
  File: file
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 33575045    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2021-02-07 22:31:56.659022162 +0800
Modify: 2021-02-07 22:31:56.659022162 +0800
Change: 2021-02-07 23:22:41.020027061 +0800
 Birth: -

file:查看文件类型
    -b 列出文件辨识结果时,不显示文件名称
    -f filelist 列出文件filelist中文件名的文件类型
    -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
    -L 查看对应软链接对应文件的文件类型
[root@localhost ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text

touch:创建文件和刷新时间
    -a 仅改变 atime和ctime
    -m 仅改变 mtime和ctime
    -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
    -c 如果文件不存在,则不予创建
[root@localhost ~]# touch file.txt

cp:复制文件和目录
    -i 如果目标已存在,覆盖前提示是否覆盖
    -n 不覆盖,注意两者顺序
    -r, -R 递归复制目录及内部的所有内容
    -a 归档,相当于-dR --preserv=all,常用于备份功能
    -d --no-dereference --preserv=links 不复制原文件,只复制链接名
    --preserv[=ATTR_LIST]
    mode: 权限
    ownership: 属主属组
    timestamp:
    links
    xattr
    context
    all
    -p 等同--preserv=mode,ownership,timestamp
    -v --verbose
    -f --force
    -u --update 只复制源比目标更新文件或目标不存在的文件
    -b 目标存在,覆盖前先备份,默认形式为 filename~ ,只保留最近的一个备份
    --backup=numbered 目标存在,覆盖前先备份加数字后缀,形式为filename.~#~ ,可以保留多
      个版本
[root@localhost ~]# cp -av /etc/ /data/backup`date +%F`
[root@localhost ~]# cp -a /root /data/rootdir

mv:移动和重命名文件
    -i 交互式
    -f 强制
    -b 目标存在,覆盖前先备份

rm:删除文件
    -i 交互式
    -f 强制删除
    -r 递归
    --no-preserve-root 删除/
[root@localhost ~]# rm -rf /

tree:显示目录树
    -d: 只显示目录
    -L level:指定显示的层级数目
    -P pattern: 只显示由指定wild-card pattern匹配到的路径

mkdir:创建目录
    -p: 存在于不报错,且可自动创建所需的各目录
    -v: 显示详细信息
    -m MODE: 创建目录时直接指定权限

rmdir:删除空目录
    -p 递归删除父空目录
    -v 显示详细信息

5.复制 /etc/profile 至 /tmp/ 目录,用查找替换命令删除 /tmp/profile 文件中的行首的空白字符

[root@localhost ~]# cp /etc/profile /tmp/
[root@localhost ~]# cat /tmp/profile | tr -d ' '

6.在vim中设置tab缩进为4个字符

[root@localhost ~]# vim ~/.vimrc
#!/bin/bash
set et
set ts=4
[root@localhost ~]# . ~/.vimrc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值