转系统目录结构/ls命令/alias命令

系统目录结构上下

ls=列出系统目录和文件

[root@ask-01 ~]# ls /

bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

使用ls命令列出根目录下的所有文件,这些文件分别都有自己的用意,接下来就认识一些常用的目录

[root@ask-01 ~]# ls /root

anaconda-ks.cfg

ROOT目录就是root用户的家目录,每个用户都有一个家目录,用户的家目录就是用来存一些它的配置文件。

[root@ask-01 ~]# ls /root/.ssh/authorized_keys

/root/.ssh/authorized_keys

比如之前我们建好的密钥的配置文件。如果我们需要给别的普通用户名创建密钥同样的也需要在别的用户下创建.ssh/authorized_keys文件。比如我们现在就可以使用useradd命令创建好一个新的普通用户,这样我们就可以在home的目录下看到我们新建好的用户目录

useradd=创建普通用户的命令

[root@ask-01 ~]# useradd Ask

[root@ask-01 ~]# ls /home/

Ask

这时我们就可以在Ask用户目录中创建密钥配置文件了。普通用户和root的位置是不一样的,root用户是在根目录下,普通用户是在home的目录下。

接下来我们可以看下目录结构,根目录下都有哪些目录或者文件,这里我们可以用个命令把它列出来叫tree

tree=竖形的方式列出目录下都有哪些目录

默认一开tree命令是还没有安装的,需要进行安装,我们可以使用yum命令开始安装tree。

[root@ask-02 ~]# tree

-bash: tree: 未找到命令

[root@ask-02 ~]# yum install -y tree

已加载插件:fastestmirror

base                                                                                | 3.6 kB  00:00:00

extras                                                                              | 3.4 kB  00:00:00

updates                                                                             | 3.4 kB  00:00:00

extras/7/x86_64/primary_db                                                          | 145 kB  00:00:00

Loading mirror speeds from cached hostfile

* base:mirrors.aliyun.com

* extras:mirrors.163.com

* updates:mirrors.aliyun.com

正在解决依赖关系

--> 正在检查事务

---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装

--> 解决依赖关系完成

依赖关系解决

===========================================================================================================

Package               架构                    版本                            源                     大小

===========================================================================================================

正在安装:

tree                  x86_64                  1.6.0-10.el7                    base                   46 k

事务概要

===========================================================================================================

安装  1 软件包

总下载量:46 k

安装大小:87 k

Downloading packages:

tree-1.6.0-10.el7.x86_64.rpm                                                        |  46 kB  00:00:05

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

正在安装    : tree-1.6.0-10.el7.x86_64                                                               1/1

验证中      : tree-1.6.0-10.el7.x86_64                                                               1/1

已安装:

tree.x86_64 0:1.6.0-10.el7

完毕!

这时我们就可以开始使用tree命令了,只是用tree命令查看根目录的话,会显示的目录太多了,在此我们可以用man命令来看下tree的命令都有哪些操作

man=查看命令的详细信息,可以通过这个命令详细的了解到什么有哪些参数和用法

[root@ask-02 ~]# man tree

TREE(1)                                  General Commands Manual                                 TREE(1)

NAME

tree - list contents of directories in a tree-like format.

SYNOPSIS

tree  [-acdfghilnpqrstuvxACDFQNSUX]  [-L  level  [-R]]  [-H  baseHREF]  [-T  title] [-o filename]

[--nolinks] [-P pattern] [-I pattern] [--inodes] [--device]  [--noreport]  [--dirsfirst]  [--ver‐

sion] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format] [directory ...]

-L level

Max display depth of the directory tree.

这里我们可以看到参数 -L level的意思就是指定最大的目录的深度。打个比方我们指定就要看最大目录二层,我们就可以这么输入

[root@ask-02 ~]# tree -L 2 /

/

├── bin -> usr/bin

├── boot

│   ├── config-3.10.0-514.el7.x86_64

│   ├── grub

│   ├── grub2

│   ├── initramfs-0-rescue-4fcceeac8b60402197becade5286e4ef.img

│   ├── initramfs-3.10.0-514.el7.x86_64.img

│   ├── initramfs-3.10.0-514.el7.x86_64kdump.img

│   ├── initrd-plymouth.img

│   ├── symvers-3.10.0-514.el7.x86_64.gz

│   ├── System.map-3.10.0-514.el7.x86_64

│   ├── vmlinuz-0-rescue-4fcceeac8b60402197becade5286e4ef

│   └── vmlinuz-3.10.0-514.el7.x86_64

├── dev

│   ├── agpgart

│   ├── autofs

│   ├── block

│   ├── bsg

│   ├── btrfs-control

这样,我们就可以清楚的看到哪些目录下有哪些文件,比如boot下有grub和grub2。

那么我们常用到的目录有一下几个:bin;dev;etc;home;sbin;boot

bin

