Linux主要shell命令Word格式.docx

上传人:b****3 文档编号:7432639 上传时间:2023-05-08 格式:DOCX 页数:55 大小:42.35KB
下载 相关 举报
Linux主要shell命令Word格式.docx_第1页
第1页 / 共55页
Linux主要shell命令Word格式.docx_第2页
第2页 / 共55页
Linux主要shell命令Word格式.docx_第3页
第3页 / 共55页
Linux主要shell命令Word格式.docx_第4页
第4页 / 共55页
Linux主要shell命令Word格式.docx_第5页
第5页 / 共55页
Linux主要shell命令Word格式.docx_第6页
第6页 / 共55页
Linux主要shell命令Word格式.docx_第7页
第7页 / 共55页
Linux主要shell命令Word格式.docx_第8页
第8页 / 共55页
Linux主要shell命令Word格式.docx_第9页
第9页 / 共55页
Linux主要shell命令Word格式.docx_第10页
第10页 / 共55页
Linux主要shell命令Word格式.docx_第11页
第11页 / 共55页
Linux主要shell命令Word格式.docx_第12页
第12页 / 共55页
Linux主要shell命令Word格式.docx_第13页
第13页 / 共55页
Linux主要shell命令Word格式.docx_第14页
第14页 / 共55页
Linux主要shell命令Word格式.docx_第15页
第15页 / 共55页
Linux主要shell命令Word格式.docx_第16页
第16页 / 共55页
Linux主要shell命令Word格式.docx_第17页
第17页 / 共55页
Linux主要shell命令Word格式.docx_第18页
第18页 / 共55页
Linux主要shell命令Word格式.docx_第19页
第19页 / 共55页
Linux主要shell命令Word格式.docx_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Linux主要shell命令Word格式.docx

《Linux主要shell命令Word格式.docx》由会员分享,可在线阅读,更多相关《Linux主要shell命令Word格式.docx(55页珍藏版)》请在冰点文库上搜索。

Linux主要shell命令Word格式.docx

//注意符号是两个;

  2)

younumberis2"

  [3-9])

younumberis$ans"

  *)//*通配符

others"

  esac

