一、命令回顧
1、ll會列出該文件下的所有文件信息,包括隱藏的文件,而ls -l只列出顯式文件。信息包括:
文件屬性 文件數(shù) 擁有者 所屬的group 文件大小 建檔日期 文件名
-rw-------. 1 root root 1922 Mar 6 20:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Desktop
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Documents
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Downloads
-rw-r--r--. 1 root root 1953 Mar 6 21:24 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Music
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Pictures
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Public
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Templates
drwxr-xr-x. 2 root root 6 Mar 6 22:34 Videos
-rw-r--r--. 1 root root 250 Mar 9 10:46 who.out
意義:
- 第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執(zhí)行(x)。但是這里有十個格子可以添(具體程序?qū)崿F(xiàn)時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結(jié)文件等等,d表示目錄,例如drwx------;l表示連結(jié)文件,如lrwxrwxrwx;如果是以一橫“-”表示,則表示這是文件。
-:普通文件
d: 目錄文件
b: 塊設(shè)備 //物理上實在存在的一塊設(shè)備
c: 字符設(shè)備
l: 符號鏈接文件
p: 管道文件pipe
s: 套接字文件socket,用于通信,方式:TCP/IP
其余剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務(wù)系統(tǒng),所以一個文件可能同時被許多人使用,所以我們一定要設(shè)好每個文件的權(quán)限,其文件的權(quán)限位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的權(quán)限是:使用者自己可讀,可寫,可執(zhí)行;同一組的用戶可讀,不可寫,可執(zhí)行;其它用戶可讀,不可寫,可執(zhí)行。另外,有一些程序?qū)傩缘膱?zhí)行部分不是X,而是S,這表示執(zhí)行這個程序的使用者,臨時可以有和擁有者一樣權(quán)力的身份來執(zhí)行該程序。一般出現(xiàn)在系統(tǒng)管理之類的指令或程序,讓使用者執(zhí)行時,擁有root身份。 - 第二個欄位,表示文件個數(shù)。如果是文件的話,那這個數(shù)目自然是1了,如果是目錄的話,那它的數(shù)目就是該目錄中的文件個數(shù)了。
- 第三個欄位,表示該文件或目錄的擁有者。若使用者目前處于自己的Home,那這一欄大概都是它的賬號名稱。
- 第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應(yīng)該都只屬于一個組,只有當(dāng)系統(tǒng)管理員希望給予某使用者特殊權(quán)限時,才可能會給他另一個組。
- 第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當(dāng)然可以用其它參數(shù)使文件顯示的單位不同,如使用ls –k就是用kb萊顯示一個文件的大小單位,不過一般我們還是以byte為主。
- 第六個欄位,表示創(chuàng)建日期。以“月,日,時間”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
- 第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
2、ls 命令可以說是linux下最常用的命令之一。
選項有:
-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-b 把文件名中不可輸出的字符用反斜杠加字符編號(就象在C語言里一樣)的形式列出。
-c 輸出文件的 i 節(jié)點的修改時間,并以此排序。
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。
-i 輸出文件的 i 節(jié)點的索引信息。
-l 列出文件的詳細信息。
-m 橫向輸出文件名,并以“,”作分格符。
-n 用數(shù)字的 UID,GID 代替名稱。
-o 顯示文件的除組信息外的詳細信息。
-p -F 在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執(zhí)行的普通
文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可輸出的字符。
-r 對目錄反向排序。
-s 在每個文件名后輸出該文件的大小。
-t 以時間排序。說明以最近修改的日期進行排序!
-u 以文件上次被訪問的時間排序。
-A 顯示除 “.”和“..”外的所有文件。
-B 不輸出以 “~”結(jié)尾的備份文件。
-L 列出鏈接文件名而不是鏈接到的文件。
-N 不限制文件長度。
-Q 把輸出的文件名用雙引號括起來。
-R 列出所有子目錄下的文件。
-S 以文件大小排序。
-X 以文件的擴展名(最后一個 . 后的字符)排序。
-1 一行只輸出一個文件。
--color=no 不顯示彩色文件名
--help 在標(biāo)準(zhǔn)輸出上顯示幫助信息。
--version 在標(biāo)準(zhǔn)輸出上輸出版本信息并退出。
只列出子目錄
ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)
下面命令可以分別計算當(dāng)前目錄下的文件和目錄個數(shù):
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir
顯示彩色目錄列表,打開/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次啟動bash時就可以像在Slackware里那樣顯示彩色的目錄列表了, 其中顏色的含義如下:
1. 藍色-->目錄
2. 綠色-->可執(zhí)行文件
3. 紅色-->壓縮文件
4. 淺藍色-->鏈接文件
5. 灰色-->其他文件
ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso
3、help命令用法:
內(nèi)部命令:help cd
外部命令:ls --help
4、ls-a -l ——> ls -al 效果是一樣的
5、man命令:
提供命令幫助的文件,手冊頁存放在/usr/share/man。幾乎每個命令都有man的“頁面”,man頁面分組為不同的“章節(jié)”,統(tǒng)稱為Linux手冊。
man命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man - M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索 COMMAND 命令的手冊頁并顯示
中文man需安裝包man-pages-zh-CN
MAN章節(jié):
1: 用戶命令
2: 系統(tǒng)調(diào)用
3: C庫調(diào)用
4: 設(shè)備文件及特殊文件
5: 配置文件格式
6: 游戲
7: 雜項
8: 管理類的命令
9:Linux 內(nèi)核API
注:因為MAN命令分章節(jié),而有的命令地址有好幾個,所以默認(rèn)打開的MAN章節(jié)可能不是自己想查詢的那個,可以先查詢一下
[root@centos7 ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
[root@centos7 ~]# whatis passwd
sslpasswd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@centos7 ~]# man 5 passwd
[root@centos7 ~]#
二、文件名規(guī)則
- 文件名最長255個字節(jié),包括路徑在內(nèi)文件名稱最長4095個字節(jié)
藍色-->目錄
綠色-->可執(zhí)行文件
紅色-->壓縮文件
淺藍色-->鏈接文件
灰色-->其他文件 - 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們。
- 標(biāo)準(zhǔn)Linux文件系統(tǒng)(如ext4),文件名稱大小寫敏感。例如:MAIL, Mail, mail, mAiL
三、文件系統(tǒng)結(jié)構(gòu)
/boot:引導(dǎo)文件存放目錄,內(nèi)核文件(vmlinuz)、引導(dǎo)加載器(bootloader,grub)都存放于此目錄
/bin:供所有用戶使用的基本命令;不能關(guān)聯(lián)至獨立分區(qū),OS啟動即會用到的程序
/sbin:管理類的基本命令;不能關(guān)聯(lián)至獨立分區(qū),OS啟動即會用到的程序
/lib:啟動時程序依賴的基本共享庫文件以及內(nèi)核模塊文件(/lib/modules)
/lib64:專用于x86_64系統(tǒng)上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home/ USERNAME :普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設(shè)備掛載點
/mnt:臨時文件系統(tǒng)掛載點
/dev:設(shè)備文件及特殊文件存儲位置
b: block device,隨機訪問
c: character device,線性訪問/opt:第三方應(yīng)用程序的安裝位置
/srv:系統(tǒng)上運行的服務(wù)用到的數(shù)據(jù)
/tmp:臨時文件存儲位置
-
/usr: universal shared, read-only data
bin: 保證系統(tǒng)擁有完整功能而提供的應(yīng)用程序 sbin: lib:32位使用 lib64:只存在64位系統(tǒng) include: C程序的頭文件(header files) share:結(jié)構(gòu)化獨立的數(shù)據(jù),例如doc, man等 local:第三方應(yīng)用程序的安裝位置 -
/var: variable data files
cache: 應(yīng)用程序緩存數(shù)據(jù)目錄 lib: 應(yīng)用程序狀態(tài)信息數(shù)據(jù) local:專用于為/usr/local下的應(yīng)用程序存儲可變數(shù)據(jù); lock: 鎖文件 log: 日志目錄及文件 opt: 專用于為/opt下的應(yīng)用程序存儲可變數(shù)據(jù); run: 運行中的進程相關(guān)數(shù)據(jù),通常用于存儲進程pid文件 spool: 應(yīng)用程序數(shù)據(jù)池 tmp: 保存系統(tǒng)兩次重啟之間產(chǎn)生的臨時數(shù)據(jù) /proc: 用于輸出內(nèi)核與進程信息相關(guān)的虛擬文件系統(tǒng)
/sys:用于輸出當(dāng)前系統(tǒng)上硬件設(shè)備相關(guān)信息虛擬文件系統(tǒng)
/selinux: security enhanced Linux,selinux相關(guān)的安全策略等信息的存儲位
置
四、Linux上的應(yīng)用程序的組成部分
- 二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
- 庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
- 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
- 幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man,/usr/local/share/doc
五、查看定義文件夾和文件顏色的文具文檔
[root@centos7 ~]# cat /etc/DIR_COLORS
# Configuration file for the color ls utility //顏色工具配置文件
# Synchronized with coreutils 8.5 dircolors
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not
# pipes. 'all' adds color characters to all output. 'none' shuts colorization
# off.
COLOR tty
# Extra command line options for ls go here.
# Basically these ones are:
# -F = show '/' for dirs, '*' for executables, etc.
# -T 0 = don't trust tab spacing when formatting ls output.
OPTIONS -F -T 0
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
·
·
·
# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)
EIGHTBIT 1
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
#FILE 00 # normal file, use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe //數(shù)字代表顏色
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
MISSING 01;05;37;41 # ... and the files they point to
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# executables (bright green)
#.cmd 01;32 //以下數(shù)字皆表示文件
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
#.sh 01;32
#.csh 01;32