这里bin有两个,bin是用来存放命令文件的,我们使用的ls就是在bin的目录下(两个bin目录下都有),那么bin和sbin的区别是什么呢?bin是普通用户下存的命令文件目录,sbin是超级用户下存的命令文件目录,sbin中的s就是super的意思。那么sbin的目录里能有属于普通用户的命令也有属于超级用户的命令,而bin的目录下就没有超级用户的命令。所以root用户就能使用sbin下的命令,同样也可以使用bin下的命令,而普通用户则不能使用sbin下的命令。

boot

boot目录就是存放系统启动相关文件的目录,比方grub(单用户模式)就在boot目录下面,那么boot目录里的系统文件不能随意删除,否则很容易就到系统启动不了

[root@ask-02 ~]# ls /boot

config-3.10.0-514.el7.x86_64                             initrd-plymouth.img

grub                                                     symvers-3.10.0-514.el7.x86_64.gz

grub2                                                    System.map-3.10.0-514.el7.x86_64

initramfs-0-rescue-4fcceeac8b60402197becade5286e4ef.img  vmlinuz-0-rescue-4fcceeac8b60402197becade5286e4ef

initramfs-3.10.0-514.el7.x86_64.img                      vmlinuz-3.10.0-514.el7.x86_64

initramfs-3.10.0-514.el7.x86_64kdump.img

dev

dev是Linux系统里的一些设备文件目录,比方说键盘;鼠标;光盘;硬盘,它们都在dev下面

[root@ask-02 ~]# ls /dev

agpgart          full                null    snapshot  tty19  tty35  tty51  ttyS1    vcsa2

autofs           fuse                nvram   snd       tty2   tty36  tty52  ttyS2    vcsa3

block            hidraw0             oldmem  sr0       tty20  tty37  tty53  ttyS3    vcsa4

bsg              hpet                port    stderr    tty21  tty38  tty54  uhid     vcsa5

btrfs-control    hugepages           ppp     stdin     tty22  tty39  tty55  uinput   vcsa6

bus              initctl             ptmx    stdout    tty23  tty4   tty56  urandom  vfio

etc

etc是系统的一些配置文件的目录,比方说我们的网卡配置文件就是创建在这里的

[root@ask-02 ~]# ls /etc/sysconfig/network-scripts/ifcfg-

ifcfg-ens33    ifcfg-ens33-1  ifcfg-ens33-2  ifcfg-lo

home

home 是用户的家目录,这目录用来存用户的一些文件

[root@ask-02 ~]# ls /home

ASk

lib

lib和lib64是我们的库目录,我们很多命令都依赖库目录,我们可以打个比方看下ls都以来哪些库

[root@ask-02 ~]# ldd /bin/ls

linux-vdso.so.1 =>  (0x00007ffc769f1000)

libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f21ce933000)

libcap.so.2 => /lib64/libcap.so.2 (0x00007f21ce72e000)

libacl.so.1 => /lib64/libacl.so.1 (0x00007f21ce524000)

libc.so.6 => /lib64/libc.so.6 (0x00007f21ce163000)

libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f21cdf02000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007f21cdcfd000)

/lib64/ld-linux-x86-64.so.2 (0x00007f21ceb62000)

libattr.so.1 => /lib64/libattr.so.1 (0x00007f21cdaf8000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f21cd8dc000)

这里我们可以看到ls依赖在libselinux.so.1 => /lib64/; libcap.so.2 => /lib64/等等。

media

media是媒介目录,默认是空目录,比方说我插上U盘,那么它就可以自动的放在media目录下。

mnt

mnt是个临时的挂载目录,默认也是空的,我们可以临时把光驱或者硬盘挂载在这个目录下面去

run目录存放:进程产生的临时文件,重启关机文件会消失的!

srv目录存放:服务产生的文件,一般为空.sys目录存放:系统内核相关的文件(平时用不到的)

tmp:系统的临时目录,任何用户都可以在tmp下操作

usr目录存放:系统用户所用得到的一些文件

var目录存放:进程服务产生的一些临时文件缓存

ls命令

ls的具体用法,都有哪些参数选项

ls -l:就可以把这个目录的文件详细的列出来

[root@ask-02 ~]# ls -l

总用量 4

-rw-------. 1 root root 1422 12月 12 08:01 anaconda-ks.cfg

-rw-------  =  权限

1                =  文件数量

root           =  用户

root           =  用户所属组

1422         =   文件大小

12月12 08:01  =  时间日期

anaconda-ks.cfg  =  文件名

ls -i:查看目录或者文件的inode号

[root@ask-02 ~]# ls -i

33582987 anaconda-ks.cfg

33582987是这个文件的inode号,

inode号是唯一的,多个文件可以同时用相同inode号

ls -la:显示这个目录下的所有文件包括隐藏文件(文件名前加“点”的就是隐藏文件)

[root@ask-02 ~]# ls -la

总用量 28

dr-xr-x---.  3 root root  147 12月 13 21:50 .

dr-xr-xr-x. 17 root root  245 12月 15 03:14 ..

