ls:列出目录内容。列出文件信息(默认是当前目录下的文件)。
常用参数:-a,-l,-d,-F,-i。
[root@oldboy ~]# man ls Formatting page, please wait... LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file -b, --escape print octal escapes for nongraphic characters --block-size=SIZE use SIZE-byte blocks. See SIZE format below -B, --ignore-backups do not list implied entries ending with ~ -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime -C list entries by columns --color[=WHEN] colorize the output. WHEN defaults to ‘always’ or can be ‘never’ or ‘auto’. More info below -d, --directory list directory entries instead of contents, and do not derefer- ence symbolic links -D, --dired generate output designed for Emacs’ dired mode -f do not sort, enable -aU, disable -ls --color -F, --classify append indicator (one of */=>@|) to entries --file-type likewise, except do not append ‘*’ --format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C --full-time like -l --time-style=full-iso -g like -l, but do not list owner --group-directories-first group directories before files. augment with a --sort option, but any use of --sort=none (-U) disables grouping -G, --no-group in a long listing, don’t print group names -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G) --si likewise, but use powers of 1000 not 1024 -H, --dereference-command-line follow symbolic links listed on the command line --dereference-command-line-symlink-to-dir follow each command line symbolic link that points to a direc- tory --hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A) --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) -i, --inode print the index number of each file -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -k like --block-size=1K -l use a long listing format -L, --dereference when showing file information for a symbolic link, show informa- tion for the file the link references rather than for the link itself -m fill width with a comma separated list of entries -n, --numeric-uid-gid like -l, but list numeric user and group IDs -N, --literal print raw entry names (don’t treat e.g. control characters spe- cially) -o like -l, but do not list group information -p, --indicator-style=slash append / indicator to directories -q, --hide-control-chars print ? instead of non graphic characters --show-control-chars show non graphic characters as-is (default unless program is ‘ls’ and output is a terminal) -Q, --quote-name enclose entry names in double quotes --quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape -r, --reverse reverse order while sorting -R, --recursive list subdirectories recursively -s, --size print the allocated size of each file, in blocks -S sort by file size --sort=WORD sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v --time=WORD with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time --time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like ‘date’; if FORMAT is FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with ‘posix-’, STYLE takes effect only outside the POSIX locale -t sort by modification time -T, --tabsize=COLS assume tab stops at each COLS instead of 8 -u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time -U do not sort; list entries in directory order -v natural sort of (version) numbers within text -w, --width=COLS assume screen width instead of current value -x list entries by lines instead of by columns -X sort alphabetically by entry extension -1 list one file per line SELinux options: --lcontext Display security context. Enable -l. Lines will probably be too wide for most displays. -Z, --context Display security context so it fits on most displays. Displays only mode, user, group, security context and file name. --scontext Display only security context and file name. --help display this help and exit --version output version information and exit SIZE may be (or may be an integer optionally followed by) one of fol- lowing: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
1、-a参数:列出当前目录下所有文件,包括隐藏文件。
[root@oldboy ~]# ls anaconda-ks.cfg hello Just_test.txt strspn_test world data install.log my_test.txt strspn_test.c ett.txt install.log.syslog mytest.txt test.txt [root@oldboy ~]# ls -a . .bash_profile hello my_test.txt test.txt .. .bashrc install.log mytest.txt .viminfo anaconda-ks.cfg .cshrc install.log.syslog strspn_test world .bash_history data Just_test.txt strspn_test.c .bash_logout ett.txt .lesshst .tcshrc [root@oldboy ~]#
缺省参数时,不会列出隐藏文件。对比能看出,-a参数把所有隐藏文件都列出来了。
2、-A参数:列出当前目录下除. ..目录文件之外的所有文件。
[root@oldboy ~]# ls -A anaconda-ks.cfg .bashrc hello .lesshst strspn_test.c world .bash_history .cshrc install.log my_test.txt .tcshrc .bash_logout data install.log.syslog mytest.txt test.txt .bash_profile ett.txt Just_test.txt strspn_test .viminfo [root@oldboy ~]#
对比例1,可以看出-A参数不会列出.(当前目录) ..(上层目录)两个目录。
3、-l参数:长列表形式展现当前目录下的文件,不包括隐藏文件。
[root@oldboy ~]# ls -lrt total 80 -rw-r--r--. 1 root root 5890 Mar 26 23:46 install.log.syslog -rw-r--r--. 1 root root 22179 Mar 26 23:48 install.log -rw-------. 1 root root 1044 Mar 26 23:48 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Mar 28 07:32 data -rw-r--r--. 1 root root 292 Apr 2 17:36 ett.txt -rw-r--r-- 1 root root 1 Apr 3 04:48 mytest.txt -rw-r--r-- 1 root root 84 Apr 3 14:20 Just_test.txt -rw-r--r-- 1 root root 220 Apr 3 14:42 strspn_test.c -rwxr-xr-x 1 root root 6786 Apr 3 14:43 strspn_test drwxr-xr-x 2 root root 4096 Apr 4 18:56 hello drw-r--r-- 2 root root 4096 Apr 4 18:57 world -rw-r--r-- 1 root root 0 Apr 5 00:07 my_test.txt -rw-r--r-- 1 root root 40 Apr 6 06:39 test.txt [root@oldboy ~]#
长列表格式有9列,其中:
第一列:文件属性及文件权限-(普通文件)d(目录文件),rw-r--r--九个字符是文件权限r(读权限,数字4可表示)w(写权限,数字2可表示)x(写权限,数字1可表示)-(表示对应权限没有)前三个,表示文件属主拥有的权限;中间三个,表示文件属组拥有的权限;最后三个,表示其他用户拥有的权限。
第二列:文件节点数
第三列:文件属主,这个文件属于谁。
第四列:文件属组,就是这个文件属于那个组。
第五列:文件大小。
第六列:修改时间月份。
第七列:修改时间日期。
第八列:修改时间。(六七八列,合起来就是文件修改的时间戳)
第九列:文件名。
4、-F参数:显示文件对应特殊符号描述符。
[root@oldboy ~]# ls -F anaconda-ks.cfg hello/ Just_test.txt strspn_test* world/ data/ install.log my_test.txt strspn_test.c ett.txt install.log.syslog mytest.txt test.txt [root@oldboy ~]#
其中没有的是普通文件,/代表目录文件,*代表可执行文件。
5、-i参数:显示文件的node节点。
[root@oldboy ~]# ls -i 659244 anaconda-ks.cfg 654084 install.log.syslog 659268 strspn_test.c 659252 data 659264 Just_test.txt 659271 test.txt 659251 ett.txt 659269 my_test.txt 659267 world 659265 hello 659263 mytest.txt 654082 install.log 659248 strspn_test [root@oldboy ~]#
较常用的是这个几个参数,其他参数,以后再做总结。