man [选项] 命令名称
-M, -P, -a, -d, -f, -p, -w
$ man ls
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.
...
[命令] --help
$ ls --help
Usage: ls [OPTION]... [FILE]...
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
info [选项] 命令名称
$ info ls
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
10.1 `ls': List directory contents
==================================
The `ls' program lists information about files (of any type, including
directories). Options and file arguments can be intermixed
arbitrarily, as usual.
pwd
[Yecaijia_2014150087@localhost codeInPPT]$ pwd
/home/Yecaijia_2014150087/Documents/codeInPPT
cd [目录名]
[Yecaijia_2014150087@localhost codeInPPT]$ cd
[Yecaijia_2014150087@localhost ~]$
[Yecaijia_2014150087@localhost ~]$ cd Documents/
[Yecaijia_2014150087@localhost Documents]$
ls [选项] [目录或文件]
主要选项:
-a:列出目录下的所有的文件,包括以.开头的隐含文件
-A:显示除了”.”和”..”外的所有文件
-b:把文件名中不可输出的字符用反斜杠加字符编号的形式列出
-c:输出文件的i节点的修改时间,并以此排序
-d:将目录象文件一样显示,而不是显示其下的文件
-F:在每个文件名后附上一个字符以说明该文件的类型
*:可执行的普通文件 /: 目录 @:符号连接
|:表示FIFO =: 套接字(sockets)
-i:输出文件的i节点索引信息
-l:列出文件的详细信息
ls 缺省:
[Yecaijia_2014150087@localhost codeInPPT]$ ls
code_c1_p20_1 code_c1_p20_2 code_c2_p18 code_c2_p21 code_c4_p17 code_c4_p17.c
code_c1_p20_1.c code_c1_p20_2.c code_c2_p18.c code_c2_p21.c code_c4_p17_2.c
--------------------------------------------
[Yecaijia_2014150087@localhost codeInPPT]$ ls -la
total 72
drwxrwxr-x. 2 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 11 04:37 .
drwxr-xr-x. 3 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 10 01:21 ..
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4829 Apr 10 01:39 code_c1_p20_1
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 242 Apr 10 01:37 code_c1_p20_1.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4865 Apr 10 01:39 code_c1_p20_2
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 311 Apr 10 01:38 code_c1_p20_2.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4863 Apr 10 03:08 code_c2_p18
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 328 Apr 10 03:07 code_c2_p18.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4739 Apr 10 03:22 code_c2_p21
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 99 Apr 10 03:21 code_c2_p21.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4854 Apr 10 23:15 code_c4_p17
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 33 Apr 10 23:14 code_c4_p17_2.c
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 140 Apr 10 23:15 code_c4_p17.c
--------------------------------------------
[Yecaijia_2014150087@localhost codeInPPT]$ ls -Fla
total 72
drwxrwxr-x. 2 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 11 04:37 ./
drwxr-xr-x. 3 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 10 01:21 ../
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4829 Apr 10 01:39 code_c1_p20_1*
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 242 Apr 10 01:37 code_c1_p20_1.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4865 Apr 10 01:39 code_c1_p20_2*
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 311 Apr 10 01:38 code_c1_p20_2.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4863 Apr 10 03:08 code_c2_p18*
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 328 Apr 10 03:07 code_c2_p18.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4739 Apr 10 03:22 code_c2_p21*
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 99 Apr 10 03:21 code_c2_p21.c
-rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4854 Apr 10 23:15 code_c4_p17*
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 33 Apr 10 23:14 code_c4_p17_2.c
-rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 140 Apr 10 23:15 code_c4_p17.c
--------------------------------------------
[Yecaijia_2014150087@localhost codeInPPT]$ ls -ila
total 72
262087 drwxrwxr-x. 2 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 11 04:37 .
261655 drwxr-xr-x. 3 Yecaijia_2014150087 Yecaijia_2014150087 4096 Apr 10 01:21 ..
262098 -rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4829 Apr 10 01:39 code_c1_p20_1
262097 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 242 Apr 10 01:37 code_c1_p20_1.c
262096 -rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4865 Apr 10 01:39 code_c1_p20_2
262091 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 311 Apr 10 01:38 code_c1_p20_2.c
262099 -rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4863 Apr 10 03:08 code_c2_p18
262102 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 328 Apr 10 03:07 code_c2_p18.c
262100 -rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4739 Apr 10 03:22 code_c2_p21
262103 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 99 Apr 10 03:21 code_c2_p21.c
262104 -rwxrwxr-x. 1 Yecaijia_2014150087 Yecaijia_2014150087 4854 Apr 10 23:15 code_c4_p17
262105 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 33 Apr 10 23:14 code_c4_p17_2.c
262107 -rw-rw-r--. 1 Yecaijia_2014150087 Yecaijia_2014150087 140 Apr 10 23:15 code_c4_p17.c
文件属性 | 硬链接数/子目录数 | 文件拥有者 | 文件拥有者所在组 | 文件大小 | 创建月份 | 创建日期 | 创建时间 | 文件名 |
---|---|---|---|---|---|---|---|---|
-rw-rw-r–. | 1 | Yecaijia_2014150087 | Yecaijia_2014150087 | 140 | Apr | 10 | 23:15 | code_c4_p17.c |
第一个符号:
符号 | 意义 |
---|---|
d | 目录 |
- | 常规文件 |
b | 块类型特殊文件 |
c | 字符型特殊文件 |
s | 套接字 |
l | 链接 |
p | 管道 |
文件读写属性:
(rwx) | (rwx) | (rwx) |
---|---|---|
owner | group | others |
- r 表示允许读(查看文件中的数据)
- w 表示允许写(修改文件以及删除)
- x 表示允许“执行”(运行程序)
touch [选项] 文件
主要选项:
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
touch README.md
--------------------------------------------
[leif@localhost Documents]$ ls
[leif@localhost Documents]$ touch README.md
[leif@localhost Documents]$ ls
README.md
touch -r file1 file2
--------------------------------------------
[leif@localhost Documents]$ ls -la
total 8
drwxr-xr-x. 2 leif leif 4096 Apr 11 05:27 .
drwx------. 22 leif leif 4096 Apr 2 20:58 ..
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file1
-rw-rw-r--. 1 leif leif 0 Apr 11 05:27 file2
-rw-rw-r--. 1 leif leif 0 Apr 11 05:25 README.md
[leif@localhost Documents]$ touch -r file1 file2
[leif@localhost Documents]$ ls -la
total 8
drwxr-xr-x. 2 leif leif 4096 Apr 11 05:27 .
drwx------. 22 leif leif 4096 Apr 2 20:58 ..
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file1
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file2
-rw-rw-r--. 1 leif leif 0 Apr 11 05:25 README.md
touch -c -t 200005061803.00 file1
--------------------------------------------
[leif@localhost Documents]$ ls -la
total 8
drwxr-xr-x. 2 leif leif 4096 Apr 11 05:27 .
drwx------. 22 leif leif 4096 Apr 2 20:58 ..
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file1
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file2
-rw-rw-r--. 1 leif leif 0 Apr 11 05:25 README.md
[leif@localhost Documents]$ touch -c -t 200005061803.00 file1
[leif@localhost Documents]$ ls -la
total 8
drwxr-xr-x. 2 leif leif 4096 Apr 11 05:27 .
drwx------. 22 leif leif 4096 Apr 2 20:58 ..
-rw-rw-r--. 1 leif leif 0 May 6 2000 file1
-rw-rw-r--. 1 leif leif 0 Apr 11 05:26 file2
-rw-rw-r--. 1 leif leif 0 Apr 11 05:25 README.md
cat [选项] 文件名
主要选项:
-n:由1开始对所有输出的行数编号
-b:同-n,对于空白行不编号
-s:当遇到有连续两行以上的空白行,就代换为一行的空白行
-E:在行尾显示$符号
[leif@localhost Documents]$ cat README.md
test
test
test
test
test
--------------------------------------------
[leif@localhost Documents]$ cat -n README.md
1 test
2 test
3
4
5 test
6 test
7
8 test
--------------------------------------------
[leif@localhost Documents]$ cat -b README.md
1 test
2 test
3 test
4 test
5 test
--------------------------------------------
[leif@localhost Documents]$ cat -s README.md
test
test
test
test
test
--------------------------------------------
[leif@localhost Documents]$ cat -E README.md
test$
test$
$
$
test$
test$
$
test$
more [选项] 文件名
主要选项:
-num:一次显示的行数
+num:从第num行开始显示
-d:提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.]
[leif@localhost Documents]$ more README.md
test
test
test
test
test
less [选项] 文件名
- 与more类似,不过会在新的页面显示
head [选项] 文件名
主要选项:
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
[leif@localhost Documents]$ head -v README.md
==> README.md <==
test
test
test
test
test
--------------------------------------------
[leif@localhost Documents]$ head -n3 README.md
test
test
--------------------------------------------
[leif@localhost Documents]$ head -c3 README.md
tes
tail [选项] 文件名
主要选项:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
[leif@localhost Documents]$ tail -n4 README.md
test
test
test
grep [option] pattern file
主要选项:
-a --text #不要忽略二进制的数据。
-A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。
-c --count #计算符合样式的列数。
-C<显示行数> --context=<显示行数>或-<显示行数> #除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> --directories=<动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> --regexp=<范本样式> #指定字符串做为查找文件内容的样式。
-E --extended-regexp #将样式为延伸的普通表示法来使用。
-f<规则文件> --file=<规则文件> #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F --fixed-regexp #将样式视为固定字符串的列表。
-G --basic-regexp #将样式视为普通的表示法来使用。
-h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。
-i --ignore-case #忽略字符大小写的差别。
-l --file-with-matches #列出文件内容符合指定的样式的文件名称。
-L --files-without-match #列出文件内容不符合指定的样式的文件名称。
-n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。
-q --quiet或--silent #不显示任何信息。
-r --recursive #此参数的效果和指定“-d recurse”参数相同。
-s --no-messages #不显示错误信息。
-v --revert-match #显示不包含匹配文本的所有行。
-V --version #显示版本信息。
-w --word-regexp #只显示全字符合的列。
-x --line-regexp #只显示全列符合的列。
-y #此参数的效果和指定“-i”参数相同。
符号 | 意义 | 例子 |
---|---|---|
^ | 锚定行的开始 | ‘^grep’匹配所有以grep开头的行。 |
| #锚定行的结束 | 'grep’匹配所有以grep结尾的行。
. | #匹配一个非换行符的字符 | ‘gr.p’匹配gr后接一个任意字符,然后是p。
* | #匹配零个或多个先前字符 | ‘*grep’匹配所有一个或多个空格后紧跟grep的行。
.* | #一起用代表任意字符。 |
[] | #匹配一个指定范围内的字符 | ‘[Gg]rep’匹配Grep和grep。
[^] | #匹配一个不在指定范围内的字符 | ‘[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
(..) | #标记匹配字符 | ‘(love)’,love被标记为1。
\< | #锚定单词的开始 | ‘\
为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。
表达式 | 意义 |
---|---|
[:alnum:] | 文字数字字符 |
[:alpha:] | 文字字符 |
[:digit:] | 数字字符 |
[:graph:] | 非空字符(非空格、控制字符) |
[:lower:] | 小写字符 |
[:cntrl:] | 控制字符 |
[:print:] | 非空字符(包括空格) |
[:punct:] | 标点符号 |
[:space:] | 所有空白字符(新行,空格,制表符) |
[:upper:] | 大写字符 |
[:xdigit:] | 十六进制数字(0-9,a-f,A-F) |
[leif@localhost Documents]$ grep "Hello" README.md
Hello
[leif@localhost Documents]$ grep Hello README.md
Hello
[leif@localhost Documents]$ grep -ni Hello README.md
10:Hello
[leif@localhost Documents]$ grep -vi Hello README.md
test
test
test
test
test
[leif@localhost Documents]$ rpm -qa | grep gcc
libgcc-4.4.4-2.fc13.i686
gcc-c++-4.4.4-2.fc13.i686
gcc-gfortran-4.4.4-2.fc13.i686
gcc-4.4.4-2.fc13.i686
find [path] [options] [expression]
常用参数:
-name: 搜索指定文件名字的文件,支持通配符
-atime n: 搜索过去n天之内访问过的文件
-ctime n: 搜索过去n天之内修改过的文件
-group gname: 搜索指定组属的文件
符号 | 意义 | 例子 |
---|---|---|
* | 0到多个 | /etc/g* /tmp/my*1 |
? | 单个字符 | file? |
[] | 与[]内任一字符相匹配 | file[12] |
[!] | 不与括弧中的任何字符匹配 | rm file[!9] |
Bash对与通配符相关的字符(*、?、[、]、!)进行特殊的处理,当你需要将包含这些字符的参数输入到命令中时,需要用单引号把这些字符括起来
echo‘[fo]∗′>file1 echo [fo]* > file1