系统目录结构 ls命令 文件类型 alias命令

2.1/2.2 系统目录结构

/bin:bin是Binary的缩写,该目录下存放的是最经常使用的命令。node

/boot:该目录下存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。 数据库

/dev:dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备。在Linux中,访问设备的方式和访问文件的方式是相同的。vim

/etc:该目录下存放的是全部系统管理所须要的配置文件和子目录。缓存

/home:这是用户的主目录。在Linux中,每一个用户都有一个本身的目录,通常该目录名是以用户的帐号命名的。bash

/lib和/lib64:这两个目录下存放的是系统最基本的动态链接共享库,其做用相似于Windows里的DLL文件,几乎全部的应用程序都须要用到这些共享库。其中/lib64为64位的软件包的库文件所在目录。网络

/media:系统会自动识别一些设备(如U盘、光驱等),当识别后,Linux会把识别的设备挂载到该目录下。ssh

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统。咱们能够将光驱挂载到/mnt/上,而后进入该目录查看光驱里的内容。socket

/opt:这是给主机额外安装软件所设置的目录,该目录默认为空。好比你要安装一个ORACLE数据库,能够放到该目录下。ui

/proc:该目录是一个虚拟的目录,是系统内存的映射,咱们能够经过直接访问来获取系统信息。该目录的内容在内存里,咱们能够直接修改里面的某些文件。好比能够经过下面的命令来屏蔽主机的ping命令,使其余人没法ping你的机器。后续,在平常工做中,你会常常用到相似的用法。 # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_allspa

 /root:该目录是系统管理员的用户主目录。

/run:这个目录其实和/var/run是同一个目录,这里面存放的是一些服务的pid,一个服务启动完后,是有一个pid文件的。至于为何说是同一个目录,Linux是如何作到的,后续咱们再介绍。

/sbin:s就是Super User的意思,该目录存放的是系统管理员使用的系统管理程序。

/srv:该目录存放的是一些服务启动以后须要提取的数据。

/sys:该目录存放的是与硬件驱动程序相关的信息。

/tmp:该目录是用来存放一些临时文件的。

/usr:这是一个很是重要的目录,相似于Windows下的Program Files目录,用户的不少应用程序和文件都存放在该目录下。后面的章节中,咱们会屡次用到这个目录。

/usr/bin:该目录存放的是系统用户使用的应用程序。

/usr/sbin: 该目录存放的是超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src :该目录是内核源代码默认的放置目录。

/var:该目录存放的是在不断扩充且常常被修改的目录,包括各类日志文件或者pid文件,刚刚提到的/var/run就是在/var目录下面

在Linux系统中,有几个重要的目录须要注意,不要误删除或者随意更改其内部文件。下面阿铭再简单总结一下这几个重要的目录。

/etc目录下是系统的配置文件,若是更改了该目录下的某个文件可能会致使系统没法正常启动。

/bin、/sbin、/usr/bin和/usr/sbin目录是系统预设的执行文件的放置目录,其中/bin和/usr/bin目录下是供系统用户使用的指令(除root外的通用帐户),而/sbin和/usr/sbin目录下则是供root使用的指令。好比ls指令就存放在/bin/目录下。

/var也是一个很是重要的目录,系统上运行各个程序时所产生的日志都被记录在该目录下(即/var/log目录中),另外mail指令的预设也放置在这里。

2.3 ls命令

英文全名:List即列表的意思

ls命令用来显示目录列表,在Linux中是使用率较高的命令。ls命令的输出信息能够进行彩色加亮显示,以分区不一样类型的文件。 

选项:

-l 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件类型、权限

模式、硬链接数、全部者、组、文件大小和文件的最后修改时间等;

-a 显示全部档案及目录(ls内定将档案名或目录名称为“.”开头的视为隐藏,不会列出)

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

-h(常和l配合使用) 以适合的容量单位显示文件大小

-d 仅显示目录自己,而不显示目录下的内容列表。

-t 用文件和目录的更改时间排序

-R 递归处理,将指定目录下的全部文件及子目录一并处理

-1 (数字1选项)全部输出信息用单列格式输出

-r 反序排列目录下列表

-n 以uid 和gid 替代全部者以及组

-S 按文件大小排序

实例:

1 显示当前目录下非隐藏的文件及目录:

[root@localhost ~]# ls

1.txt anaconda-ks.cfg default.target default.target1 zhang

2 显示当前目录下文件及目录的详细列表:

[root@localhost ~]# ls -l

