目錄結構、ls命令、alias、文件類型
2.1 目錄系統結構
[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost ~]# ls /root/.ssh/authorized_keys
[root@localhost ~]# vi /etc/ssh/sshd_config //密匙存放位置在次定義
[root@localhost ~]# yum install -y tree //tree樹形的方式顯示目錄文件
[root@localhost ~]# tree --help
[root@localhost ~]# man tree //查看幫助
[root@localhost ~]# tree -L 2 / //顯示根目錄下兩層的目錄
常用的目錄有:/bin /sbin /usr/bin /usr/sbin /etc /usr/local /var
/lib 查看命令依賴哪些庫:ldd
[root@localhost ~]# ldd /bin/mkdir
/media /mnt /opt /sry默認是空的
/proc
可以查看進程從哪裏啟動的 [root@localhost ~]# ll /proc/22
/bin:bin是Binary的縮寫,該目錄下存放的是最常用的命令。
q/boot:該目錄下存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。
q/dev:dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備。在Linux中,訪問設備的方式和訪問文件的方式是相同的。黃色的文件是設備文件
q/etc:該目錄下存放的是所有系統管理所需要的配置文件和子目錄。
q/home:這是用戶的主目錄。在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
q/lib和/lib64:這兩個目錄下存放的是系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件,幾乎所有的應用程序都需要用到這些共享庫。其中/lib64為64位的軟件包的庫文件所在目錄。
q/media:系統會自動識別一些設備(如U盤、光驅等),當識別後,Linux會把識別的設備掛載到該目錄下。
q/mnt:系統提供該目錄是為了讓用戶臨時掛載別的文件系統。我們可以將光驅掛載到/mnt/上,然後進入該目錄查看光驅裏的內容。
q/opt:這是給主機額外安裝軟件所設置的目錄,該目錄默認為空。比如你要安裝一個ORACLE數據庫,可以放到該目錄下。
q/proc:該目錄是一個虛擬的目錄,是系統內存的映射,我們可以通過直接訪問來獲取系統信息。該目錄的內容在內存裏,我們可以直接修改裏面的某些文件。比如可以通過下面的命令來屏蔽主機的ping命令,使其他人無法ping你的機器。後續,在日常工作中,你會經常用到類似的用法。系統啟動的一些進程,生成一個pid,每個進程都有一個目錄
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
q/root:該目錄是系統管理員的用戶主目錄。
q/run:這個目錄其實和/var/run是同一個目錄,這裏面存放的是一些服務的pid,一個服務啟動完後,是有一個pid文件的。至於為什麽說是同一個目錄,Linux是如何做到的,後續我們再介紹。
q/sbin:s就是Super User的意思,該目錄存放的是系統管理員使用的系統管理程序。
q/srv:該目錄存放的是一些服務啟動之後需要提取的數據。
q/sys:該目錄存放的是與硬件驅動程序相關的信息。
q/tmp:該目錄是用來存放一些臨時文件的。
q/usr:這是一個非常重要的目錄,類似於Windows下的Program Files目錄,用戶的很多應用程序和文件都存放在該目錄下。後面的章節中,我們會多次用到這個目錄。
q/usr/bin:該目錄存放的是系統用戶使用的應用程序。
q/usr/sbin: 該目錄存放的是超級用戶使用的比較高級的管理程序和系統守護程序。
q/usr/src :該目錄是內核源代碼默認的放置目錄。
q/var:該目錄存放的是在不斷擴充且經常被修改的目錄,包括各種日誌文件或者pid文件,剛剛提到的/var/run就是在/var目錄下面
在Linux系統中,有幾個重要的目錄需要註意,不要誤刪除或者隨意更改其內部文件。下面阿銘再簡單總結一下這幾個重要的目錄。
q/etc目錄下是系統的配置文件,如果更改了該目錄下的某個文件可能會導致系統無法正常啟動。
q/bin、/sbin、/usr/bin和/usr/sbin目錄是系統預設的執行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統用戶使用的指令(除root外的通用賬戶),而/sbin和/usr/sbin目錄下則是供root使用的指令。比如ls指令就存放在/bin/目錄下。
q/var也是一個非常重要的目錄,系統上運行各個程序時所產生的日誌都被記錄在該目錄下(即/var/log目錄中),另外mail指令的預設也放置在這裏。
2.3 ls命令
ls 列出文件系統目錄或文件
選項:
-l 列出文件目錄的詳細信息(分別是權限、inode、用戶、用戶組、大小、時間、文件名)
-i 查看inode(存的就是詳細信息,一樣的inode表示數據存放在磁盤的數據塊位置是一樣的)
-h 更人性化的顯示單位大小
-a 查看所有隱藏的文件和目錄
-d 顯示目錄(只顯示目錄本身)
-t 時間(時間越晚的在上)
[root@localhost ~]# ll -a
總用量 36
dr-xr-x---. 3 root root 4096 10月 18 23:10 . //表示當前的目錄(inode和/root/一樣)
drwxr-xr-x. 17 root root 4096 10月 20 16:02 ..
-rw-------. 1 root root 973 10月 15 22:41 anaconda-ks.cfg
-rw-------. 1 root root 592 10月 19 00:44 .bash_history
[root@localhost ~]# ll -d /root/
dr-xr-x---. 3 root root 4096 10月 18 23:10 /root/
[root@localhost ~]# mkdir lsx/.lshx
[root@localhost ~]# ll -ia lsx/
總用量 4
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 . //3個inode的也可以變相的認為有3個子目錄
33595521 dr-xr-x---. 4 root root 4096 10月 20 17:52 ..
17537720 drwxr-xr-x. 2 root root 6 10月 20 17:58 .lshx
[root@localhost ~]# ll -id lsx/
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/
[root@localhost ~]# ll -id lsx/.
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/.
[root@localhost ~]# ll -id lsx/.lshx/..
619888 drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx/.lshx/..
[root@localhost ~]# ll -d /root/ //加d和不加d的區別
dr-xr-x---. 4 root root 4096 10月 20 17:52 /root/
[root@localhost ~]# ll /root/
總用量 4
-rw-------. 1 root root 973 10月 15 22:41 anaconda-ks.cfg
drwxr-xr-x. 3 root root 18 10月 20 17:58 lsx
借助其他選項man
2.4 文件類型
- :普通文本類型
l :軟鏈接類型
d :目錄類型
c :字符串設備
b :塊設備
s :sock文件,用來通信的
2.5 alias命令
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Which 查找二進制命令,按環境變量PATH路徑查找
[root@localhost ~]# which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls
[root@localhost ~]# 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‘
設置別名:
[root@localhost ~]# alias vi=‘vim‘
[root@localhost ~]# which vi
alias vi=‘vim‘
/usr/bin/vim
取消別名:
[root@localhost ~]# unalias vi
本文出自 “帕多克的癡迷” 博客,請務必保留此出處http://lsxme.blog.51cto.com/12400127/1974522
目錄結構、ls命令、alias、文件類型