Shell基本命令

Shell基本命令
Shell基本命令

Shell基本命令

几个基本的shell命令,用ssh管理主机必备。

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

[root@restoretmp steph]# ls

file.html public_html test

[root@restoretmp steph]#

参数:

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

[root@restoretmp steph]# ls -a

. .. .bash_logout .bash_profile .bashrc file.html public_html test [root@restoretmp steph]#

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

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

2. cd 转移目录

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

cd .. 上移一个目录

cd 回到根目录

3. 建立新文件和文件夹

touch new-filename 建立新文件

mkdir new-directory 建立新目录

4.删除文件和目录

rm filename 删除名为filename的文件

rmdir foldername 删除名为foldername的目录

5.修改文件夹权限

chmod 755 foldername 将把名为foldername的文件夹的权限修改为755

6.修改用户

chown steph:steph file.html 把file.html的用户修改为steph:steph

2. 压缩和解压缩文件

gzip 和gunzip

压缩:

gzip filename

文件即会被压缩,并被保存为filename.gz

解压缩:

gunzip filename.gz

filename.gz 会被删除,而继之以filename

可以通过命令man gip 和man gunzip获得命令的详细说明.

zip 和unzip

要使用zip 来压缩文件,在shell 提示下键入下面的命令:

zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在filesdir 目录中的文件。

要解压缩zip 文件的内容,键入以下命令:

unzip filename.zip

你可以使用zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把file1、file2、file3、以及/usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入filename.zip 文件中。

运行FTP Wget实现上传下载

1. 用FTP将服务器上的文件上传到其他服务器