-rw-------.  1 root root 1422 12月 12 08:01 anaconda-ks.cfg

-rw-------.  1 root root 1757 12月 15 16:37 .bash_history

-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout

-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile

-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc

-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc

drwx------.  2 root root   61 12月 15 15:45 .ssh

-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

ls -lta:以时间的顺序排列

[root@ask-02 ~]# ls -lta

总用量 28

-rw-------.  1 root root 1757 12月 15 16:37 .bash_history

drwx------.  2 root root   61 12月 15 15:45 .ssh

dr-xr-xr-x. 17 root root  245 12月 15 03:14 ..

dr-xr-x---.  3 root root  147 12月 13 21:50 .

-rw-------.  1 root root 1422 12月 12 08:01 anaconda-ks.cfg

-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout

-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile

-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc

-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc

-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

ls -ld:和ls -l 的却别就在-l会列出目录下的子文件,加了d就只会显示目录本身

[root@ask-02 ~]# ls -l /

总用量 16

lrwxrwxrwx.  1 root root    7 12月 12 07:58 bin -> usr/bin

dr-xr-xr-x.  4 root root 4096 12月 12 08:04 boot

drwxr-xr-x. 19 root root 3160 12月 16 00:22 dev

drwxr-xr-x. 77 root root 8192 12月 16 01:38 etc

drwxr-xr-x.  3 root root   17 12月 16 01:38 home

lrwxrwxrwx.  1 root root    7 12月 12 07:58 lib -> usr/lib

lrwxrwxrwx.  1 root root    9 12月 12 07:58 lib64 -> usr/lib64

drwxr-xr-x.  2 root root    6 11月  5 2016 media

drwxr-xr-x.  2 root root    6 11月  5 2016 mnt

drwxr-xr-x.  2 root root    6 11月  5 2016 opt

dr-xr-xr-x. 98 root root    0 12月 16 00:22 proc

dr-xr-x---.  3 root root  147 12月 13 21:50 root

drwxr-xr-x. 21 root root  580 12月 16 00:59 run

lrwxrwxrwx.  1 root root    8 12月 12 07:58 sbin -> usr/sbin

drwxr-xr-x.  2 root root    6 11月  5 2016 srv

dr-xr-xr-x. 13 root root    0 12月 16 00:22 sys

drwxrwxrwt.  8 root root  233 12月 16 00:59 tmp

drwxr-xr-x. 13 root root  155 12月 12 07:58 usr

drwxr-xr-x. 19 root root  267 12月 16 00:22 var

[root@ask-02 ~]# ls -ld /

dr-xr-xr-x. 17 root root 245 12月 15 03:14 /

ll=ls -l是ls -l 的别名

我们可以同过which命令来查看ll是那个命令的别名

[root@ask-02 ~]# which ll

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

/usr/bin/ls

alias命令

alias别名命令,我们可以通过which命令查看命令是有别名,比如,ls和ll这些命令都是有别名的,which是用来查看

一个文件所在的路径的。

[root@ask-02 ~]# which ll

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

/usr/bin/ls

[root@ask-02 ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

[root@ask-02 ~]# which man

/usr/bin/man

[root@ask-02 ~]# which yum

/usr/bin/yum

这里我们可以看到有些命令前面有alias 有些则没有,alias的意思就表示该命令是由ls命令加一个选项这样的组合形成的一个新的命令

如果我们不想使用别名,那我们可以直接使用绝对路径命令,那么它列出来的目录就没有颜色的了

[root@ask-02 ~]# /usr/bin/ls /

bin  boot  dev    etc  home  lib    lib64  media  mnt  opt    proc  root  run  sbin  srv  sys  tmp  usr  var

那我们想看有哪些命令是有别名的呢,我们可以通过alias来查看

[root@ask-02 ~]# alias

alias cp='cp -i'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias l.='ls -d .* --color=auto'

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

alias ls='ls --color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

我们还可以通过alias来自定义一个命令,打个比方我们将ask设置为ls -lha

[root@ask-02 ~]# alias ask='ls -lha'

[root@ask-02 ~]# ask

总用量 28K

dr-xr-x---.  3 root root  147 12月 13 21:50 .

dr-xr-xr-x. 17 root root  245 12月 15 03:14 ..

-rw-------.  1 root root 1.4K 12月 12 08:01 anaconda-ks.cfg

-rw-------.  1 root root 1.8K 12月 15 16:37 .bash_history

-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout

-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile

-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc

-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc

drwx------.  2 root root   61 12月 15 15:45 .ssh

-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

这样输入ask就等于输入ls -lha是一样的了,同时我们也可以通过which命令来看下ask

[root@ask-02 ~]# which ask

alias ask='ls -lha'

/usr/bin/ls

如果我们想要取消掉刚才我们所创建的那个命令,我们可以使用unalias来取消

[root@ask-02 ~]# unalias ask

[root@ask-02 ~]# ask

-bash: ask: 未找到命令

这样我们运行ask就不生效了。

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

推荐阅读更多精彩内容