1.5比较运算符

  运算符描述示例

  文件比较运算符

  -efilename如果filename存在,则为真[-e/var/log/syslog]

  -dfilename如果filename为目录,则为真[-d/tmp/mydir]

  -ffilename如果filename为常规文件,则为真[-f/usr/bin/grep]

  -Lfilename如果filename为符号链接,则为真[-L/usr/bin/grep]

  -rfilename如果filename可读,则为真[-r/var/log/syslog]

  -wfilename如果filename可写,则为真[-w/var/mytmp.txt]

  -xfilename如果filename可执行,则为真[-L/usr/bin/grep]

 filename1-ntfilename2如果filename1比filename2新,则为真[/tmp/install/etc/services-nt/etc/services]

  filename1-otfilename2如果filename1比filename2旧,则为真[/boot/bzImage-otarch/i386/boot/bzImage]

  字符串比较运算符(请注意引号的使用,这是防止空格扰乱代码的好方法)

  -zstring如果string长度为零,则为真[-z"

$myvar"

]

  -nstring如果string长度非零,则为真[-n"

  string1=string2如果string1与string2相同,则为真["

="

onetwothree"

  string1!

=string2如果string1与string2不同,则为真["

!

="

  算术比较运算符

  num1-eqnum2等于[3-eq$mynum]

  num1-nenum2不等于[3-ne$mynum]

  num1-ltnum2小于[3-lt$mynum]

  num1-lenum2小于或等于[3-le$mynum]

  num1-gtnum2大于[3-gt$mynum]

  num1-genum2大于或等于[3-ge$mynum]

1.6bash中几种循环

  6.1.forname[inword];

dolist;

done

  6.2.for((expr1;

expr2;

expr3));

done//注意有2层括号

  6.3while[expr]dolist;

  其中list简单说就是一串由操作符(operator;

、&

&

、||)

  分各给出一个简单例子:

  1.

  forfilenamein$(ls)

  do

  cat$filename

  done

  2.

  for((i=0;

i<

10;

i++))

  echo$i

  3.

  x=1

  sum=0

  while[$x-le10]//注意[]两边的空格

  letsum=sum+$x//shell中算术计算使用let

  letx=x+1

  echo$sum

 

1.7shell编程中使用到得if语句内判断参数

  –b当file存在并且是块文件时返回真

  -c当file存在并且是字符文件时返回真

  -d当pathname存在并且是一个目录时返回真

  -e当pathname指定的文件或目录存在时返回真

  -f当file存在并且是正规文件时返回真

  -g当由pathname指定的文件或目录存在并且设置了SGID位时返回为真

  -h当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效

  -k当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真

  -p当file存在并且是命令管道时返回为真

  -r当由pathname指定的文件或目录存在并且可读时返回为真

  -s当file存在文件大小大于0时返回真

  -u当由pathname指定的文件或目录存在并且设置了SUID位时返回真

  -w当由pathname指定的文件或目录存在并且可执行时返回真。

一个目录为了它的内容被访问必然是可执行的。

  -o当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。

  UNIXShell里面比较字符写法:

  -eq 

等于

  -ne 

不等于

  -gt 

大于

  -lt 

小于

  -le 

小于等于

  -ge 

大于等于

  -z 

空串

  = 

两个字符相等

  !

两个字符不等

  -n 

非空串

  -------------------------------------------------------------------------

  更为详细的说明:

  运算符 

描述 

示例

  文件比较运算符

  -efilename 

如果filename存在,则为真 

[-e/var/log/syslog]

  -dfilename 

如果filename为目录,则为真 

[-d/tmp/mydir]

  -ffilename 

如果filename为常规文件,则为真 

[-f/usr/bin/grep]

  -Lfilename 

如果filename为符号链接,则为真 

[-L/usr/bin/grep]

  -rfilename 

如果filename可读,则为真 

[-r/var/log/syslog]

  -wfilename 

如果filename可写,则为真 

[-w/var/mytmp.txt]

  -xfilename 

如果filename可执行,则为真 

  filename1-ntfilename2如果filename1比filename2新,则为真[/tmp/install/etc/services-nt/etc/services]

  filename1-otfilename2 

如果filename1比filename2旧,则为真 

[/boot/bzImage-otarch/i386/boot/bzImage]

-zstring 

如果string长度为零,则为真 

[-z$myvar]

  -nstring 

如果string长度非零,则为真 

[-n$myvar]

  string1=string2 

如果string1与string2相同,则为真 

[$myvar=onetwothree]

=string2 

如果string1与string2不同,则为真 

[$myvar!

=onetwothree]

  num1-eqnum2 

等于 

[3-eq$mynum]

  num1-nenum2 

不等于 

[3-ne$mynum]

  num1-ltnum2 

小于 

[3-lt$mynum]

  num1-lenum2 

小于或等于 

[3-le$mynum]

  num1-gtnum2 

大于 

[3-gt$mynum]

  num1-genum2 

大于或等于 

[3-ge$mynum]

  脚本示例:

/bin/bash

  #Thisscriptprintsamessageaboutyourweightifyougiveityour

  #weightinkilosandhightincentimeters.

  if[!

$#==2];

then

Usage:

$0weight_in_kiloslength_in_centimeters"

  exit

  fi

  weight="

$1"

  height="

$2"

  idealweight=$[$height-110]

  if[$weight-le$idealweight];

Youshouldeatabitmorefat."

Youshouldeatabitmorefruit."

  #weight.sh70150

  Youshouldeatabitmorefruit.

  #weight.sh7015033

  Usage:

./weight.shweight_in_kiloslength_in_centimeters

  位置参数$1,$2,...,$N,$#代表了命令行的参数数量,$0代表了脚本的名字,

  第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。

  执行,并查看情况。

  #bash-xtijian.sh60170

  +weight=60

  +height=170

  +idealweight=60

  +'

['

60-le60'

]'

  +echo'

Youshouldeatabitmorefat.'

  Youshouldeatabitmorefat.

  其中-x用来检查脚本的执行情况。

1.8DOS/Windows和Linux/Unix间文件格式和字符集转换

DOS/Windows和Linux/Unix的文件换行回车格式不同,基于DOS/Windows的文本文件在每一行末尾有一个CR(回车)和LF(换行),而UNIX文本只有一个换行。

 

1)、把Dos/Windows下的文件移至Linux/Unix系统

虽然很多程序不在乎DOS/Windows格式的CR/LF文本文件,但是有几个程序却在乎——最著名的是bash,只要一遇到回车,它就会出问题。

以下sed调用将把DOS/Windows格式的文本转换成可信赖的UNIX格式:

$sed-e'

s/.$//'

mydos.txt>

myunix.txt

该脚本的工作原理很简单:

替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。

我们用空字符替换它,从而将其从输出中彻底删除。

如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是UNIX格式的文本文件。

也就没必要那样做了!

2)、把Linux/UNIX文本移至Windows系统,使用以下脚本执行必需的格式转换:

s/$/\r/'

myunix.txt>

mydos.txt

在该脚本中,'

$'

规则表达式将与行的末尾匹配,而'

\r'

告诉sed在其之前插入一个回车。

在换行之前插入回车,立即,每一行就以CR/LF结束。

请注意,仅当使用GNUsed3.02.80或以后的版本时,才会用CR替换'

.

1.9iconv的使用方法

iconv---编码转换

用法:

iconv[选项...][文件...]

有如下选项可用:

输入/输出格式规范:

-f,--from-code=名称原始文本编码

-t,--to-code=名称输出编码

信息:

-l,--list列举所有已知的字符集

输出控制:

-c从输出中忽略无效的字符

-o,--output=FILE输出文件

-s,--silent关闭警告

--verbose打印进度信息

-?

--help给出该系统求助列表

--usage给出简要的用法信息

-V,--version打印程序版本号

例子:

iconv-c-futf-8-tgb2312aaa.txt>

bbb.txt

这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,忽略无效的字符,其输出定向到bbb.txt文件。

utf-8和 

gb2312在windows上看是一样的。

在linux下是有区别的。

粘贴、复制utf-8编码的字都会改变其编码,变为gb2312(windows下)。

只有通过ftp才能保证它的编码不变化

1.10命令格式:

ftp[-v][-d][-i][-n][-g][-s:

filename][-a][-w:

windowsize][computer]

说说他们的含义吧。

-v不显示远程服务器响应

-n禁止第一次连接的时候自动登陆

-i在多个文件传输期间关闭交互提示

-d允许调试、显示客户机和服务器之间传递的全部ftp命令

-g不允许使用文件名通配符,文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符

-s:

filename指定包含ftp命令的文本文件。

在ftp命令启动后将自动运行这些命令。

在加的参数里不能有空格。

-a绑定数据连接时,使用任何的本地端口

-w:

windowsize忽略默认的4096传输缓冲区

computer指定要连接的远程计算机的ip地址

1)?

说明:

显示ftp命令的说明。

后面可以加参数,是加需要解释的命令名,不加则显示包含所有命令列表。

2)!

