第一週第五次課

2.1系統目錄結構node

2.1.1 ls【list 列出當前目錄下的目錄或者文件】python

[root@MOMOCO-02 ~]# lslinux

anaconda-ks.cfg  mkdirbash

【好比直接ls就是列出當前目錄下的文件或者目錄】 app

[root@MOMOCO-02 ~]# ls /dom

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

【寫出ls根下面的目錄】ssh

2.1.2 ls /root/【root用戶的家目錄,家目錄是用來存一些配置文件和本身的東西】ide

[root@MOMOCO-02 ~]# ls /rootoop

anaconda-ks.cfg  mkdir

【root用戶的家目錄就在根目錄的root裏】

好比以前咱們配置的密鑰文件。咱們還能夠建立一個普通用戶,在普通用戶裏咱們配置密鑰文件也能夠用密鑰鏈接。

[root@MOMOCO-02 ~]# ls /root/.ssh/authorized_keys

/root/.ssh/authorized_keys

你所建立的密鑰的公鑰必需要放在.ssh/authorized_keys 這是sshd硬性規定的】

[root@MOMOCO-02 ~]# ls /etc/ssh/sshd_config

/etc/ssh/sshd_config

【你能夠去這裏定義sshd,這裏不作過

[root@MOMOCO-02 ~]# useradd GYB

【建立普通用戶GYB】

[root@MOMOCO-02 ~]# ls /home/GYB/

【/home/GYB/就是普通用戶GYB的家目錄】

[root@MOMOCO-02 ~]# useradd gyb

【建立普通用戶gyb】

[root@MOMOCO-02 ~]# ls /home/gyb/

【/home/gyb/就是普通用戶gyb的家目錄】

2.1.3tree命令

[root@MOMOCO-02 ~]# tree

-bash: tree: 未找到命令

【樹形顯示目錄】

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

已加載插件:fastestmirror

base                                                                            | 3.6 kB  00:00:00    

extras                                                                          | 3.4 kB  00:00:00    

..................................................................................................................

已安裝:

 tree.x86_64 0:1.6.0-10.el7                                                                          

完畢!

【安裝tree命令】

安裝完成後咱們能夠[root@MOMOCO-02 ~]# tree  /  可是因爲/下的目錄太多咱們就不演示了

[root@MOMOCO-02 ~]# tree --hep

