仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 856|回复: 9
打印 上一主题 下一主题

[shell编程] 带来一篇Shell经常使用下令收拾

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
1、ls:相似于dos下的dir下令

ls最经常使用的参数有三个:-a-l-F。

ls–a

Linux上的文件以.开首的文件被体系视为埋没文件,仅用ls下令是看不到他们的,而用ls-a除显现一样平常文件名外,连埋没文件也会显现出来。

ls–l

该参数显现更具体的文件信息。

ls–F

利用这个参数暗示在文件的前面多增加暗示文件范例的标记,比方*暗示可实行,/暗示目次,@暗示保持文件,这都是由于利用了-F这个参数。可是如今基础上一切的Linux刊行版本的ls都已内建了-F参数,也就是说,不必输出这个参数,我们也能看到各类分辩标记。


2、cd:用于切换用户以后事情目次

cdaaa进进aaa目次

cd下令后不指定目次,会切换到以后用户的home目次

cd~感化同cd后不指定目次,切换到以后用户的home目次

cd-下令后跟一个减号,则会退回到切换前的目次

cd..前往到以后目次下的上一级目次


3、pwd:用于显现用户以后事情目次


4、mkdir和rmdir

midir:创立目次rmdir:删除目次

两个下令都撑持-p参数,关于mkdir下令若指定路径的父目次不存在则一并创立,关于rmdir下令则删除指定路径的一切条理目次,假如文件夹里有内容,则不克不及用rmdir下令

以下:

mkdir-p1/2/3

rmdir-p1/2/3


5、cp:复制下令

复制一个文件到另外一目次:cp1.txt../test2

复制一个文件到本目次并更名:cp1.txt2.txt

复制一个文件夹a并更名为b:cp-rab



6、mv:挪动下令

将一个文件挪动到另外一个目次:mv1.txt../test1

将一个文件在本目次更名:mv1.txt2.txt

将一个文件必定到另外一个目次并更名:mv1.txt../test1/2.txt


7、rm下令

rm下令用于删除文件,与dos下的del/erase下令类似,rm下令经常使用的参数有三个:-i,-r,-f。

–i:体系在删除文件之前会先扣问确认,用户回车以后,文件才会真的被删除。必要注重,linux下删除的文件是不克不及规复的,删除之前必定要审慎确认。

–r:该参数撑持目次删除,功效和rmdir下令类似。

–f:和-i参数相反,-f暗示强迫删除


8、du、df下令

du下令能够显现今朝的目次所占用的磁盘空间,df下令能够显现今朝磁盘残剩空间。


假如du下令不加任何参数,那末前往的是全部磁盘的利用情形,假如前面加了目次的话,就是这个目次在磁盘上的利用情形。

du-hs指定目次检察指定目次的总巨细