[root]$ ftp /*启用FTP客户端

ftp> open 202.103.1.2 /*打开远程服务器IP

Connected to 202.103.1.2.

220 ProFTPD 1.2.9 Server ready.

Name (218.93.205.112:qqroot): user /*输入用户名

331 Password required for oran.

Password: /*输入密码

230 User oran logged in.

put idcspy.tar.gz idcspy.tar.gz

/*这是关键,put是上传命令,第一个idcspy.tar.gz是本地文件名,第二个是远程文件名。。意思就是把本地的idcspy.tar.gz上传到远程FTP里,并且命名为idcspy.tar.gz这样,SSH就可以自己上传了。你就可以做别的事情了。

2. Wget下载文件

使用方法:

wget的使用形式是:

wget [参数列表] URL

首先来介绍一下wget的主要参数:

· -b:让wget在后台运行,记录文件写在当前目录下‖wget-log‖文件中;

· -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次

。比如‖-t

120〃表示尝试120次。当这一项为‖0〃的时候,指定尝试无穷多次直到连接成功为止,这个

设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续

下载没有传完的文件;

· -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中

途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使

用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/Linux的Web/FTP服务器

都支持断点续传;

· -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接

,开始下一次尝试。比如‖-T

120〃表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比

较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常

也不少于60,一般设置在120左右比较合适;

· -w [number of seconds]:在两次尝试之间等待多少秒,比如‖-w 100〃表示两次尝试

之间等待100秒;

· -Y on/off:通过/不通过代理服务器进行连接;

· -Q [byetes]:限制下载文件的总大小最多不能超过多少,比如‖-Q2k‖表示不能超过2K

字节,‖-Q3m‖表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单

位,比如‖-Q200〃表示最多不能超过200字节;

· -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;

· -x:与‖-nd‖设置刚好相反,创建完整的目录结构,例如‖wget -nd

https://www.360docs.net/doc/a014853274.html,―将创建在当前目录下创建‖https://www.360docs.net/doc/a014853274.html,‖子目录,然后按照服务器

实际的目录结构一级一级建下去,直到所有的文件都传完为止;

· -nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目

录下;

·–http-user=username

·–http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;

·–proxy-user=username

·–proxy-passwd=password:如果代理服务器需要输入用户名和口令,使用这两个选项

· -r:在本机建立服务器端目录结构;

· -l [depth]:下载远程服务器目录结构的深度,例如‖-l 5〃下载目录深度小于或者等

于5以内的目录结构或者文件;

· -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设

定其他合适的选项以便于站点镜像;

· -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们

假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载

这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来,这显然是

我们通常不希望的;

ü如何设定wget所使用的代理服务器

wget可以使用用户设置文件‖.wgetrc‖来读取很多设置,我们这里主要利用这个文件来是

设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的‖.wgetrc‖

文件就起

作用。例如,‖root‖用户如果想使用‖.wgetrc‖来设置代理服务器,‖/root/.wgert‖就起

作用,下面给出一个‖.wge

trc‖文件的内容,读者可以参照这个例子来编写自己的‖wgetrc‖文件:

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定

HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

第二篇:

$ wget –help

GNU Wget 1.9.1,非交互式的网络文件下载工具。

用法:wget [选项]… [URL]…

长选项必须用的参数在使用短选项时也是必须的。

启动:

-V, –version 显示Wget 的版本并且退出。

-h, –help 打印此帮助。

-b, -background 启动后进入后台操作。

-e, -execute=COMMAND 运行?.wgetrc‘形式的命令。

日志记录及输入文件:

-o, –output-file=文件将日志消息写入到指定文件中。

-a, –append-output=文件将日志消息追加到指定文件的末端。

-d, –debug 打印调试输出。

-q, –quiet 安静模式(不输出信息)。

-v, –verbose 详细输出模式(默认)。

-nv, –non-verbose 关闭详细输出模式,但不进入安静模式。

-i, –input-file=文件下载从指定文件中找到的URL。

-F, –force-html 以HTML 方式处理输入文件。

-B, –base=URL 使用-F -i 文件选项时,在相对链接前添加指定的URL。下载:

-t, –tries=次数配置重试次数(0 表示无限)。

–retry-connrefused 即使拒绝连接也重试。

-O –output-document=文件将数据写入此文件中。

-nc, –no-clobber 不更改已经存在的文件,也不使用在文件名后

添加 .#(# 为数字)的方法写入新的文件。

-c, –continue 继续接收已下载了一部分的文件。

–progress=方式选择下载进度的表示方式。

-N, –timestamping 除非远程文件较新,否则不再取回。

-S, –server-response 显示服务器回应消息。

–spider 不下载任何数据。

-T, –timeout=秒数配置读取数据的超时时间(秒数)。

-w, –wait=秒数接收不同文件之间等待的秒数。

–waitretry=秒数在每次重试之间稍等一段时间(由1 秒至指定的秒数不等)。

–random-wait 接收不同文件之间稍等一段时间(由0 秒至2*WAIT 秒不等)。

-Y, –proxy=on/off 打开或关闭代理服务器。

-Q, –quota=大小配置接收数据的限额大小。

–bind-address=地址使用本机的指定地址(主机名称或IP) 进行连接。

–limit-rate=速率限制下载的速率。

–dns-cache=off 禁止查找存于高速缓存中的DNS。

–restrict-file-names=OS 限制文件名中的字符为指定的OS (操作系统) 所允许的字符。

目录:

-nd –no-directories 不创建目录。

-x, –force-directories 强制创建目录。

-nH, –no-host-directories 不创建含有远程主机名称的目录。

-P, –directory-prefix=名称保存文件前先创建指定名称的目录。

–cut-dirs=数目忽略远程目录中指定数目的目录层。

HTTP 选项:

–http-user=用户配置http 用户名。

–http-passwd=密码配置http 用户密码。

-C, –cache=on/off (不)使用服务器中的高速缓存中的数据(默认是使用的)。

-E, –html-extension 将所有MIME 类型为text/html 的文件都加上.html

扩展文件名。

–ignore-length 忽略―Content-Length‖文件头字段。

–header=字符串在文件头中添加指定字符串。

–proxy-user=用户配置代理服务器用户名。

–proxy-passwd=密码配置代理服务器用户密码。

–referer=URL 在HTTP 请求中包含―Referer:URL‖头。

-s, –save-headers 将HTTP 头存入文件。

-U, –user-agent=AGENT 标志为AGENT 而不是Wget/VERSION。–no-http-keep-alive 禁用HTTP keep-alive(持久性连接)。

–cookies=off 禁用cookie。

–load-cookies=文件会话开始前由指定文件载入cookie。

–save-cookies=文件会话结束后将cookie 保存至指定文件。

–post-data=字符串使用POST 方法,发送指定字符串。

–post-file=文件使用POST 方法,发送指定文件中的内容。HTTPS (SSL) 选项:

–sslcertfile=文件可选的客户段端证书。

–sslcertkey=密钥文件对此证书可选的―密钥文件‖。

–egd-file=文件EGD socket 文件名。

–sslcadir=目录CA 散列表所在的目录。

–sslcafile=文件包含CA 的文件。

–sslcerttype=0/1 Client-Cert 类型0=PEM (默认) / 1=ASN1 (DER) –sslcheckcert=0/1 根据提供的CA 检查服务器的证书

–sslprotocol=0-3 选择SSL 协议;0=自动选择,

1=SSLv2 2=SSLv3 3=TLSv1

FTP 选项:

-nr, –dont-remove-listing 不删除―.listing‖文件。

-g, –glob=on/off 设置是否展开有通配符的文件名。

–passive-ftp 使用―被动‖传输模式。

–retr-symlinks 在递归模式中,下载链接所指示的文件(连至目录则例外)。

递归下载:

-r, –recursive 递归下载。

-l, –level=数字最大递归深度(inf 或0 表示无限)。

–delete-after 删除下载后的文件。

-k, –convert-links 将绝对链接转换为相对链接。

-K, –backup-converted 转换文件X 前先将其备份为X.orig。

-m, –mirror 等效于-r -N -l inf -nr 的选项。

-p, –page-requisites 下载所有显示完整网页所需的文件,例如图像。–strict-comments 打开对HTML 备注的严格(SGML)处理选项。

递归下载时有关接受/拒绝的选项:

-A, –accept=列表接受的文件样式列表,以逗号分隔。

-R, –reject=列表排除的文件样式列表,以逗号分隔。

-D, –domains=列表接受的域列表,以逗号分隔。

–exclude-domains=列表排除的域列表,以逗号分隔。

–follow-ftp 跟随HTML 文件中的FTP 链接。

–follow-tags=列表要跟随的HTML 标记,以逗号分隔。

-G, –ignore-tags=列表要忽略的HTML 标记,以逗号分隔。

-H, –span-hosts 递归时可进入其它主机。

-L, –relative 只跟随相对链接。

-I, –include-directories=列表要下载的目录列表。

-X, –exclude-directories=列表要排除的目录列表。

-np, –no-parent 不搜索上层目录。

一个讲解的不错的Wget说明

wget是一个命令行工具,用于批量下载文件,支持HTTP和FTP。究竟比其他的工具好在哪里?看看内容吧

wget基本上所有的Linux版本都自己带了,但是有多少人在用呢?呵呵,如果你没有用过,不妨试试。Windows下面的用户可以使用GNUwin32的项目,wget,基本功能完全一致。好吧,我们来以几个简单的例子看看wget的威力。

如果我们想下载ftp里面某个目录里面的所有文件,我们也可以不用ftp这个笨蛋,呵呵,可以享受cute ftp等图形化工具的拖一个目录的轻松了。如

wget -r ftp://10.8.8.8/movie/

呵呵,等吧!下完了,发觉有些不对劲,怎么出来个10.8.8.8的目录,进去看看,又是一个movie,哦,wget将目录结构和网站标题都给记录下来了,不要??没有问题!比如说还是这个例子

wget -r -nd ftp://10.8.8.8/movie/

结果什么目录都没有了,faint!怎么会这样?呵呵,你如果想要这样就让它这样吧,否则使用

wget -r -nH ftp://10.8.8.8/movie/

恩?movie也不要?OK,那就这样

wget -r -nH –cut-dirs=1 ftp://10.8.8.8/movie/

这有什么用啊?cuteftp比他好用多了,而且,你这断了线能连吗?呵呵,不好意思,可以连

wget -c -r -nH –cut-dirs=1 ftp://10.8.8.8/movie/

但是cuteftp能做下面的事情吗?比如,现在很多网站使用Apache建站,并不提供ftp服务,但是Apache有一个indexing功能,可以提供一个类似于ftp的界面,好多文件我想下啊,怎么办?由于是HTTP协议,CuteFTP无能为力了,倒是flash get等有什么get all这种功能,不知道他们对于目录处理怎么样。但是wget一点问题都没有,不信?我们拿CTAN为例(例子并不恰当,CTAN有FTP服务),我们下载这里面所有的宏包,呵呵

wget -r -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

-k表示将连接转换为本地连接。但是现在同样有上面的问题啊,那就把你需要的加上吧,另外也许你根本不需要向下走那么多层,比如,我们就要到第二层,那么

wget -r -l2 -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

现在新的问题是,由于网页有一个排序功能,很讨厌,因为下载的时候把网页重复了好多次,那么我们可使用-A和-R开关控制下载类型,并且可以使用通配符,呵呵,现在随心所欲了吧

wget -r -R ―.htm\?*‖ -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

这次没有那种网页了吧?-R的意义在于拒绝下载匹配类型的文件,-A表示仅仅接受的文件类型,如-A ―*.gif‖将仅下载gif图片,如果有多个允许或者不允许,可以使用,分开。

那么,我们现在在使用代理服务器,怎么办呢?呵呵,很高兴你选择了wget,你可以使用它的配置文件,环境变量来利用代理。这里推荐使用环境变量,如在bash里面我们可以把天天用的proxy加到.bash_profile里面,这是Linux标准写法(很多软件都用的,什么apt-get,yum等等)

export http_proxy=http://10.20.30.40:8080

然后,proxy就默认打开了,如果需要暂时关闭,可以使用

wget –proxy=off -r -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

当然,写一个.wgetrc文件也可以,该文件可以从/usr/local/etc里面找到,里面有很详细的注释,我就不多说了。

下载网页的时候比较麻烦的事情是,有的网页被同时指向了很多遍,那么为了避免多次下载,我们使用

wget -nc -r -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

可以避免这件事情。为了不被有的连接指向非

https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/内层目录,我们还应该加上

wget -nc -np -r -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

避免下载非该目录里面的文件,这也避免了到不同的host上面去。当然,如果你希望有这个功能,在多个host之间跳来跳去的下载,可以使用

wget -nc -np -H -r -k https://www.360docs.net/doc/a014853274.html,/tex-archive/macros/latex/

使得可以在多个host之间span,同时-I和-X可以使得我们仅仅跟踪某些目录或者不跟踪某些目录。如果某些HTML里面你需要的东西不是由这种东西作出来的,你就得使用–follow-tags和–ignore-tags了。

嘿,我有个文件里面都是连接,怎么办?要是不是html你只需要

wget -i your.file

如果是,那也不繁

wget -F -i your.file

Vi指令大全—-编辑文件

进入vi的命令

vi filename: 打开或新建文件,并将光标置于第一行首

vi +n filename: 打开文件,并将光标置于第n行首

vi + filename: 打开文件,并将光标置于最后一行首

vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename….filename: 打开多个文件,依次进行编辑

移动光标类命令

h: 光标左移一个字符

l: 光标右移一个字符

space: 光标右移一个字符

Backspace: 光标左移一个字符

k或Ctrl+p: 光标上移一行

j或Ctrl+n: 光标下移一行

Enter: 光标下移一行

w或W : 光标右移一个字至字首

b或B : 光标左移一个字至字首

e或E : 光标右移一个字至字尾

): 光标移至句尾

(: 光标移至句首

}: 光标移至段落开头

{: 光标移至段落结尾

nG: 光标移至第n行首

n+: 光标下移n行

n-: 光标上移n行

n$: 光标移至第n行尾

H: 光标移至屏幕顶行

M: 光标移至屏幕中间行

L: 光标移至屏幕最后行

0: 光标移至当前行首

$: 光标移至当前行尾

屏幕翻滚类命令

Ctrl+u: 向文件首翻半屏

Ctrl+d: 向文件尾翻半屏

Ctrl+f: 向文件尾翻一屏

Ctrl+b: 向文件首翻一屏

nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i: 在光标前

I: 在当前行首

a: 光标后

A: 在当前行尾

o: 在当前行之下新开一行

O: 在当前行之上新开一行

r: 替换当前字符

R: 替换当前字符及其后的字符,直至按ESC键

s: 从当前光标位置处开始,以输入的文本替代指定数目的字符S: 删除指定数目的行,并以所输入文本代替之

ncw或nCW: 修改指定数目的字

nCC: 修改指定数目的行

删除命令

ndw或ndW: 删除光标处开始及其后的n-1个字

do: 删至行首

d$: 删至行尾

ndd: 删除当前行及其后n-1行

x或X: 删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u: 删除输入方式下所输入的文本

搜索及替换命令

/pattern: 从光标开始处向文件尾搜索pattern

?pattern: 从光标开始处向文件首搜索pattern

n: 在同一方向重复上一次搜索命令

N: 在反方向上重复上一次搜索命令

:s/p1/p2/g: 将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g: 将文件中所有p1均用p2替换

选项设置

all: 列出所有选项设置情况

term: 设置终端类型

ignorance: 在搜索中忽略大小写

list: 显示制表位(Ctrl+I)和行尾标志($)

number: 显示行号

report: 显示由面向行的命令修改过的数目

terse: 显示简短的警告信息

warn: 在转到别的文件时若没保存当前文件则显示NO write信息

nomagic: 允许在搜索模式中,使用前面不带―\‖的特殊字符

nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始

mesg: 允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d: 将n1行到n2行之间的内容删除

:w: 保存当前文件

:e filename: 打开文件filename进行编辑

:x: 保存当前文件并退出

:q: 退出vi

:q!: 不保存文件并退出vi

:!command: 执行shell命令command

:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,

若不指定n1,n2,则表示将整个文件内容作为command的输入

:r!command: 将命令command的输出结果放到当前行

寄存器操作

―?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

―?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

―?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

―?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

CRT常用命令

SecureCRT 常用命令 2010年4月26日 | 分类: Linux | 标签: SecureCRT 常用命令: 一、ls 只列出文件名(相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件。 -l:列表形式,包含文件的绝大部分属性。 -R:递归显示。 –help:此命令的帮助。 二、cd 改变目录 cd /:进入根目录 cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxt cd ..:回到上级目录 pwd:显示当前所在的目录 三.less 文件名:查看文件内容。 四.q 退出打开的文件。 五.上传文件: rz 选择要传送的文件,确定。 六.下载文件: sz 指定文件名,enter敲,即下载到了secureCRT/download目录下。 七:删除文件: rm 删除文件,rmdir 删除空目录。 八.显示最近输入的20条命令:history 20 九.获得帮助命令–help查看命令下详细参数:如:rz –help , sz –help 。 十.cd 进入某个文件夹的命令: mkdir+文件夹名创建某个文件夹的命令 sz+文件名从服务器端向本机发送文件的命令 rz 从本机向服务器端传送文件的命令 ll 列出当前目录下的所有文件,包括每个文件的详细信息 dir 对当前文件夹 vi 打开当前文件 十一.在编辑某个文件的时候: a 切换到编辑模式 ctrl+c 退出编辑模式

dd 删除整行 :q 退出当前文件 :w 写入并保存当前文件 -f 强行xx的参数。。。 其它命令: 1.ps -ef //查看server的进程,以列表形式显示的server进程。 ps 显示当前在系统运行的进程 /usr/bin/ps [选项] -e 显示每个现在运行的进程 -f 生成一个完全的列表 实际操作: ————————————– 1 SSH客户端连接到10.5.1.55系统(参见《启动远程客户端说明SecureCRT.doc》) $ cd /home/bea2/user_projects/csdomain/bin 2 查看weblogic92服务进程 $ ps -eaf | grep weblogic bea2 327926 331940 0 13:08:45 pts/4 0:00 grep weblogic webadmin 421908 368956 0 Sep 24 - 4:13 /usr/java5_64/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/de fault/sysext_manifest_classpath https://www.360docs.net/doc/a014853274.html,=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/webl ogic.policy weblogic.Server bea2 491796 385044 17 00:12:50 pts/6 182:55 /usr/java5_64/bin/java -Xms6g -Xmx8g -javaagent:/home/bea2/user_projects/csdomain/Introscope/wily/Agent.j ar -Dcom.wily.introscope.agentProfile=/home/bea2/user_projects/csdomain /Introscope/wily/IntroscopeAgent.profile -Dcom.wily.introscope.agent.agentName=AdminServer -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration

Shell命令

Shell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。 4.1.1 Shell 的基本概念 1. 什么是S hell Shell 就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell 在L inux 系统中具有极其重要的地位,如图4-1 所示

第 4 章 Shell 与 V i 编辑器 - 71 - diff grep vi multitasking sh gcc device hardware interface kernn e l TCP/IP stack bash utilii t es 图 4-1 Linux 系统结构组成 2. Shell 的功能 Shell 最重要的功能是命令解释,从这种意义上来说,Shell 是一个命令解释器。Linux 系统中的所有可执行文件都可以作为 Shell 命令来执行。将可执行文件作一个分类,如表 4-1 所示。 表 4-1 可执行文件的分类 部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图 在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在 查找该命令时分为两种情况: 用户给出了命令路径,Shell 就沿着用户给出的路径查找,若找到则调入内存,若没有 则输出提示信息; 用户没有给出命令的路径,Shell 就在环境变量 PATH 所制定的路径中依次进行查找, 若找到则调入内存,若没找到则输出提示信息。 图 4-2 描述了 S hell 是如何完成命令解释的。

最常用的Shell命令

Shell命令行操作 Linux shell 简介 Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。这种面向命令行的用户界面被称为CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。 现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。然而,专业的Linux用户认为Shell是一个非常有用的工具,学习Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令 启动shell 在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来, 按如下的组合键就可以: + + 组合键中的F2可以替换为 F3、F 4、F 5、F6。 如果要回到图形界面,则按如下组合键: + + 另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面

是等效的。“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是: 【开始】→【应用程序】→【附件】→【系统终端】 该软件允许建立多个Shell客户端,它们相互独立,可以通过标签 在彼此之间进行切换。 Shell命令基本规则 一般格式 Shell命令的一般格式如下: 命令名【选项】【参数1】【参数2】... 【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls -l -a与 ls -la 相同。 【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。 使用分号(可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序 相同。 命令补全 在送入命令的任何时刻,可以按键,当这样做时,系统将试图补全此时已输入的命令。如果已 经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按键,系统则会给出可用来补全的字符串清单。使用命令补全功能,可以提高使用长命令或操作较长名字的文件或文件夹的都是非常有意义的。

Linux实验一-shell基本命令的使用

实验一Linux shell基本命令的使用 一、实验目的和要求 a)掌握用户系统常用命令。 b)掌握文件目录常用命令。 c)掌握压缩打包常用命令。 d)掌握网络相关命令。 二、实验内容和原理 a)登录系统,查看系统相关信息; b)查询和更新系统用户数据; c)创建文件目录和文件,并实现文件操作; d)打包并解压文件 e)查询系统网络状态,并设置和更新 三、实验环境 a)硬件:PC机 b)软件:LINUX操作系统、虚拟机 四、算法描述及实验步骤 a)启动系统,打开终端; b)查看系统信息,并将以下查看内容重定向添加到文件systemInfo.txt,最后清屏: 1、查看系统当前所有进程; 2、查看当前系统信息 3、查看硬盘分区情况 4、查看/etc/fstab文件 5、查看系统当前的网络地址 c)系统用户数据: 1、切换到root状态 2、创建用户(姓名拼间首字母加学号后两位,如张飞ZF01),密码是123456 3、进入新用户,并查看默认所在主目录及所有登录系统的用户 d)文件操作: 1、在当前用户的主目录下,创建文件夹Labl 2、进入Lab1文件夹,新建文件welcome.txt,写入“Hello Zhang Fei!”保存退出 3、将b步骤生成的文件SystemInfo.txt,移动到Lab1文件夹,并设置文件权限为:文件所有者可读写,其它为只读; 并查看文件列表,权限是否设置 4、返回到当前用户的主目录 5、将Lab1文件夹打包生成tar.gz文件,并删除原文件夹 五、实验报告要求: 按实验步骤执行,在纸质实验报告上详细描述执行流程(使用命令及操作流程),并在电子版的实验报告上要求另加适当截图描述; a)启动系统,打开终端;或使用putty连接系统(如果未安装ssh,可以使用sudo

linux+shell脚本语言基础知识

linux shell脚本语言基础知识 一.shell简介 Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的界面,更确切的说,shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作。 shell是一个命令解释器,它从输入设备读取命令,再将其转为计算机可以了解的指令,然后执行它。在linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。 Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell (/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种就足够了。通常用Bash,也就是Bourne Again Shell进行编程。 二.shell使用 1.建立和运行shell程序 shell脚本程序:按照一定的语法结构把若干linux命令组织在一起,是这些命令按照我们的要求完成一定的功能。它可以进行类似程序的编写,并且不需要编译就能执行。(只需修改其权限) 像编写高级语言的程序一样,编写shell程序需要一个文本编辑器,如VI和VIM,通常使用VIM文本编辑器,支持更便利的插入模式。 首先使用VIM编辑器编辑一个hello.sh文件: #!/bin/bash #hello world example

ubuntu shell 使用命令大全

ubuntu shell 使用命令大全 前言 下面的命令大都需要在控制台/ 终端/ shell 下输入。 控制台, 终端, 和shell 意味着同样一件事- 一个命令行界面,他可以用来控制系统。 打开一个控制台: 应用程序--> 附件--> 终端 任何一个使用'sudo' 作为前缀的命令都需要拥有管理员(或root) 访问权限。所以你会被提示输入你自己的密码。 安装升级 查看软件xxx安装内容 dpkg -L xxx 查找软件库中的软件 apt-cache search 正则表达式 或 aptitude search 软件包 显示系统安装包的统计信息 apt-cache stats 显示系统全部可用包的名称 apt-cache pkgnames 显示包的信息 apt-cache show k3b 查找文件属于哪个包 apt-file search filename 查看已经安装了哪些包 dpkg -l 查询软件xxx依赖哪些包 apt-cache depends xxx 查询软件xxx被哪些包依赖 apt-cache rdepends xxx 增加一个光盘源 sudo apt-cdrom add 系统升级 sudo apt-get update (这一步更新包列表) sudo apt-get dist-upgrade (这一步安装所有可用更新) 或者 sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等) 清除所有已删除包的残馀配置文件 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。 dpkg: --purge needs at least one package name argument Type dpkg --help for help about installing and deinstalling packages [*]; Use `dselect' or `aptitude' for user-friendly package management; Type dpkg -Dhelp for a list of dpkg debug flag values; Type dpkg --force-help for a list of forcing options; Type dpkg-deb --help for help about manipulating *.deb files; Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*]. Options marked [*] produce a lot of output - pipe it through `less' or `more' ! 编译时缺少h文件的自动处理 sudo auto-apt run ./configure 查看安装软件时下载包的临时存放目录

Shell脚本编写基础

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell 是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。可以说,shell使用的熟练程度反映了用户对Linux使用的熟练程度。 一、什么是shell 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shel l(外壳)的程序。那么,shell是什么呢?确切一点说,shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell 来启动、挂起、停止甚至是编写一些程序。 当用户使用Linux时是通过命令来完成所需工作的。一个命令就是用户和shell之间对话的一个基本单位,它是由多个字符组成并以换行结束的字符串。shell解释用户输入的命令,就象DOS里的https://www.360docs.net/doc/a014853274.html,所做的一样,所不同的是,在DOS中,https://www.360docs.net/doc/a014853274.html,只有一个,而在Linux下比较流行的shell有好几个,每个shell都各有千秋。一般的Linux系统都将bash作为默认的shell。 二、几种流行的shell 目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell类型: #echo $SHELL $SHELL是一个环境变量,它记录用户所使用的shell类型。你可以用命令: #shell-name 来转换到别的shell,这里shell-name是你想要尝试使用的shell的名称,如ash等。这个命令为用户又启动了一个shell,这个shell在最初登录的那个shell之后,称为下级的shell或子shell。使用命令: $exit 可以退出这个子shell。 使用不同的shell的原因在于它们各自都有自己的特点,下面作一个简单的介绍: 1.ash ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。 2.bash bash是Linux系统默认使用的shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。Linux使用它作为默认的shell是因为它有诸如以下的特色: (1)可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令。 (2)自动通过查找匹配的方式给出以某字符串开头的命令。 (3)包含了自身的帮助功能,你只要在提示符下面键入help就可以得到相关的帮助。 3.ksh ksh是Korn shell的缩写,由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。 4.csh

xshell-linux命令

suse linux 常用命令 (1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下 cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R 选项 cp -i 在覆盖前询问用户 cp -v 告诉用户正在做什么 (3)命令mv——移动和重命名文件 mv aflie bfile 将afile重命名为bfile mv afile /tmp 把当前目录下的afile移动到/tmp/目录下 (4)命令rm——删除文件和目录 rm afile 删除文件afile rm * 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定了-r(递归)参数。 rm -rf domed 删除domed目录以及它所包含的所有内容 rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认 (5)命令cd——更改目录 cd ~ 切换到主目录 cd /tmp 切换到目录/tmp cd dir切换到当前目录下的dir目录 cd /切换到根目录 cd ..切换到到上一级目录 cd ../..切换到上二级目录 cd ~切换到用户目录,比如是root用户,则切换到/root下 (6)命令mkdir——建立目录 mkdir phots 在当前目录中建立名为photos的目录 mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录 (7)命令mkdir——删除目录 mkdir 将删除空目录 (8)命令more、less——查看文件内容 more /etc/passwd 查看/etc/passwd的内容 功能:分页显示命令

Linux 操作系统Shell常用命令总结 (linux系统)

Linux 操作系统Shell常用命令总结(linux系统) linux软件开发 1. find find pathnam e -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*"

常用shell脚本

如何用脚本实现分割文件 #!/bin/bash if [ $# -ne 2 ]; then echo 'Usage: split file size(in bytes)' exit fi file=$1 size=$2 if [ ! -f $file ]; then echo "$file doesn't exist" exit fi #TODO: test if $size is a valid integer filesize=`/bin/ls -l $file | awk '{print $5}'` echo filesize: $filesize let pieces=$filesize/$size let remain=$filesize-$pieces*$size if [ $remain -gt 0 ]; then let pieces=$pieces+1 fi echo pieces: $pieces i=0 while [ $i -lt $pieces ]; do echo split: $file.$i: dd if=$file of=$file.$i bs=$size count=1 skip=$i let i=$i+1 done echo "#!/bin/bash" >; merge echo "i=0" >;>; merge echo "while [ $i -lt $pieces ];" >;>; merge echo "do" >;>; merge echo " echo merge: $file.$i" >;>; merge echo " if [ ! -f $file.$i ]; then" >;>; merge echo " echo merge: $file.$i missed" >;>; merge

Shell脚本编程详解-吐血共享

第12章 Shell 脚本编程 ● Shell 命令行的运行 ● 编写、修改权限和执行Shell 程序的步骤 ● 在Shell 程序中使用参数和变量 ● 表达式比较、循环结构语句和条件结构语句 ● 在Shell 程序中使用函数和调用其他Shell 程序 12-1 Shell 命令行书写规则 ◆ Shell 命令行的书写规则 对Shell 命令行基本功能的理解有助于编写更好的Shell 程序,在执行Shell 命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令,例如: [root@localhost root]# ls a* -l;free;df 长Shell 命令行可以使用反斜线字符(\)在命令行上扩充,例如: [root@localhost root]# echo “ this is \ >long command ” This is long command 注意: “>”符号是自动产生的,而不是输入的。 12-2 编写/修改权限及执行Shell 程序的步骤 ◆ 编写Shell 程序 ◆ 执行Shell 程序 Shell 程序有很多类似C 语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell 程序是指放在一个文件中的一系列Linux 命令和实用程序。在执行的时候,通过Linux 操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell 程序,从中学习Shell 程序的编写、修改权限、执行过程。

12-2-1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。 [root@localhost bin]#vi date #! /bin/sh echo “Mr.$USER,Today is:” echo &date “+%B%d%A” echo “Wish you a lucky day !” 注意: #! /bin/sh通知采用Bash解释。如果在echo语句中执行Shell命令date,则需要在date 命令前加符号“&”,其中%B%d%A为输入格式控制符。 12-2-2 建立可执行程序 编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。[root@localhost bin]#chmod +x date 12-2-3 执行Shell程序 执行Shell程序有下面三种方法: 方法一: [root@localhost bin]#./ date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法二: 另一种执行date的方法就是把它作为一个参数传递给Shell命令: [root@localhost bin]# Bash date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法三: 为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。 具体操作如下: [root@localhost root]#export PATH=/bin:$PATH [root@localhost bin]# date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day !

Linux Shell常用命令总结

1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {} \;,注意{}和\;之间的空格,同时两个{}之间没有空格, 注意一定有分号结尾。 0) -ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 find . -name "datafile" -ctime -1 -exec ls -l {} \; 找到文件名为datafile*, 同时创建实际为1天之内的文件, 然后显示他们的明细. find . -name "datafile" -ctime -1 -exec rm -f {} \; 找到文件名为datafile*, 同时创建实际 为1天之内的文件, 然后删除他们. find . -name "datafile" -ctime -1 -ok ls -l {} \; 这两个例子和上面的唯一区别就是-ok会在每个文件被执行命令时提示用户, 更加安全. find . -name "datafile" -ctime -1 -ok rm -f {} \; 1) find . -name 基于文件名查找,但是文件名的大小写敏感. find . -name "datafile*" 2) find . -iname 基于文件名查找,但是文件名的大小写不敏感. find . -iname "datafile*" 3) find . -maxdepth 2 -name fred 找出文件名为fred,其中find搜索的目录深度为2(距当前目录), 其中当前目录被视为第一层. 4) find . -perm 644 -maxdepth 3 -name "datafile*" (表示权限为644的, 搜索的目录深度为3, 名字为datafile*的文件) 5) find . -path "./rw" -prune -o -name "datafile*" 列出所有不在./rw及其子目录下文件名为datafile*的文件。 find . -path "./dir*" 列出所有符合dir*的目录及其目录的文件. find . \( -path "./d1" -o -path "./d2" \) -prune -o -name "datafile*" 列出所有不在./d1和d2及其子目录下文件名为datafile*的文件。 6) find . -user ydev 找出所有属主用户为ydev的文件。 find . ! -user ydev 找出所有属主用户不为ydev的文件,注意!和-user之间的空格。 7) find . -nouser 找出所有没有属主用户的文件,换句话就是,主用户可能已经被删除。 8) find . -group ydev 找出所有属主用户组为ydev的文件。

Linux下最常用的Shell命令的介绍

有些人仍然会有这种愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面发行版。 Linux的系统管理员与桌面用户不一样,他们不像桌面用户一样使用Cinnamon,GNOME,Unity,或者KDE,他们所有的时间都是用Linux命令。 对于桌面用户来讲,若是了解一部分Linux命令,你可以更好的使用Linux,体验它的魅力,下面列举出了一些: Shell基础: 你可以通过打开Linux的terminal(终端)来执行Shell命令。Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell。在现在的大多数Linux发行版中,默认的Shell一般都是Bourne again shell(bash)。 想看看你的Shell是哪一种,执行下面的命令 echo $SHELL 在Linux中,$符号代表一个shell变量。所有的shell都用这种方式使用变量。有一些shell 变量在你的系统启动的时候就有了默认值。例如,$SHELL;$LOGNAME是你的登录名,而$PATH变量指明了你的shell命令的搜索范围。 echo命令的作用就是打印出你的输入。如果你的输入具有shell的特殊意义,例如shell变量,他就输出变量的值。 一个重要的地方是,你要注意文本的大小写。例如,ls,是DOS的dir命令的Linux版本。这个命令列出当前工作目录下的文件列表。如果你输入的是LS,你得到的只能是“找不到命令”的错误信息。 另外在Linux shell命令中一个重要的地方是,你可以将命令串起来。这是Unix/Linux从第一天开始就有的巧妙的特点。最简单的将命令连起来的办法就是使用“|”,我们称之为“pipe”。第一个命令的输出就是下一个命令的输入。 Linux命令有自己的语法规则: 基本的语法就像这样: command -option file 例如:

PowerShell基本语法及常用命令

PowerShell基本语法及常用命令 Powershell常用命令 1.Get-Command 得到Powshell所有命令 2.Get-Process 获取所有进程 3.Set-Alias 给指定命令重命名如:Set-Alias aaa Get-Command 4.Set-ExecutionPolicy remotesigned 设置powershell可直接执行脚本文件一般脚本文件以.ps1结尾执行脚本文件直接输入文件地址即可执行脚本文件中只写命令即可 5.Get-Help get-* 查询以get开头的命令Get-Help *service* Get-Help Get-Command 获取Get-Command命令的基本用法 6.Get-Member 获取对象属性如: $var | Get-Memeber 访问$var属性直接$var.T oString() PS中的变量定义 不需要定义或声明数据类型 在变量前加"$" 定义变量的规则 -变量可以是数字$123 -变量可以是字符串$abc -变量可以是特殊字符${@1b} 内置的变量 -$pshome -$home

-$profile 变量赋值: $var=123 $var="aaaaaa" 取变量值: $var 变量赋值方法:Set-Variable var 100 取值方法: Get-Variable var 清空值: Clear-Variable var 删除变量Remove-Variable var 取多个变量如var1 var2 var3地值: Get-Variable var* 另一种赋值方法$var1="bbb" $var2="$var $var1" 结果$var2="aaaaaa bbb" $var2='$var $var1' 结果$var2="$var $var1" $date=Get-Date 获取当前时间 $date.AddDays(3) 当前时间加3天 排序用法 Get-Process | Sort-Object ws 根据WS值由小到大排序 Get-Process | Sort-Object | fl Get-Process | Sort-Object | Format-List 以列表形式显示数据 导入导出文件 Get-Process > c:\aa.txt

常用shell脚本指令

常用shell脚本命令 1、显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2、删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' filename 3、删除当前行与下两行的内容: sed -i '/aaa/{N;N;d;}' filename 依次类推,删除三行,则为{N;N;N;d;},分析知:N为next 4、得出以空格为分割的字符串中单词的个数,即统计个数: awk ' { print NF } ' 如显示字符串VALUE中的单词个数,其中VALUE为:aaa bbb ccc ddd ee f 则执行 echo $VALUE | awk ' { print NF } ' 后的结果为6 5、在linux中建立一个文件与另一文件的链接,即符号链接 ln -s /var/named/chroot/etc/named.conf named.conf 这要就建立了当前目录的文件named.conf对/var/named/chroot/etc/named.conf 的符号链接。即操作named.conf就意味着操作实际文件/var/named/chroot/etc/named.conf ,这时用ll命令查看的结果如: lrwxrwxrwx 1 root root 32 Mar 22 12:29 named.conf -> /var/named/chroot/etc/named.conf 注意:当用sed来通过named.conf来删除一部分信息时,会将符号链接的关系丢掉,即会将named.conf变成一个实际文件。所以需对实际文件进行删除操作。 6、显示指定字符范围内的内容: 如:显示文件test.txt中字符#test begin与#test end之间所有的字符 sed -n "/#test begin/,/#test end/p" test.txt 或 awk "/#test begin/,/#test end/" test.txt 在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则. 1. 单引号和双引号的区别 单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符,不会作变量的引用,直接输出字符窜。请看如下例子: [root@linux ~]# name=HaHa [root@linux ~]# echo $name HaHa [root@linux ~]# myname="$name is wow" [root@linux ~]# echo $myname HaHa is wow [root@linux ~]# myname='$name is wow'

shell常用命令大全

一、文件目录类命令 1、查看联机帮助信息 man命令如:#man ls info命令如:#info cd 2、列出当前目录或指定目录的文件名和目录名 ls[选项]文件或目录 常用[选项]如下: -a:显示所有的文件,包括以“.”开头的隐含文件。 -l:长格式输出 -m:宽行输出 -F:以各种符号表示不同的文件类型 --color:彩色输出 -R:递归输出 3、touch 功能:修改文件的创建日期或以当前系统日期创建一个空文件。 -d:修改文件的日期。 #touch–d2*******test.txt 4、cp 功能:复制文件 用法:cp[选项]源文件或目录目标文件或目录 选项: a:该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地

拷贝目录,其作用等于dpR选项的组合。 -d拷贝时保留链接。 -f删除已经存在的目标文件而不提示。 -i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 -p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 -r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 5、mv 功能:给文件或目录改名或将一个文件或目录移到另一个目录 用法:mv[选项]源文件或目录目标文件或目录 -i交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。-f禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。 6、rm 功能:删除文件或目录 用法:rm[选项]文件… -f强制删除 -r指示rm将参数中列出的全部目录和子目录均递归地删除。 -i进行交互式删除

个人整理shell脚本编程笔记

shell脚本编程学习笔记(一) 一、脚本格式 vim shell.sh #!/bin/bash//声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program://程序内容说明 #History://时间和作者 二、shell变量的种类 用户自定义变量:由用户自己定义、修改和使用 与定义变量:Bash与定义的特殊变量,不能直接修改 位置变量:通过命令行给程序传递执行的参数 1、定义变量: 变量名要以英文字母或下划线开头,区分大小写。 格式:变量名=值 输出变量:echo $变量名 2、键盘输入为变量内容: 格式:read [-p "信息"] 变量名 如:read -p "pewase input your name:" name 3、不同引号对变量的作用 双引号"":可解析变量,$符号为变量前缀。 单引号'':不解析变量,$为普通字符。 反引号``:将命令执行的结果输出给变量。 三、shell条件测试 1、test命令: 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数字。 格式:test 条件表达式[ 条件表达式] (注意:[]与表达式之间存在空格) 2、常见的测试类型: 测试文件状态 格式:[ 操作符文件或目录] 如:if [ -d /etc ] then echo "exists" else echo "not exists" fi 常见的测试操作符: -d:测试是否为目录 -e:测试目录或文件是否存在 -f:测试是否为文件 -r:测试当前用户是否有读权限 -w:测试当前用户是否有写权限 -x:测试当前用户是否有执行权限

shell常用命令

目录 一、目录操作 a) ls--查看文件/目录: 常用:ls –l 查看详细文件列表 b) pwd--查看当前目录: c) cd--改变工作目录: 常用①:cd ../ 跳转到上一级目录 常用②:cd /boot/ 跳转到指定目录 d) mkdir--创建目录: 常用:mkdir 123 创建一个空文件夹 e) rm--删除文件/目录: 常用: rm -rf 123 删除目录文件夹,并且目录下的文件一并删除。 f) mv--移动文件/目录改名、移动: 移动文件: mv 1.sh ./123 → mv 目标文件移动至某目录 重名命文件:mv 1.sh 123.sh → mv 原文件欲改后文件 g) ln--建立软连接和硬连接: 软连接:ln -s 123.sh ../ → ln -s 源文件欲放置路径 硬连接:ln 123.sh ../ → ln 源文件欲放置路径 h) rmdir--删除空目录: 二、文件操作 a)cat--查看文件内容,若文件不存在,创建对应文件: 常用:cat 1.txt b)cp--拷贝文件、目录: 备份:cp 123.sh 1.sh → cp 源文件目标文件 复制至某路径:cp 123.sh ../ → cp 源文件目标路径 c)chmod--修改文件权限: 常用:chmod 777 1.sh 给1.sh最高权限 一般模式:chmod +rw 1.sh 仅当前用户下1.sh具有可读写权限 d)touch--创建文件: 常用:touch ./1.sh → touch 路径+名称 f)vim--创建并打开文件: 常用:vim ./1.sh → vim 路径+名称 g)find--在指定目录查找符合条件的文件: 以[文件名+类型]寻找:find ./ -name “*.*”→ find 路径 -nama

相关文档
最新文档