总用量 4

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

3 显示当前目录下隐藏及非隐藏的文件和目录:

[root@localhost ~]# ls -a

. anaconda-ks.cfg .bash_profile default.target .tcshrc

.. .bash_history .bashrc default.target1 .viminfo

1.txt .bash_logout .cshrc .ssh zhang

4 以合适的容量单位显示当前目录下文件及目录的大小:

[root@localhost ~]# ls -lh

总用量 4.0K

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1.3K 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

5 显示inode信息:

[root@localhost ~]# ls -li

总用量 4

17374315 -rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

17595044 -rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

8656416 lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

9610966 lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

304906 drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具备相同的索引节点号的两个文本本质上是同一个文件(除文件名不一样外)。

6 最近修改的文件显示在最前面排序:

[root@localhost ~]# ls -lt

总用量 4

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

7 最近修改的文件显示在最后面排序:

[root@localhost ~]# ls -ltr

总用量 4

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

drwxr-xr-x. 2 root root 6 6月 16 23:31 zhang

8 显示当前目录下文件的uid 以及 gid:

[root@localhost ~]# ls -n

总用量 4

-rw-r--r--. 1 0 0 0 6月 16 23:31 1.txt

-rw-------. 1 0 0 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 0 0 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 0 0 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 0 0 6 6月 16 23:31 zhang

9 显示当前目录下的文件以及子目录下的文件:

[root@localhost ~]# ls -lR

.:

总用量 4

-rw-r--r--. 1 root root 0 6月 16 23:31 1.txt

-rw-------. 1 root root 1250 5月 26 20:27 anaconda-ks.cfg

lrwxrwxrwx. 1 root root 37 5月 26 20:26 default.target -> /lib/systemd/system/multi-user.target

lrwxrwxrwx. 1 root root 36 6月 1 19:12 default.target1 -> /lib/systemd/system/graphical.target

drwxr-xr-x. 2 root root 18 6月 17 00:36 zhang

./zhang:

总用量 0

-rw-r--r--. 1 root root 0 6月 17 00:36 1.txt

10 显示当前目录自己详细信息:

[root@localhost ~]# ls -ld

dr-xr-x---. 4 root root 4096 6月 16 23:31

#硬连接数为4

目录下面有几个子目录,则这个目录inode的硬连接数为几

ls -id .

ls -id ../root

ls -id .ssh/..

ls -id zhang/..

系统自带别名ll:

which ll

alias ll='ls -l --color=auto'

/bin/ls

2.4 文件类型

Linux文件类型和Linux文件的文件名所表明的意义是两个不一样的概念。咱们经过通常应用程序而建立的好比file.txt、file.tar.gz ,这些文件虽然要用不一样的程序来打开,但放在Linux文件类型中衡量的话,大可能是常规文件(也被称为普通文件)。

ls -l 显示详细信息的第一个字符表明文件的类型:

- 普通文件 (普通文件能够用cat查看,命令二进制文件由于被编译过没法查看)

d 目录文件

c 字符串设备(键盘,鼠标)ll /dev

b 块设备文件 (硬盘,光驱等)ll /dev

l 软连接文件

s socket文件 (套接字是方便进程之间通讯的特殊文件,与管道不一样的是,套接字能促

使经过网络链接的不一样计算机的进程之间进行通讯。套接字文件也不与任何数据块关

联。)

p 管道文件pipe (管道也是一个文件,做为数据管道方便程序之间的通讯,管道实际

缓存了来自第一个进程的输入数据,也称为FIFIO)

查看某一文件类型的文件:

find / -type s/d/c/b/l/p

2.5 alias命令

alias命令用来设置命令的别名。咱们可使用该命令能够将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引发来,防止特殊字符致使错误。

alias命令的做用只局限于该次登入的操做。若要每次登入都可以使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

alias 的基本使用方法:

alias 查看系统已设置的别名

alias 新的命令=‘原命令 -选项/参数‘ 设置新的别名

unalias 命令别名 取消别名

例如:alias ld='ls -ld' 将从新定义ls命令,如今只需输入ld就能够显示当前目录自己的详细信息了。直接输入alias 会显示当前系统中全部已定义的命令别名。

要删除一个别名,可使用 unalias 命令,如 unalias ld 。

which命令:

which命令会在环境变量$PATH设置的目录里查找符合条件的文件。

使用命令 which +命令 查查此命令的绝对路径,若有别名设置也会显示出来。

[root@localhost ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

相关文章
相关标签/搜索