du-hs./*检察以后目次下的一切文件夹和文件的巨细


这两个下令都撑持-k,-m和-h参数,-k和-m相似,都暗示显现单元,一个是k字节一个是兆字节,-h则暗示human-readable,即友爱可读的显现体例。


9、cat下令

cat下令的功效是显现或保持一样平常的ascii文本文件。cat是concatenate的简写,相似于dos上面的type下令。用法以下:

catfile1显现file1文件内容

catfile1file2顺次显现file1,file2的内容

catfile1file2>file3把file1,file2的内容分离起来,再“重定向(>)”到file3文件中。

">"是右重定向符,暗示将右边下令了局当做右侧下令的输出,注重:假如右边文件是一个已存在文件,其原有内容将会被清空,而酿成左边下令输入内容。假如但愿以追加体例写进,请改用">>"重定向符。

假如">"右边没有指定文件,如:cat>file1,将会等用户输出,输出终了后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输出内容写进file1。


10、echo下令

echo下令的利用频次很多于ls和cat,特别是在shell剧本编写中。

语法:echo[-ne][字符串]

功效:echo会将输出的字符串送往尺度输入,输入的字符串间以空缺字符离隔,并在最初加上换行符。

参数

-n显现字串时在最初主动换行

-e撑持以下格局的本义字符,-E不撑持以下格局的本义字符

/a收回告诫声;

/b删除前一个字符;

/c最初不加上换行标记;

/f换行但光标仍然停止在本来的地位;

/n换行且光标移至行首;

/r光标移至行首,但不换行;

/t拔出tab;

/v与/f不异;

//拔出/字符;

/nnn拔出nnn(八进制)所代表的ASCII字符;


示例

oracle@hjtest:~/hgd>echo"123""456"

123456

oracle@hjtest:~/hgd>echo"123/n456"

123/n456

oracle@hjtest:~/hgd>echo-e"123/n456"

123

456

oracle@hjtest:~/hgd>echo-E"123/n456"

123/n456

oracle@hjtest:~/hgd>echo-E"123///456"

123//456

oracle@hjtest:~/hgd>echo-e"123///456"

123/456

oracle@hjtest:~/hgd>echo-e"123/100456"

123@456


注重事项

在Linux利用的bash下,单引号’’和双引号是有区分的,单引号疏忽一切的本义,双引号不会疏忽以下特别字符:

Dollarsigns($),Backquotes(`),Backslashes(/),Excalmatorymark(!)

示比方下:

oracle@hjtest:~>echo"`TEST`"

-bash:TEST:commandnotfound

oracle@hjtest:~>echo`TEST`

`TEST`

oracle@hjtest:~>echo"$TEST"


oracle@hjtest:~>echo$TEST

$TEST

oracle@hjtest:~>echo"//TEST"

/TEST

oracle@hjtest:~>echo//TEST

//TEST

oracle@hjtest:~>echo"Hello!"

echo"Hello"

Hello

oracle@hjtest:~>echoHello!

Hello!


11、more,less,clear

nmore,less下令

这两个下令用于检察文件,假如一个文件太长,显现内容超越一个屏幕,用cat下令只能看到最初的内容,用more和less两个下令能够分页检察。more指令可使凌驾一页的文件内容分页停息显现,用户按键后才持续显现下一页。而less除有more的功效之外,还能够用偏向键往上或往下的转动文件,更便利扫瞄浏览。

less的经常使用举措下令

回车键向下挪动一行;

y向上挪动一行;

空格键向下转动一屏;

b向上转动一屏;

d向下转动半屏;

hless的匡助;

u向上洋动半屏;

w能够指定显现哪行入手下手显现,是从指定命字的下一行显现;好比指定的是6,那就从第7行显现;

g跳到第一行;

G跳到最初一行;

pn%跳到n%,好比10%,也就是说比全部文件内容的10%处入手下手显现;

/pattern搜刮pattern,好比/MAIL暗示在文件中搜刮MAIL单词;

v挪用vi编纂器;

q加入less

!command挪用SHELL,能够运转下令;好比!ls显现以后列以后目次下的一切文件;

nclear下令

clear下令是用来扫除以后屏幕显现的,不需任何参数,和dos下的cls下令功效不异。


12、head,tail

nhead和tail下令都用于检察文本文件,区分在于:head显现文件的头n行,tail显现文件的尾n行,缺省情形n都为10行。能够经由过程-n体例指定行数,如:

head-100file和tail-100file分离暗示显现文件头100行和尾100行内容。

ntail-f下令能够及时检察文件新增内容。


13、wc下令

该下令用于统计指定文件中的字节数、字数、行数。该下令各选项寄义以下:

-l统计行数

-w统计字数

-c统计字节数

这些选项能够组合利用。输入列的按次和数量不受选项的按次和数量的影响。老是按下述按次显现而且每项最多一列。

行数、字数、字节数、文件名

假如下令行中没有文件名,则输入中不呈现文件名。

比方:

oracle@hjtest:~>wc1.txt2.txt

4601679163531.txt

3001095106652.txt

760277427018总用量

oracle@hjtest:~>wc-l1.txt

4601.txt

缺省参数为-lcw,即wcfile1file2下令的实行了局与下面一样。


14、grep下令

grep是(globalsearchregularexpression(RE)andprintouttheline的缩写,用于从文件面搜刮包括指定形式的行并打印出来,它是一种壮大的文本搜刮工具,撑持利用正则表达式搜刮文本。grep的事情体例是如许的,它在一个或多个文件中搜刮字符串模板。假如模板包含空格,则必需被””援用,模板后的一切字符串被看做文件名。搜刮了局送到屏幕,不影响原文件内容。


grep可用于shell剧本,由于grep经由过程前往一个形态值来讲明搜刮的形态,假如模板搜刮乐成,则前往0,假如搜刮不乐成,则前往1,假如搜刮的文件不存在,则前往2。我们使用这些前往值便可举行一些主动化的文本处置事情。

示例

$ls-l|grep^a

经由过程管道过滤ls-l输入的内容,只显现以a开首的行。

$greptestd*

显现一切以d开首的文件中包括test的行。

$greptestaabbcc

显现在aa,bb,cc文件中婚配test的行。

$grep[a-z]/{5/}aa

显现一切包括每一个字符串最少有5个一连小写字符的字符串的行。

$grepw/(es/)t.*/1aa

