‘shell’ 标签下的文章
2009/1223

Ftp批量上传下载的Shell脚本, Linux Mac适用

分类:Linux | 发表评论 | 点击量:11153次

好久没写技术类文章啦,一直忙着实习。今天杭州阳光普照,心情很好,来点低技术含量的,分享两个脚本,都是在公司里经常用的。

FTP批量上传,ftput.sh:

#!/bin/bash
for filename in $@
do
ftp -nv 192.168.130.2 <<!
user username password
prompt off
bin
mput $filename
close
!
done

FTP批量下载,ftpget.sh

#!/bin/bash
for filename in $@
do
ftp -nv 192.168.130.2 <<!
user username password
prompt off
bin
mget $filename
close
!
done

适用方法:将代码修改下(FTP地址和用户名密码修改一下)保存成ftput.sh,把要上传的文件作为脚本参数执行之即可。如

sh ./ftput.sh *.jpg 123.txt config.xml

就是把所有jpg文件和23.txt config.xml两个文件上传到ftp。

2008/1027

Shell中的export & sh & source

分类:Linux | 发表评论 | 点击量:4048次

今天做了几个实验总算把export+变量的用法给弄清楚了,过程不说,留下结果以备忘:

1. 当进程创建一个字进程时候,父进程并不会将普通变量的值传递给它的子进程。

而export就是解决这个问题用的。在父进程中export A 后,在子进程中就可以使用变量A了。

2. sh+脚本:重新建立一个子shell执行脚本里面的语句,该子shell继承父shell的变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

可以这么理解:打开一个终端程序 = sh = 执行bash命令

3. source+脚本:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

所以,假设one.sh里面的内容是:export test=123 ;two.sh里面的内容是:test=123 。

那么,sh ./one.sh 在效果上等同于 source two.sh

2008/0411

同时使用中文和英文man(shell帮助)

分类:Linux | 发表评论 | 点击量:2219次

我用的是英文版ubuntu,有时候用man查看shell命令的用法时候由于本上里面的参数含义不懂,还要用非母语看,理解起来非常吃力。如果干脆用中 文版又担心翻译得不到位,比较英文的权威性高点,同时多看英文man肯定会比只看中文的要好的。于是很矛盾了,昨天google了下,搞定了,很方便,分 享下。
sudo apt-get install manpages-zh       安装中文版男人
其实这样就已经可以使用了,比如查看中文版 ls 命令的man
man -M /usr/share/man/zh_CN ls 既可
只是这样稍显麻烦,给man -M /usr/share/man/zh_CN 建立个别名吧:
vim ./.bashrc
把下面这行添加进去就OK啦。
alias cman=’man -M /usr/share/man/zh_CN’
同样的道理可以添加
alias ll=’ls -l’
常用的比较常的命令+参数都可以这么搞

2008/0408

7个例子快速入门shell通配符

分类:Linux | 发表评论 | 点击量:2164次


代表0个或多个字符

代表一个字符
1:
ls 11*2?3      显示11开头的接着是若干个字符,最后是2加一个字符和3结束的文件

[]
可以理解为一个字符,与?的区别是[]里面的内容限定了这个字符的范围
例子2:
[Cc]hange[Ll]og
将与 Changelog、ChangeLog、changeLog 以及 changelog 匹配。在需要大小写匹配的时候,使用括弧通配符很有用。
例子3:
ls /etc/[0-9]* 将列出 /etc 中以数字开头的所有文件。
ls /tmp/[A-Za-z]* 将列出 /tmp 中以大写字母或小写字母开头的所有文件。

2008/0210

通过例子学shell文件访问权限管理

分类:Linux | 发表评论 | 点击量:1670次
chmod命令可以修改文件对其拥有者,所在组,以及其他用户对该文件的权限。

命令:chmod (change mode)
格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
chmod [who][op][mode] directory
功能:改变文件的读写和执行权限。有符号法和八进制数字法。
选项:(1)符号法:
u (user) 表示用户本人。
g (group) 表示同组用户。
o (oher) 表示其他用户。
a (all) 表示所有用户。
+ 用于给予指定用户的许可权限。
- 用于取消指定用户的许可权限。
= 将所许可的权限赋给文件。
r (read) 读许可,表示可以拷贝该文件或目录的内容。
w (write) 写许可,表示可以修改该文件或目录的内容。
x (execute)执行许可,表示可以执行该文件或进入目录。