博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统目录结构、ls命令、文件类型、alias命令
阅读量:6427 次
发布时间:2019-06-23

本文共 2203 字,大约阅读时间需要 7 分钟。

hot3.png

系统目录结构

1、安装tree包

tree包可以方便以树形结构观察文档,可以方便的看出文件的层级关系;

072700_2NR3_3643875.png

072720_dD74_3643875.png

#tree -L 1 /

-L 1设置显示的深度为1层

073320_y0DF_3643875.png

2、目录结构内容

073344_rNlx_3643875.png

/bin、/sbin、/lib、/lib64里存放的是平时使用的命令;

/bin是给普通用户用的,root用户也可使用;

/sbin是给root用户用的,普通用户没有使用权限;

/lib和/lib64放的是系统最基本的动态链接库,很多命令执行都要依赖这些库文件。

通过#ldd命令可以查看某个命令都依赖哪些库。

例如:

#ldd /bin ls

075732_Myz8_3643875.png

 

/boot是系统启动Linux时使用的文件。如,grub

075811_14Au_3643875.png

 

/dev是Linux的外部设备(device)

075825_Wtl7_3643875.png

 

/etc 是存放所有系统管理所需要的配置文件的目录。

比如之前配置过的网卡文件/etc/sysconfig/network-scripts/ifcfg-en33

配置过的主机名/etc/hostname等等;

075844_boN4_3643875.png

/home是普通用户的家目录;

/root是root用户的家目录;

 

/proc存放的是很多进程的内存映射文件;

075851_wxkB_3643875.png

075926_hNFF_3643875.png

/var存放系统进程PID文件,日志文件/var/log等

080120_IIVY_3643875.png

/usr/local会放一些用户自己编译的服务

 

 

 

 ls命令、文件类型

1、ls命令介绍

# ls [-alrtAFRd] [name...]

参数 :

-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出,-a则会全部列出。)

-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表

-t 将文件依建立时间之先后次序列出

-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;

-F :在列出的文件名称后加一符号;例如可执行文件则加 "*", 目录则加 "/"

-h:(human readable)在一些大小后面加上单位。

 

-r 将文件以相反次序显示(原定依英文字母次序)

-R 若目录下有文件,则以下之文件亦皆依序列出

 

#ls    //列出当前目录内容

080535_Hbu8_3643875.png

#ls -l        

080451_eS88_3643875.png

2、文件信息介绍

2.1文件属性和相关信息

以下面这个为例

080648_Gjw8_3643875.png

 

081124_6WVW_3643875.png

d表示目录

-表示文档(包括文本文件、二进制文件等)

c表示字符串设备(如鼠标、键盘、tty等)

b表示块设备(如光驱、磁盘等 )

s表示socket文件(用于通信的文件)

l表示软连接文件

080701_3bZP_3643875.png

表示权限;

080708_JPR5_3643875.png

表示有多少文件使用了相同的inode;

080719_vGnY_3643875.png

表示这个文件的所有者(root用户),Linux中任何一个文件都有一个所有者。

080727_j109_3643875.png

表示所属组(root用户组,一个组下可以有多个用户)

080736_Tv3G_3643875.png

表示文件或者文件夹的大小,单位是Byte字节,也就是8192B,也就是8.2k。

080743_sXoc_3643875.png

表示文件创建的时间

080748_NsG3_3643875.png

表示文件类型

 

2.2、文件节点号(inode)

以/home文件为例说明inode号为什么是3

081300_dLe1_3643875.png

081315_KS0U_3643875.png

#ls -i /home/ 看到/home目录的inode号是35443975

#ls -i /home/.看到/home目录下的 . 的inode号也是35443975

#ls -i /home/colin/..看到/home/colin路径下的 .. 的inode号也是35443975

所以这里home的inode号是3;

通常情况下inode号会和目录下的子目录数目相等。

 

#ls -i //红框里面是inode号

081939_xX90_3643875.png

2.3、当前目录 . 上级目录 ..

#ls -la

082058_Elms_3643875.png

 

alias命令和which

1、wchic

#which(选项)(参数)

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

082721_opjX_3643875.png

如果用#which命令查看which命令,可以发现which命令其实也是一个别名,在which命令查看其他命令的时候如果这个命令有别名,那就会显示这个命令的别名路径。

以#ll为例,可见#ll是#ls -l的别名,并且自动显示颜色。

082306_mPuj_3643875.png

 

通过#which命令可以看到#ls只是命令#l/usr/bin/ls加 -l --color=auto 选项组合命令的别名;

原始命令是绝对路径下的/usr/bin/ls文件;

082323_uZ6Y_3643875.png

 

两个命令对比如下,看到绝对路径/usr/bin/ls命令不自动加颜色的。但是加上--color也就和ls命令一样了。

082634_4jtT_3643875.png

 

 

2、alias

2.1、查看系统中的别名命令

#alias

不是所有命令都有别名,比如#man比如#yum用的就是原始的命令;

通过#alias命令可以查看系统目前有哪些命令是别名的;

082431_Ciya_3643875.png

2.2、设置别名

alias 新的命令='原命令 -选项/参数'

例如:输入# alias colinlook='ls -la'后#colinlook就等同与#ls -la命令了。

083318_tY30_3643875.png

 

2.3、取消别名

#unalias 别名

083348_eQAu_3643875.png

 

 

 

 

 

转载于:https://my.oschina.net/codepencil/blog/1554206

你可能感兴趣的文章
visual studio 中GIT的用法
查看>>
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计
查看>>
《图形学》实验二:分形树
查看>>
数据库中触发器before与after认识
查看>>
手动露天广场和立方体
查看>>
随机选择
查看>>
转:通过他人完成任务的艺术 - 读《领导梯队》
查看>>
【Java并发编程三】闭锁
查看>>
Team Foundation Server 2010 – Basic Installation(转载)
查看>>
一个hitbernate配置文件,带几个表(注意mapping);如果连接字符串没有设置utf-8,向insert mysql 会产生乱码(utf8 或 utf-8)...
查看>>
ListView用法总结
查看>>
十分钟理解Gradle
查看>>
分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法
查看>>
crontab如何设置秒级别的定时【转载】
查看>>
MyBatis学习总结_11_MyBatis动态Sql语句
查看>>
file文件与base64字符串的相互转换
查看>>
[angularjs] MVC + Web API + AngularJs 搭建简单的 CURD 框架
查看>>
js 的each()方法遍历对象和数组
查看>>
回文字符串
查看>>
让你的Git水平更上一层楼的10个小贴士
查看>>