shell的命令格式


参考高峻峰 著 循序渐进Linux(第二版)

command [options] [arguments]

command:表示命令的名称

options:表示命令的选项

arguments:表示命令的参数

例如:

ls -a -l
或
ls -al

在shell的一个命令行中,还可以输入多个命令,用分好将各个命令分开,例如

#ls -al ; cp mylinux1.txt mylinux2.txt

也可以在多行中输入一个命令,用“\”将一个命令持续到下一行

#cp -i \
mylinux1.txt \
mylinux2.txt
  • shell的通配符

  bash中常用的通配符有“*”,"?","[]"

  "*":匹配任意一个或多个字符

  “?”:匹配任意单一字符

  “[]”:匹配任何包含在方括号内的单字符

  

#ls /dev/sda[12345]
或
#ls /dev/sda[1-5]
  • shell的重定向

  Linux下系统打开3个文件,即标准输入,标准输出,标准错误输出。

  用户的shell将键盘设为默认的标准输入,默认的标准输出和标准错误输出为屏幕。

  所谓的重定向,就是不使用系统默认的标准输入/输出而是重新指定。

  1.输入重定向

  操作符 “<” 和 “<<”

  输入重定向用于改变命令的输入源

  wc << aa(我没看懂这条命令是做什么的)

  2.输出重定向

  操作符“>” 和 “>>” 

#ps -ef > ps.txt

这条命令将ps -ef输出的系统运行进程信息全部输入到ps.txt文件

然后通过more命令查看ps.txt文件

#more file1 file2 file3 > file

将file1 file2 file3的内容全部输出到file文件中,类似于文件内容的合并

如果在“>”后面指定的文件不存在,shell就会自动创建一个;如果文件存在,那么这个文件原有内容将被覆盖;如果不想覆盖存在的文件,可以使用">>"操作符。

#ls -la /etc/* >>/root/install.log

将/etc目录及其子目录下的所有文件信息追加到/root/install.log文件的后面,文件原来的内容仍然存在

  3.错误重定向

  操作符:“2>” "2>>"

  tar zxvf text.tar.gz 2> error.txt

  如果text.tar.gz是个损坏的压缩包,就会把错误消息输出到error.txt文件

  • shell的管道

  管道可以把很多命令连接起来,管道的作用就是把第一个命令的输出当作下一个命令的输入。

  管道符 “|”

#ls -la /etc/* |more
  • shell中的引用  

  shell中用于引用的字符有转义字符“\”,单引号"'",双引号""""

#mv abc\?\* abc

? * 不在是通配符而只是字符? *

mv C\:\\backup backup
mv 'C:\\backup' backu

如果将字符串放到一对单引号间,那么字符串中所有字符的特殊含义将被忽略

双引号的引用与单引号基本相同,但仍有一些特殊字符保留自己的特殊含义比如 “$”,"\"和“‘”

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM