Linux 学习笔记之超详细基础linux命令 Part 3

Linux学习笔记之超详细基础linux命令

by:授客 QQ1033553122

---------------------------------接Part 2------------------------------

一般来说,是按顺序进行命令格式的书写

如上可以得出一些命令:

ethtool eth0

ethtool -s eth0

ethtool -s eth0 speed 10 #命令3

ethtool --change eth0 speed 10 #等价于命令3

……

问题:帮助命令中的,我们常见到符号{}, <>, [], | -,-- -|--这些符合的意思是?

举例:onspaces -a -p -o -s [-m ] { { [-Mo ] [-Ms ] } | -U } }

说明:{}一般出现在[]之外,为必须在{}内给出的选择中选一个,[]表示[]里的内容可以写也可以不写,

<>表示参数后面跟的内容,必选的,比如-p : -p 路径

|表示互斥的,不可以同时选,即|前后的内容不可以同时出现,-x,--xxx-x|--xxx,一般表示xxxx是等价的

 

--其它Shell命令

clear命令

方法:clear

功能:清理当前中终端的屏幕内容

wc命令

方法:wc [选项] 文件

主要选项:

-c(character)    仅显示文件的字节数

-l(line)    仅显示文件的行数

-w(word)    仅显示文件的单词数

例子:显示file文件的统计信息

[laiyu@localhost ~]$ wc file

 4 12 50 file

说明:从左往右一次显示文件的行数,单词数,字节数,文件名。

 

--深入Shell

Shell命令的通配符

通配符 *

功能:“*”代表任意长度的任意字符

说明:“*”号不能与.开头的文件匹配,只能以“.*”匹配类似“.xxxx”的文件

例子:a.*->表示诸如abc,about等以“a”开头的字符串

 

通配符“?”

功能:“?”代表任何一个字符。

例:如a?:表示诸如“ab”,“ai”等以“a”开头并仅有两个字符的字符串

 

通配符“[]

功能:“[]”代表指定的一个字符范围,“[]”内的任意一个字符都用于匹配。说明:“[]”内的字符范围可以由直接给出的字符组成,也可以是由起始字符、“-”和终止字符组成

例子:“[abc]*”或“[a-c]*->表示所有以“a”、“b”、"c"开头的字符串

 

例子:

[laiyu@localhost ~]$ ls *.png     #列出所有png格式的图片文件

[laiyu@localhost ~]$ ls a?        #列出首字母是a,文件名只有两个字符的所有文件

[laiyu@localhost ~]$ ls [abc]     #列出首字母是abc的所有文件

[laiyu@localhost ~]$ ls ![abc]    #列出首字母不是abc的所有文件

[laiyu@localhost ~]$ ls [!abc]    #列出首字母不是aac的所有文件

[laiyu@localhost ~]$ ls [a-z]     #列出首字母是小写字母的所有文件

说明:不分大小写字母

 

输出重定向

方法:命令 > 文件名

功能:命令执行到结果不在标准输出(显示屏)上显示,而是保存到某一文件的操作

说明:文件不需要预先创建,输出重定向会新建命令中指定到文件,如果已存在,则原有内容会被覆盖

例子:将当前目录下所有文件和子目录的详细信息保存到list文件中

[laiyu@localhost ~]ls -al > list

说明:>前后可以不需要空格

 

输出重定向和cat命令组合

方法:cat > 文件

功能:创建文本文件

说明:输入命令后,屏幕上光标闪烁,用户依次输入文件内容,所有内容都输入完后,按Enter键,换行输入,如果想结束输入,则按【Ctrl+D】键,再次出现Shell命令提示符。

例子:用cat命令创建file1文件

 

方法:cat 文件列表 > 文件

功能:合并文件列表,把合并的结果输入文件中

说明:文件列表之间用空格符分隔开

例子:将file1file2文件合并生成file3文件

[laiyu@localhost ~]$ cat file1

this is a file named file1

[laiyu@localhost ~]$ cat > file2

this is a file named file2

[laiyu@localhost ~]$ cat file2

this is a file named file2

[laiyu@localhost ~]$ cat file1 file2>file3

[laiyu@localhost ~]$ cat file3

this is a file named file1

this is a file named file2

附加输出重定向

方法:命令 >> 文件名

功能:和输出重定向基本相同,区别:将输出内容添加到原来已经有的内容的后面,而不会覆盖原有内容

例子:向file1文件添加内容

[laiyu@localhost ~]$ cat>>file1

append to file1

[laiyu@localhost ~]$ cat file1

this is a file named file1

append to file1

 

错误输出重定向

方法:命令 2> 文件名

功能:程序的执行结果显示在屏幕上,而错误输出信息重定向到指定文件,使用“2>”符号

方法:命令 &> 文件名

功能:程序的执行结果和错误信息都重定向到同一指定文件,使用“&>”符号

说明:类似可以 &>>2>>,1>>1代表标准输出的文件句柄,2代表标准错误输出的文件句柄

例子:查看当前目录下以“a*”开头的文件,如果有错误信息,则保存到err文件

[laiyu@localhost ~]$ ls a* 2>err

[laiyu@localhost ~]$ cat err

ls: cannot access a*: No such file or directory

说明:如果要抛弃标准输出,使它不出现在屏幕上,解决的办法是把它重定向到一个叫/dev/null的特殊文件,如ls > /dev/null

 

输入重定向

方法:命令 < 文件名

功能:指不从标准输入(键盘)读入数据,而是从文件读入数据

例子:用输入重定的方式查看file1文件的内容

[laiyu@localhost ~]$ cat < file1

this is a file named file1

append to file1

说明:cat file1cat file1输出结果完全相同。

 

管道

方法:命令1 | 命令2

功能:将多个命令前后连接起来形成一个管道流,管道流中的每一个命令都作为一个单独的进程运行,前一个命令的输出结果传送到后一个命令作为输入,从左到右一次执行每个命令。

例子:利用管道分屏查看ls命令的详细帮助信息

[laiyu@localhost ~]$ ls --help | more

Usage: ls [OPTION]... [FILE]...

List information about the FILE.....

...

--More--

 

 

例:利用管道统计当前目录下的文件和子目录的数目。

[laiyu@localhost ~]$ ls | wc -l

15

说明:结果有15个文件和子目录

 

历史记录

方法1:使用上下方向键、【PgDn】、【PgUp】键,在Shell命令提示符后将出现已执行过的命令。按【Enter】键可再次执行这一命令

方法2history命令查看已执行过的历史记录,然后调用已执行过的Shell命令

功能:显示已执行过的命令。

备注:每个用户在自己到主目录下都有一个.bash_history的隐藏文件,其保存曾执行过到Shell命令。每当用户退出登录或者关机后本次操作中使用过的所有命令就会追加保存到该文件。

Bash默认保存1000Shell命令的历史记录。

 

history命令

方法:history [数字]

功能:查看Shell命令的历史记录,如不用数字参数则将查看所有Shell命令的历史记录,如果使用数字参数,则将查看最近执行过的指定个数的Shell命令

例子:查看最近执行过的5Shell命令

[laiyu@localhost ~]$ history 5

  463  cat < file1

  464  ls --help | more

  465  ls | wc -l

  466  history

  467  history 5

说明:输出项:[存在记录列表中的序号,执行过的命令]

 

再次执行已经执行过的Shell命令

方法:!序号

功能:执行指定序号的Shell命令

说明:!和序号之间不能有空格

例子:执行序号为436的历史记录

[laiyu@localhost ~]$ history 5

  463  cat < file1

  464  ls --help | more

  465  ls | wc -l

  466  history

  467  history 5

[laiyu@localhost ~]$ !436

cat < file1

this is a file named file1

append to file1

方法:!!

功能:执行刚执行过的那个Shell命令

备注:!!之间无空格

例子:执行刚执行过的历史记录

[laiyu@localhost ~]$ !436

cat < file1

this is a file named file1

append to file1

[laiyu@localhost ~]$ !!

cat < file1

this is a file named file1

append to file1

 

posted @ 2014-11-13 08:47  授客  阅读(252)  评论(0编辑  收藏  举报