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

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

Linux发行版的系统目录
[15:55:29root@centos8/]#tree -L 1
.
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── misc
├── mnt
├── net
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

Linux系统命名规则

  • 文件和目录被组织成一个单根倒置树结构
  • 文件系统从根目录下开始,用"/"表示
  • 严格区分字符的大小写
  • 文件名可以使用除斜杠(/)以外的任意字符
  • 文件名最长255个字节
  • 包括路径在内文件名称最长4095个字节
  • 除了斜杠和NUL,所有字符都有效。

各个目录的用途

  • /boot 系统启动引导文件,内核文件(vmlinuz)以及引导加载器(bootloader,grub)都存 放在次目录下
  • /bin 所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
  • /sbin 管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
  • /lib 存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules)
  • /lib64 专用于x86_64系统上的辅助共享库文件存放位置
  • /etc 配置文件目录
  • /home 普通用户的家目录
  • /root 管理员的家目录
  • /media 移动式设备的挂载点
  • /mnt 临时文件系统挂载点
  • /dev 设备文件和特殊文件存储位置
  • /opt 第三方引用程序的安装位置
  • /srv 系统上运行服务用到的数据
  • /tmp 临时文件存储位置
  • /usr 全局共享的只读数据路径
  • /var 存储常发生变化的数据库的目录 一般情况下,使用较多的时 /var/log 日志目录
  • /proc 内存映射,用于输出内核与进程信息相关的虚拟文件系统
  • /sys 用于输出当前系统上硬件设备相关信息虚拟文件系统

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

文件中的元数据信息

File: 文件名
Size: 文件大小(单位:B)
Blocks: 文件所占块个数
Inode: 文件的索引节点号
Links: 硬链接次数
UID: 文件属主
GID:文件所属组
三个时间戳
access time:访问时间,简写atime,读写文件内容
modify time: 修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变

查看文件元数据的方法:stat + 文件名

[18:12:48lqf@centos8~]$stat test.txt
  File: test.txt
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 10302h/66306d   Inode: 134322331   Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     lqf)   Gid: ( 1000/     lqf)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2020-12-05 18:12:39.481889538 +0800
Modify: 2020-12-05 18:12:39.481889538 +0800
Change: 2020-12-05 18:12:39.481889538 +0800
 Birth: -

修改文件时间戳信息的方法

touch 命令,格式:touch [OPTION] FILE
选项说明:
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss],指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建

3、总结软连接和硬连接区别,并用实例操作说明

(1)硬链接与原文件指向同一个物理文件,具有相同的inode号,创建硬链接时链接数递增。下图比较了对f1文件建立硬链接前后的文件信息

[18:29:40lqf@centos8~]$ll -i f1
134322331 -rw-rw-r--. 1 lqf lqf 0 Dec  5 18:29 f1
[18:29:46lqf@centos8~]$ln f1 f1_hlink
[18:30:21lqf@centos8~]$ll -i f1*
134322331 -rw-rw-r--. 2 lqf lqf 0 Dec  5 18:29 f1
134322331 -rw-rw-r--. 2 lqf lqf 0 Dec  5 18:29 f1_hlink

(2)软链接与原文件是不同的文件,具有不同的inode号,创建软链接时链接数不变。软链接是一个指向原文件的符号链接,类似于windows中的快捷方式。下图比较了对文件f2建立软链接前后的文件信息

[18:35:08lqf@centos8~]$ll -i f2
134314087 -rw-rw-r--. 1 lqf lqf 0 Dec  5 18:35 f2
[18:35:16lqf@centos8~]$ln -s f2 f2_slink
[18:35:37lqf@centos8~]$ll -i f2*
134314087 -rw-rw-r--. 1 lqf lqf 0 Dec  5 18:35 f2
134734741 lrwxrwxrwx. 1 lqf lqf 2 Dec  5 18:35 f2_slink -> f2

(3)创建硬链接时原文件的路径相对的是当前工作目录,创建软链接时原文件的路径相对的是软链接的文件路径。如下所示:

[18:39:42lqf@centos8~]$ln -s ../f1 dir1/f1_slink
[18:40:26lqf@centos8~]$ll dir1/
total 0
lrwxrwxrwx. 1 lqf lqf 5 Dec  5 18:40 f1_slink -> ../f1

(4)创建硬链接时不能跨硬盘分区;软链接可以跨硬盘分区创建。如下所示:

[18:49:31root@centos8~]#ln f1 /data/f1_hlink
ln: failed to create hard link '/data/f1_hlink' => 'f1': Invalid cross-device link
[18:49:49root@centos8~]#ln -s f1 /data/f1_slink
[18:50:01root@centos8~]#ll /data/f1_slink
lrwxrwxrwx. 1 root root 2 Dec  5 18:50 /data/f1_slink -> f1

(5)不能对目录创建硬链接,但是可以对目录创建软链接。如下所示:

[18:53:52root@centos8~]#ln dir1 dir1_hlink
ln: dir1: hard link not allowed for directory
[18:54:02root@centos8~]#ln -s dir1 dir1_slink
[18:54:17root@centos8~]#ll
total 0
drwxr-xr-x. 2 root root 6 Dec  5 18:53 dir1
lrwxrwxrwx. 1 root root 4 Dec  5 18:54 dir1_slink -> dir1

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

  • ls
    查看目录下文件的详细信息
    ls 选项[-ald] [文件或目录]
    -a显示所有文件,包括隐藏文件
    -l 详细信息显示
    -d 查看目录属性

  • cd
    切换目录
    cd / (切换到根目录)
    cd .. (回到上一级目录)

  • pwd
    显示当前所在的工作目录

  • tree
    tree -L level指定要显示的层级
    引用命令的执行结果
    $(command)或者command
    bash的基于特性:引用
    "强引用"
    "弱引用"
    "命令引用"
    bash基础特性:快捷键
    ctrl+a 跳转至命令行行首
    ctrl+e 跳转至命令行行尾
    ctrl+u 删除行首至光标
    ctrl+k 删除行尾至光标
    ctrl+l 清屏 相当于clear

文件查看命令:cat,tac,head,tail,more,less

  • stat
    用法 stat file
    Access: 2018-05-03 05:39:38.954690311 +0800 最近访问时间
    Modify: 2018-05-03 05:03:07.815759609 +0800 最近更改时间
    Change: 2018-05-03 05:03:07.815759609 +0800 最近改动时间 元数据改变

  • touch
    改变文件的时间stat信息
    -c 指定的文件路径不存在时不创建
    -a 仅修改access time
    -m 仅修改modify time
    -t 改为指定时间yymmddhhmm.ss

文件管理工具:cp,mv,rm

  • cp
    copy
    源文件:目标文件
    cp [OPTION]… [-T] SOURCE DEST
    cp [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE..
    常用选项
    -i 交互式复制,即覆盖之前提醒用户确认
    -f 强制覆盖目标文件
    -r 递归复制目录
    -d 复制符号链接文件本身,而非其指向文件
    -a -dr –preserve=all,archive,用于实现归档

  • mv
    move
    -i 交互式
    -f force

  • rm
    remove
    -f force
    -i 交互式 interact
    -r recursive 递归
    删除目录 rm -rf /PATH
    rm -rf / 危险操作
    注意,所有文件不建议直接删除,而是移动到某个专用目录

5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符。在命令模式下输入 :%s@^[[:blank:]]+@@g

[20:26:22root@centos8tmp]#vim profile

# /etc/profile                                                                                                                        
  
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

:%s@^[[:blank:]]\+@@g

以下是执行结果

[20:26:22root@centos8tmp]#vim profile

fi
  
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
    
unset i 
unset -f pathmunge
        
if [ -n "${BASH_VERSION-}" ] ; then 
if [ -f /etc/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bashrc
# Check for double sourcing is done in /etc/bashrc.
. /etc/bashrc
fi                                                                                                                                    
fi
39 substitutions on 39 lines                                                                                        84,1          Bot

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

需要设置两行
set et
set ts=4

[20:40:26root@centos8~]#vim .vimrc

set et
set ts=4                                                                                                                              
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1,"#!/bin/bash")
    call setline(2,"#")
    call setline(3,"#***************************************************************************")
    call setline(4,"#Author:            lqf")
    call setline(5,"#QQ:                3938")
    call setline(6,"#Date:              ".strftime("%Y-%m-%d"))
    call setline(7,"#FileName:          ".expand("%"))
    call setline(8,"#URL:               http://www.magedu.com")
    call setline(9,"#Description:           The test script")
    call setline(10,"#Coryright (c):                 ".strftime("%Y")." All rights reserved")
    call setline(11,"#**************************************************************************")
    call setline(12,"")
    endif
endfunc
autocmd BufNewFile * normal G
".vimrc" 23L, 820C                                                                                                  2,1           All

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容