shell命令

常识:
  1. 当用户登录后,“#”表示用户登录的是超级用户,“*”表示登录到系统的是普通用户。
  2. cd、pwd、exit和echo命令,都属于bash的内置命令,当用户登录系统后,shell以及内置命令就会被系统载入到内存中,一直运行,知道用户退出系统。Linux的发行版一般使用bash作为默认的shell。
  3. 除了内置命令外,Linux系统内还有很多可执行文件,例如ls是一个可执行文件,存放在/bin/ls目录下。这些命令与shell内置命名不同,只有他们被调用时,才被载入内存执行。
一、shell命令语法分析:
  1. shell命令的一般格式:
command [options] [arguments]
  • command:表示命令的名称;
  • options: 表示命令的选项,用于改变命令行的执行方式,一般选项前面有一个“-”符号,用户区别于参数;
  • arguments:表示命令的参数,命令的操作对象,如文件或是目录。

eg:

> ls -a -l  //显示所有文件的即信息
> ls -al //和上面的指令效果相同
> ls -a -l /etc //显示/etc目录下的所有文件的所有信息
  1. 有的命令可以不带参数,如ls命令,但是有的命令必须带有参数,如mv 命令至少带有两个参数,当参数不够时,shell就会给出错误提示。
> mv myLinux1.txt myLinux.txt
  1. shell在一个命令行中,还可以输入多个命令,用分号将各个命令分开,例如:
> ls -al;cp myLinux1.text myLinux2.txt

4.相反,也可以在多行中输入一个命令,用“\”将一个命令执行到下一行,如:

> cp -i \
> myLinux1.txt \
> myLinux2.txt
二、通配符

各个版本的shell都有通配符,用户可以在命令的参数中使用通配符,进行文件名或是路径名的匹配。

  1. bash中常用的通配符有“*”、“?”、“[]”。
  • “*” ,匹配任意一个或多个字符
> ls *.txt //列出所有以.txt结尾的文件(除去以“.”开头的文件)
> cp doc/* /opt  //将doc目录下的所有文件复制到opt目录下
  • “?”,匹配任意一个单一字符
> ls ab?.txt //列出匹配ab开头,紧跟一个任意字符,并且以.txt结尾的文件
  • “[]”,匹配任何包含在方括号内的单字符
> ls dov/sda3[12345]   //匹配dov目录下,以sda3开头,第五个字符是1、2、3、4、5结尾的文件
// dov/sda31   dov/sda32   dov/sda33  dov/sda34  dov/sda35

上面的效果也可以这么写:

 > ls dov/sda3[1-5] 
  1. 通配符组合使用
> ls [1-9]?.txt //列出以数字开头,后面跟着一个任意字符,并且以.txt结尾的文件
> ls [xyz]*.txt //列出以x或y或z开头,以.txt结尾的文件
三、shell的重定向

Linux下,系统打开三个文件,即标准输入、标准输出、标准错误输出。用户的shell键盘将设置为标准输入,默认的标准输出和标准错误输出为屏幕。也就是说,用户从键盘输入,将结果和错误输出到屏幕上。
所谓重定向,就是不使用系统默认的标准 输入/ 输出,而是重新指定。因此重定向分为输入重构定向、输出重构定向和错误重定向。

  1. 输入重定向,用于改变命令行的输入源,利用输入重定向,可以将一个文件作为命令的输入源,而不从键盘输入。
    输入重定向的操作符友“<”、“<<”
    “<”使用如下:
> wc<anoconda-ks.cfg //用wc命令来统计输入给它的文件anoconda-ks.cfg的行数、单词数和字符数
< 操作符

“<<”操作符,告诉shell当前命令的标准输入来自 命令行中 一对分割号之间的内容。
如以下操作,讲一对分隔号aa之间的内容作为wc命令的输入:

<< 操作符

分隔号可以时任意字符。shell将在第一个分割号后开始读取内容,直到出现另一个分割号读取结束,然后将内容送给wc命令处理。

  1. 输出重定向不是讲命令的输出结果输出在屏幕上,而是输出到一个指定的文件中。
    用于输出重定向的操作符有“>”,“>>”。例如:
> ps -ef >ps.txt //这条命令讲ps -ef输出的系统运行的进程信息全部输出到ps.txt中,而不是输出到屏幕

>more file1 file2 file3 > file //more命令用于查看文件的内容,将file1、file2、file1文件合的内容全部输出到file文件中,类似于文件的合并。

注意:如果再“>”指定的文件不存在,shell就会自动创建一个;如果文件存在,那么文件原来的内容将被覆盖。如果不想文件类容被覆盖,可以使用“>>”操作符。

> ls -al /etc/* >>/root/install.log //将etc下的所有文件内容,追加到/root/install.log 文件后面。/root/install.log 原来的内容仍然存在。
  1. 错误重定向
    使用操作符“2>”、“2>>”,实现对错误日志的重定向。
> tar zxvf text.tar.gz 2> error.log  

tar 是打包命令,如果text.tar.gz是个损坏的文件,就会把错误信息输出到error.log文件中。

四、shell管道

管道可以把多个指令连接起来,把第一个指令的输出当成第二个指令的输入,第二个指令的输出当成第三个指令的输入,以此类推。因此,管道就是将一个命令的输出,当作另一个指令的输入,不经过任何中间件。
通过管道符 “|” ,可以进行指令的连接。如下:

> ls -al /etc/* | more  //将/etc目录及其子目录的所有文件 分屏显示
五、shell中的引用

bash中有很多特殊意义的字符,如果再shell命令的参数中使用,就会抛错,Linux使用“引用”来忽略这些特殊字符的特殊意义,引用技术就是通知shell将这些字符当作普通字符处理。
shell 中,用于引用的字符有 转义字符“\”、单引号“ ' ”、双引号“ "" ”。

  1. 转义字符“\”,将“\”放在特殊字符的前面,shell就会忽略这些字符在bash中原有的含义,把他们当作普通字符对待。
> mv abc\?\* abc   //讲 abc\?\* 重命名为 abc
> mv c\:\\backup backup  //将 c\:\\backup 重命名为 backup   ,因为文件包含特殊字符,所以用\转义字符。
  1. 单引号“ ' ”
    如果将字符串放进一对单引号之间,那么该字符串所有特殊字符的特殊含义将被忽略。
> mv c\:\\backup backup  //将 c\:\\backup 重命名为 backup   ,因为文件包含特殊字符,所以用\转义字符。
> mv 'c:\backup' backup  //与上面的命令等效
  1. 双引号“ '" ”
    包含在双引号的字符都被shell看作时普通字符,除了“$”、“\”和“__”。如下,”。如下,``仍然保持原有的意义。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容