tree: Invalid argument -`-'.

usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]

[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]

[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]

[--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]

【顯示tree經常使用的一些選項,也能夠用[root@MOMOCO-02 ~]# man tree查看】

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

/tmp/

├── ks-script-gj7SLD

├── systemd-private-b790378614824502a426de0c821711bd-chronyd.service-9N2vhR

│   └── tmp

├── systemd-private-b790378614824502a426de0c821711bd-vgauthd.service-qSZmKx

│   └── tmp

├── systemd-private-b790378614824502a426de0c821711bd-vmtoolsd.service-C4cdab

│   └── tmp

└── yum.log

6 directories, 2 files

【-L就是顯示tmp下的兩層目錄】

2.1.4ls根下目錄的介紹

[root@MOMOCO-02 ~]# ls /

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

【咱們平時經常使用的命令通常都是在/bin/、/sbin/、/sur/bin/、/sur/sbin/爲何咱們用命令會在這幾個裏面找到覺得有個環境變量PATH。環境變量這裏不現作過多的解釋。/sbin/下的命令通常是root用戶用的,/bin/下的命令通常是給普通用戶用的root也能夠用的

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

config-3.10.0-693.el7.x86_64

efi

grub

grub2

initramfs-0-rescue-e1347008496b4402b3149fa3dbc74006.img

initramfs-3.10.0-693.el7.x86_64.img

initrd-plymouth.img

symvers-3.10.0-693.el7.x86_64.gz

System.map-3.10.0-693.el7.x86_64

vmlinuz-0-rescue-e1347008496b4402b3149fa3dbc74006

vmlinuz-3.10.0-693.el7.x86_64

【boot通常是系統啓動的相關文件。好比grub,以前咱們就是用的grub更改的配置文件進入的單用戶模式】

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

agpgart          hidraw0             port      stdout  tty25  tty43  tty61    vcs4

autofs           hpet                ppp       tty     tty26  tty44  tty62    vcs5

block            hugepages           ptmx      tty0    tty27  tty45  tty63    vcs6

bsg              hwrng               pts       tty1    tty28  tty46  tty7     vcsa

btrfs-control    initctl             random    tty10   tty29  tty47  tty8     vcsa1

bus              input               raw       tty11   tty3   tty48  tty9     vcsa2

cdrom            kmsg                rtc       tty12   tty30  tty49  ttyS0    vcsa3

char             log                 rtc0      tty13   tty31  tty5   ttyS1    vcsa4

console          loop-control        sda       tty14   tty32  tty50  ttyS2    vcsa5

core             mapper              sda1      tty15   tty33  tty51  ttyS3    vcsa6

cpu              mcelog              sda2      tty16   tty34  tty52  uhid     vfio

cpu_dma_latency  mem                 sda3      tty17   tty35  tty53  uinput   vga_arbiter

crash            midi                sg0       tty18   tty36  tty54  urandom  vhci

disk             mqueue              sg1       tty19   tty37  tty55  usbmon0  vhost-net

dmmidi           net                 shm       tty2    tty38  tty56  usbmon1  vmci

dri              network_latency     snapshot  tty20   tty39  tty57  usbmon2  vsock

fb0              network_throughput  snd       tty21   tty4   tty58  vcs      zero

fd               null                sr0       tty22   tty40  tty59  vcs1

full             nvram               stderr    tty23   tty41  tty6   vcs2

fuse             oldmem              stdin     tty24   tty42  tty60  vcs3

【是咱們linux系統特有的一些設備文件所在的路徑,例如光盤、硬盤等】

[root@MOMOCO-02 ~]# ls /etc/

adjtime                  gcrypt                    modprobe.d         rsyslog.d

aliases                  GeoIP.conf                modules-load.d     rwtab

aliases.db               GeoIP.conf.default        motd               rwtab.d

alternatives             gnupg                     mtab               sasl2

anacrontab               GREP_COLORS               my.cnf             securetty

asound.conf              groff                     my.cnf.d           security

audisp                   group                     NetworkManager     selinux

audit                    group-                    networks           services

bash_completion.d        grub2.cfg       ......

【etc使咱們系統配置相關的文件所在的路徑,好比剛剛咱們說到[root@MOMOCO-02 ~]# ls /etc/ssh/sshd_config 就是在etc下

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

gyb  GYB

【是用來存放用戶的一些文件】

[root@MOMOCO-02 ~]# ls /lib /lib64  ^C

【存放系統的一些庫文件,咱們有些命令就依賴一些庫文件,好比ls咱們就能夠用[root@MOMOCO-02 ~]# ldd /bin/ls來查看ls依賴於那些庫文件。如今咱們使用的linux系統都是64位的沒有32位這一說了】

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

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

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

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

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

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

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

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

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

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

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

[root@MOMOCO-02 ~]# ls /media/

【這是一個媒介目錄,默認是空的。好比咱們插一個優盤他就會放到這個目錄下】

[root@MOMOCO-02 ~]# ls /mnt/

【臨時掛載目錄,默認也是空的。

[root@MOMOCO-02 ~]# ls /opt

【默認也是空的】

[root@MOMOCO-02 ~]# ls /proc/

1     15   249  281  423  525  980        driver       kpagecount    sched_debug    uptime

10    16   25   282  424  528  983        execdomains  kpageflags    schedstat      version

1008  17   250  283  425  539  acpi       fb           loadavg       scsi           vmallocinfo

1029  18   251  284  426  549  asound     filesystems  locks         self           vmstat

1123  19   26   3    427  581  buddyinfo  fs           mdstat        slabinfo       zoneinfo

1126  2    27   339  428  584  bus        interrupts   meminfo       softirqs

1165  231  274  352  429  60   cgroups    iomem        misc          stat

1166  232  275  36   432  7    cmdline    ioports      modules       swaps

1170  233  276  37   493  8    consoles   irq          mounts        sys

1171  241  277  376  5    892  cpuinfo    kallsyms     mpt           sysrq-trigger

1172  242  278  38   516  894  crypto     kcore        mtrr          sysvipc

12    243  279  39   518  9    devices    keys         net           timer_list

13    245  28   397  519  93   diskstats  key-users    pagetypeinfo  timer_stats

14    247  280  41   521  978  dma        kmsg         partitions    tty

【系統啓動的一些進程,咱們也能夠看下面有什麼文件,也能夠看到這些進程在哪裏雲運行的。】

[root@MOMOCO-02 ~]# ls /run/

auditd.pid   crond.pid    firewalld  mount           sepermit  syslogd.pid  udev    xtables.lock

chrony       cron.reboot  initramfs  netreport       setrans   systemd      user

chronyd.pid  dbus         lock       NetworkManager  sshd.pid  tmpfiles.d   utmp

console      faillock     log        plymouth        sudo      tuned        vmware

【進程產生的一些文件,linux已關機就會消失】

[root@MOMOCO-02 ~]# ls /srv/

【會存儲服務產生的一些文件,這也是一個空目錄】

[root@MOMOCO-02 ~]# ls /sys/

block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

【會存儲系統內核的一些相關文件,平時咱們不會動他

[root@MOMOCO-02 ~]# ls /tmp/

ks-script-gj7SLD

systemd-private-b790378614824502a426de0c821711bd-chronyd.service-9N2vhR

systemd-private-b790378614824502a426de0c821711bd-vgauthd.service-qSZmKx

systemd-private-b790378614824502a426de0c821711bd-vmtoolsd.service-C4cdab

yum.log

【是系統的臨時目錄,他的權限比較大。什麼用戶均可以在這裏寫西東刪東西改東西】

[root@MOMOCO-02 ~]# ls /usr/

bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

【是用戶的一些文件放在這個目錄下面,這是一個比較重要的目錄】

[root@MOMOCO-02 ~]# ls /usr/lib

binfmt.d   firmware  kdump       modules         python2.7         sse2        tuned

debug      games     kernel      modules-load.d  rpm               sysctl.d    udev

dracut     grub      locale      NetworkManager  sendmail          systemd     yum-plugins

firewalld  kbd       modprobe.d  polkit-1        sendmail.postfix  tmpfiles.d

[root@MOMOCO-02 ~]# ls /var/

adm    crash  empty  gopher    lib    lock  mail  opt       run    tmp

cache  db     games  kerberos  local  log   nis   preserve  spool  yp

[root@MOMOCO-02 ~]# ls /var/log

【[root@MOMOCO-02 ~]# ls /var/下面會存放一些系統的總日誌,是一個比較經常使用的目錄】

總結:/bin/、/sbin/、/etc/、/prco/、/usr/、/var/log/、/sur/bin/、/sur/sbin/這些都是咱們比較最長用的目錄,很是的重要

2.3ls命令【介紹ls經常使用的一些選項】

2.3.1ls -l

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

總用量 4

-rw-------. 1 root root 1418 12月  5 22:33 anaconda-ks.cfg

【詳細列出當前目錄的文件或者目錄。平時有的同窗會使用ll命令這個命令就是ls -l。-rw-------.這一行表明文件的權限。1表明有幾個文件和這個文件使用相同的inod號查看一個文件的inod號例以下面。root root 文件的所屬主和所屬組。1418表明文件的大小,默認大小單位b,使用-h會人性化的顯示文件的大小例以下面。 12月  5 22:33文件建立的時間。最後面就是文件名】

[root@MOMOCO-02 ~]# ls -i anaconda-ks.cfg

33574978 anaconda-ks.cfg

【查看一個文件的inod號是多少,他所存儲的是一個文件的權限、所屬主、所屬組等。inod號表明一個文件在系統的哪一塊。】

[root@MOMOCO-02 ~]# ls -lh anaconda-ks.cfg

-rw-------. 1 root root 1.4K 12月  5 22:33 anaconda-ks.cfg

【人性化的現實一個文件的大小,以前咱們看到的是1418如今是1.4k】

2.3.2ls -la

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

總用量 28

dr-xr-x---. 3 root root  163 12月 16 06:15 .

dr-xr-xr-x. 17 root root  224 12月 14 13:51 ..

-rw-------.  1 root root 1418 12月  5 22:33 anaconda-ks.cfg

-rw-------.  1 root root 1208 12月 15 21:05 .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   80 12月 14 17:41 .ssh

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

【顯示該目錄下的一些隱藏文件或目錄。每個目錄下面都會有一個點和點點,點表明目錄自己】

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

dr-xr-x---. 3 root root 147 12月 16 06:36 /root/

【能夠看到root就是目錄自己,他的詳細信息就和第一的同樣。3表明3個相同文件使用同樣的inod號例以下面】

[root@MOMOCO-02 ~]# ls -i /root/

33574978 anaconda-ks.cfg

[root@MOMOCO-02 ~]# ls -i .

33574978 anaconda-ks.cfg

[root@MOMOCO-02 ~]# ls -i .ssh/..

33574978 anaconda-ks.cfg

2.3.3ls -t

[root@MOMOCO-02 ~]# ls -t

anaconda-ks.cfg

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

總用量 28

dr-xr-x---.  3 root root  147 12月 16 06:36 .

-rw-------.  1 root root 1208 12月 15 21:05 .bash_history

drwx------.  2 root root   80 12月 14 17:41 .ssh

dr-xr-xr-x. 17 root root  224 12月 14 13:51 ..

-rw-------.  1 root root 1418 12月  5 22:33 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

【-t就是按時間的前後序排列文件和目錄,不過要配合-l和其餘選項一塊兒使用】

2.3.4ls -d

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

總用量 4

-rw-------. 1 root root 1418 12月  5 22:33 anaconda-ks.cfg

[root@MOMOCO-02 ~]# ls -ld

dr-xr-x---. 3 root root 147 12月 16 06:36 .

【不加-d他會顯示該目錄下的子文件或則子目錄,加上就會顯示目錄自己】

[root@MOMOCO-02 ~]# ll

總用量 4

-rw-------. 1 root root 1418 12月  5 22:33 anaconda-ks.cfg

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

總用量 4

-rw-------. 1 root root 1418 12月  5 22:33 anaconda-ks.cfg

[root@MOMOCO-02 ~]# which ll

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

/usr/bin/ls

[root@MOMOCO-02 ~]# which ls -l

/usr/bin/which: invalid option -- 'l'

alias ls='ls --color=auto'

/usr/bin/ls

【這裏咱們能夠看出ll和ls -l是同樣的,這是別名的做用alias】

blob.png

【會顯示一些顏色】

blob.png


2.4文件的類型

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

總用量 4

-rw-------. 1 root root 1418 12月  5 22:33 anaconda-ks.cfg

【第一列第一個表明文件的類型】

 d【表明一個目錄,通常爲藍色】

blob.png

 -【表明一個普通文件沒有顏色或者二進制文件綠色(你是查看不了的)】blob.png

blob.png

 c【表明字符串設備,好比鼠標等,顏色爲×××】

blob.png

 l【表明一個軟鏈接文件,真正的文件在後面的哪個。顏色爲粉綠色】

blob.png

 b【表明塊設備,好比光盤等,顏色×××】

blob.png

 s【表明通信文件,顏色粉色】

blob.png

 p【表明管道文件】


2.5alias

2.5.1which

[root@MOMOCO-02 ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

[root@MOMOCO-02 ~]# which ll

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

/usr/bin/ls

【which用來查看命令的別名和命令的絕對路徑的,在這裏咱們也能夠看到ls和ll的別名】

2.5.2alias

[root@MOMOCO-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能夠查看到系統裏面都是有哪些命令是有別名的】

[root@MOMOCO-02 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

【環境變量,若是咱們運行的命令就在這些目錄裏面咱們直接運行命令他就會直接生效。咱們使用的which查找的命令路徑就是在這裏面查找的】

2.5.3咱們本身作一個別名的命令

[root@MOMOCO-02 ~]# gyb

-bash: gyb: 未找到命令

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

【建立一個命令的別名】

[root@MOMOCO-02 ~]# which gyb

alias gyb='ls -lha'

/usr/bin/ls

[root@MOMOCO-02 ~]# gyb /

總用量 20K

dr-xr-xr-x. 17 root root  224 12月 14 13:51 .

dr-xr-xr-x. 17 root root  224 12月 14 13:51 ..

lrwxrwxrwx.  1 root root    7 12月  5 22:25 bin -> usr/bin

dr-xr-xr-x.  5 root root 4.0K 12月  5 22:33 boot

drwxr-xr-x. 19 root root 3.2K 12月 16 06:08 dev

drwxr-xr-x. 74 root root 8.0K 12月 16 06:08 etc

drwxr-xr-x.  4 root root   28 12月 15 19:08 home

lrwxrwxrwx.  1 root root    7 12月  5 22:25 lib -> usr/lib

lrwxrwxrwx.  1 root root    9 12月  5 22:25 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 06:07 proc

dr-xr-x---.  3 root root  147 12月 16 06:36 root

drwxr-xr-x. 23 root root  620 12月 16 06:08 run

lrwxrwxrwx.  1 root root    8 12月  5 22:25 sbin -> usr/sbin

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

dr-xr-xr-x. 13 root root    0 12月 16 06:07 sys

drwxrwxrwt. 10 root root 4.0K 12月 16 07:50 tmp

drwxr-xr-x. 13 root root  155 12月  5 22:25 usr

drwxr-xr-x. 19 root root  267 12月  5 23:13 var

【咱們使用了一下能夠看到結果正確】

[root@MOMOCO-02 ~]# unalias gyb

【若是你不想要這個別名命令了,能夠用這個命令取消掉】

[root@MOMOCO-02 ~]# gyb

-bash: gyb: 未找到命令

相關文章
相關標籤/搜索