2.1-2.5系统目录结构、ls命令、alias别名和文件类型

2.1-2.5系统目录结构


2.1-2.2 系统目录结构(上)

目录结构的介绍

2.1-2.5系统目录结构、ls命令、alias别名和文件类型

  • / 根
    每一个文件和目录从根目录开始。
    只有root用户具有该目录下的写权限。请注意,/root是root用户的家目录。

  • /bin中 - 用户二进制文件
    包含二进制可执行文件。
    在单用户模式下,你需要使用的常见linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
    例如:ps、ls、ping、grep、cp

  • /sbin目录 - 系统二进制文件
    就像/bin,/sbin同样也包含二进制可执行文件。
    但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
    普通用户用的命令都在/bin下,管理员可以使用命令在/sbin下。

  • /etc - 配置文件
    包含所有程序所需的配置文件。
    也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf

  • /dev - 设备文件
    包含设备文件。
    这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0

  • /proc - 进程信息
    包含系统进程的相关信息,每个进程在该目录下都有一个目录。
    这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
    这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime

  • /var - 变量文件
    var代表变量文件。
    这个目录下可以找到内容可能增长的文件。
    这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);

  • /tmp - 临时文件
    包含系统和用户创建的临时文件。
    当系统重新启动时,这个目录下的文件都将被删除。

  • /usr - 用户程序
    包含二进制文件、库文件、文档和二级程序的源代码。
    /usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
    /usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
    /usr/lib中包含了/usr/bin和/usr/sbin用到的库。
    /usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

  • /home - HOME目录
    所有用户用home目录来存储他们的个人档案。
    例如:/home/john、/home/nikita
    普通用户是在/home下,root用户则是在/下。

  • /boot - 引导加载程序文件
    包含引导加载程序相关的文件。
    内核的initrd、vmlinux、grub文件位于/boot下。
    例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

  • /lib - 系统库
    包含支持位于/bin和/sbin下的二进制文件的库文件.
    库文件名为 ld或lib.so.*
    例如:ld-2.11.1.so,libncurses.so.5.7

  • /opt - 可选的附加应用程序
    opt代表可选的。
    包含从个别厂商的附加应用程序。
    附加应用程序应该安装在/opt/或者/opt/的子目录下。

  • /mnt - 挂载目录
    临时安装目录,系统管理员可以挂载文件系统。

  • /media - 可移动媒体设备
    用于挂载可移动设备的临时目录,默认是空的。
    举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;

  • /srv - 服务数据
    srv代表服务。
    包含服务器特定服务相关的数据。
    例如,/srv/cvs包含cvs相关的数据。

如何查看一个命令依赖于哪些库,使用如下命令则会列出ls命令依赖的所有库文件。

ldd /bin/ls

树形查看目录的命令
tree /root   树形查看/root下目录及文件

如果没有此命令需要先安装tree

yum install -y tree

Ctrl+c可以中断此命令,因为有的目录很多,刷出来会比较慢。

指定目录最大的深度(如2层)

tree -L 2 /root

这样就会只显示/root下两层的目录,更深层的目录将不会显示出来。


2.3 ls命令

ls命令是linux下最常用的命令之一,ls是list的缩写。因为linux目录或者文件记录的信息实在太多,所以默认ls只显示非隐藏的目录以及文件名。ls直接执行不加参数时显示当前目录下的文件名。

ls参数介绍
  1. 命令格式: 命令[-选项][参数] 列入
ls -a /etc   显示/etc下隐藏文件

在Linux中“.”代表的是隐藏文件。

  1. ls命令集合
    • -a 显示所有文件,包括隐藏文件
    • -l 详细信息显示
    • -d 查看目录属性
    • -f 直接输出结果,不进行排序(ls预设会以档案名排序)
    • -i 列出inode号码
    • -F : 根据档案信息,给予附加数据结构,例如:*代表可执行文件 /代表目录 =代表socket档案 |代表FIFO档案
    • -A : 全部档案,包括隐藏档案,但是不显示 . 与 .. 这两个目录
    • -h : 档案容量以人类可以理解的方式显示(如GB、KB等)
    • -n : 列出UID与GID而非使用者与群组的名称
  • -r : 将结果反向序列输出

  • -R : 连同子目录内容一同列出

  • -S : 以档案容量大小排序,而不是用档案名排序

  • -t : 以时间排序,而不是用档案名排序

  • --color=never : 不依据档案特性给予颜色显示

  • --color=always : 总是依据档案特性给予颜色显示

  • --color=auto : 让系统自行依据设定来判断是否给予颜色

  • --full-time : 以完整时间模式(包括年月日时分)显示

  • --time={atime,ctime} : 输出access时间或改变权限属性时间(ctime),而非内容变更时间(mtime)

2.4 文件类型

ls -l文件每列的介绍
-rw-------. 1 root root  7690 12月  3 06:21

1列:文件类型和权限
2列 : 链接占用的节点(inode),如果是目录,这个数值与该目录有多少一级子目录有关系。
3列:该文件所有者
4列:该文件所属组
5列:该文件的大小
6列:6、7、8列为该文件最近的修改日期
9列:该文件文件名

inode是什么

理解inode,要从文件储存说起。

  • 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

  • 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

  • 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
文件类型详解
  • d目录文件

  • -普通文件
    普通文件(regular file):就是一般类型的文件,当用 ls -l 查看某个目录时,第一个属性为 ‘-‘ 的文件就是正规文件,或者叫普通文件。正规文件又可分成纯文字文件(ascii)和二进制文件(binary)。纯文本文件是可以通过cat, more, less等工具直接查看内容的,而二进制文件并不能。例如我们用的命令/bin/ls 这就是一个二进制文件。

  • l 链接文件(linux file),软连接就是该类型的文件
    链接文件(link):ls -l 查看第一个属性为 ‘l’, 类似windows下的快捷方式。这种文件在linux中很常见,而且阿铭在日常的系统运维工作中用的很多,所以要特意留意一下这种类型的文件。

  • b 块设备,/dev/sda就是块设备
    设备(device):与系统周边相关的一些档案,通常都集中在 /dev 这个目录之下! 通常又分为两种:块(block)设备 :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘。例如您的一号硬盘的代码是 /dev/sda1, 第一个属性为 ‘b’;另一种是字符(character)设备 :是一些串行端口的接口设备,例如键盘、鼠标等等,第一个属性为 ‘c’.
  • c 串行端口,例如鼠标键盘。
  • s 套接字文件(socket),用于进程间通信
  • p 管道文件。

2.5 alias命令和which命令

如何看一个命令的别名
which ls  

查看ls命令的别名

如何查看当前那些命令做了别名
alias 

直接敲alias即可列出来

如何设置别名
alias gaohanwei='ls -A'   

当输入gaohanwei实际上使用的是ls -A这个命令

如何取消已经设置了的别名
unalias gaohanwei   

这样就取消了gaohanwei这个别名

  • 用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。还有,如果想给每一位用户都生效的别名,请把alias la='ls -al'一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件 /etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用.
    利用alias可以把很长的命令变成任意我们喜欢的简短的
    如果想永久生效,就把这条写入到 /etc/bashrc里面,并使用命令source .bashrc进行重启bashrc即可生效。

转载于:https://blog.51cto.com/13530586/2050993

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值