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】
【會顯示一些顏色】
2.4文件的類型
[root@MOMOCO-02 ~]# ls -l
總用量 4
-rw-------. 1 root root 1418 12月 5 22:33 anaconda-ks.cfg
【第一列第一個表明文件的類型】
d【表明一個目錄,通常爲藍色】
-【表明一個普通文件沒有顏色或者二進制文件綠色(你是查看不了的)】
c【表明字符串設備,好比鼠標等,顏色爲×××】
l【表明一個軟鏈接文件,真正的文件在後面的哪個。顏色爲粉綠色】
b【表明塊設備,好比光盤等,顏色×××】
s【表明通信文件,顏色粉色】
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: 未找到命令