说明:

功能是在本地计算机上运行指定命令。

如!

command其中command就是你要运行的命令,如果不加command这个参数的话,则显示本地命令提示,这时你输入exit命令就能返回到ftp了。

3)$macro-ame[args]

执行宏定义macro-name。

4)append

使用当前文件类型设置,将本地文件附加到远程计算机中。

大概格式是appendlocal-file[remote-file]其中local-file是说指定要添加的本地文件。

remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。

5)account[password]

提供登录远程系统成功后访问系统资源所需的补充口令。

6)ascii

默认情况下,将文件传输类型设置为ASCII

7)bell

响玲开关,意思是文件传输完成后是否有玲声提醒。

默认是关闭的。

8)binary

将文件传输类型设置为二进制。

9)bye

结束和远程计算机的ftp会话,也就是安全断开,退出ftp.

10)cd

更改远程计算机上的工作目录。

如cddata其中data是要进入的远程计算机的目录。

12)cdup

进入远程主机目录的父目录。

13)chmodmodefile-name

将远程主机文件file-name的存取方式设置为mode。

如chmod777a.out。

14)cr

使用asscii方式传输文件时,将回车换行转换为回行。

15)close

结束与远程服务器的ftp会话,并返回命令解释程序。

16)dir

显示远程的文件以及子目录列表。

如dirdatalocal-file其中data是指定要查看列表的目录,没指定的话就是当前目录。

local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。

17)debug

调试开关,打开的时候打印每个发送到远程计算机的命令,命令前有——>

默认情况是关闭的。

18)disconnnect

与远程计算机断开连接,但还保持着ftp命令提示符。

19)deleteremote-file

删除远程主机文件。

20)disconnection

同close。

21)formformat

将文件传输方式设置为format,缺省为file方式。

22)get

使用当前文件传输类型,把远程的文件拷贝到本地计算机上。

如getremote-filelocal-fileremote-file是指定要复制的文件,local-file是指定本地计算机上的文件名,没有指定的话则个remote-file同名。

23)glob

文件名通配开关

24)hash

转换每个传输数据快的散列标记打印(#).数据快的大小是2048字节。

默认情况下是关闭的,

25)help

显示ftp命令的解释,如helpcommmand其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表

26)idle[seconds]

将远程服务器的休眠计时器设为[seconds]秒。

27)image

设置二进制传输方式(同binary)

28)lcd

更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗?

如lcd[directory]其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录.

29)literal

向远程ftp服务器发送协商参数,报告.

如lireralargument[...]其中argument是指定要发送给远程服务器的协商参数。

30)ls

显示远程目录的文件和字目录.

如lsremote-directorylocal-file其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。

local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出.

2Shell基本命令

2.1ls列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件

[root@restoretmpsteph]#ls

file.htmlpublic_htmltest

[root@restoretmpsteph]#

参数:

ls-a列出所有文件,包括隐藏文件

[root@restoretmpsteph]#ls-a

....bash_logout.bash_profile.bashrcfile.htmlpublic_htmltest

ls-l列出所有者size文件权限修改日期

ls-R递归列出所有子目录的内容

2.2cd转移目录

cd/home/steph将转移到/home/steph

cd..上移一个目录

cd回到根目录

cddir改变目录位置至dir目录下。

cduser改变目录位置至用户的工作目录。

cd..改变目录位置至当前目录的父目录。

cd../user改变目录位置至相对路径user的目录下。

cd/../..改变目录位置至绝对路径的目录位置下。

2.3建立新文件和文件夹

touchnew-filename建立新文件

mkdirnew-directory建立新目录

2.4删除文件和目录

rm-rfilename删除名为filename的文件

rmdirfoldername删除名为foldername的目录

rm–rfile?

删除文件名中有五个字符且前四个字符为file的所有文件。

rm–rf*删除文件名中以f为字首的所有文件。

2.5修改文件夹权限

1.改变文件或目录的读、写、执行权限

语法:

c

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2