假如west被婚配,则es就被存储到内存中,并标志为1,然后搜刮恣意个字符(.*),这些字符前面紧随着别的一个es(/1),找到就显现该行。假如用egrep或grep-E,就不必"/"号举行本义,间接写成w(es)t.*/1就能够了。


15、man,logout下令

man下令

man是manual的缩写,相称于Unix/Linux的联机Help,每一个体系下令和挪用都有十分具体的申明,尽年夜多半都是英文。如:manls便是检察ls下令的利用申明,一样平常另有另外一种***用来检察匡助,如:ls–help,这类体例尽年夜多半下令都撑持。


logout下令

该下令用于加入体系,与login下令对应。


16、管道和xargs
管道:
  

使用Linux所供应的管道符“|”将两个下令离隔,管道符右边下令的输入就会作为管道符右侧下令的输出。一连利用管道意味着第一个下令的输入会作为第二个下令的输出,第二个下令的输入又会作为第三个下令的输出,依此类推。
注重:管道右边下令的输出作为管道右侧下令的输出(下令的输出是必定的),不是参数,并非一切下令都撑持管道
例子:ls|grepa检察以后目次下称号包括a的文件或文件夹

xargs
年夜多半Linux下令城市发生输入:文件列表、字符串列表等。但假如要利用其他某个下令并将前一个下令的输入作为参数该怎样办?比方,file下令显现文件范例(可实行文件、ascii文本等);你能处置输入,使其仅显现文件名,今朝你但愿将这些称号传送给ls-l下令以检察工夫戳记。xargs下令就是用来完成此项事情的。
注重:find下令把婚配到的文件传送给xargs下令,而xargs下令每次只猎取一局部文件而不是全体,不像-exec选项那样。如许它能够先处置开始猎取的一局部文件,然后是下一批,并云云持续下往


例子:
1、在全部体系中查找内存信息转储文件(coredump),然后把了局保留到/tmp/core.log文件中:
$find/-name"core"-print|xargsecho"">/tmp/core.log
2、当一个目次下文件太多时,间接用rm*下令会包参数太长,用以下***能够全体删除
$ls|xargsrm


17、basename和dirname
basename用于检察文件不含路径的名字,dirname则用于检察文件路径,利用效果我们测试一下便知:
>basename/home/hj/1.txt
1.txt
>dirname/home/hj/1.txt
/home/hj
>basename1.txt
1.txt
>dirname1.txt
.
18、不带任何参数的set下令将显现shell的全体变量
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
谁可相欹 该用户已被删除
沙发
发表于 2015-1-15 07:12:20 | 只看该作者

带来一篇Shell经常使用下令收拾

这么强,支持楼主,佩服
活着的死人 该用户已被删除
板凳
发表于 2015-1-18 11:59:33 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
乐观 该用户已被删除
地板
发表于 2015-1-27 08:55:02 | 只看该作者
选择交流平台,如QQ群,网站论坛等。
蒙在股里 该用户已被删除
5#
发表于 2015-2-5 13:15:48 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
谁可相欹 该用户已被删除
6#
发表于 2015-2-12 03:00:18 | 只看该作者
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。
透明 该用户已被删除
7#
发表于 2015-3-2 22:33:05 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
飘灵儿 该用户已被删除
8#
发表于 2015-3-11 09:17:04 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
因胸联盟 该用户已被删除
9#
发表于 2015-3-18 10:55:25 | 只看该作者
有疑问前,知识学习前,先用搜索。
简单生活 该用户已被删除
10#
发表于 2015-3-26 03:13:48 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 14:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表