linux shell 命令

工作中经常用到的命令总结,希望对大家有帮助,偶尔忘记时可以打开这个看看,觉得得太有用了。

1.       ctrl+A  返回最前边的字符。

2.       ctrl+R  查询history时,提示用过的command

3.       vi中移动到行头,按 数字0 ,移动到行尾按 $ 即可!

4.       wget  httpd://afdasfd.com  或者 svn co httpd.//name.com  或者 svn export url都可以下载

5.       vi&vim 

copy:  :1,6yàEnter (复制1-6行)  y=yank

delete:  :1:6dàEnter (删除1-6行)

paste:   复制后直接按p来进行粘贴即可

显示行数:  :set nu

/keyword 进行搜索,n为next.

6.       More阅读命令:

More +20 file 从第二十行开始显示file内容

More -20 file  一次显示20行

7.       cp file1 file2  复制文件

cp –r file file2  复制目录

scp file1 se1.asc.cnz.alimama.com:~/bok/  拷贝到其它机器

rsync –r file se1.asc.cnz.alimama.com:~/bok/  拷贝到其它机器

rm file 删除文件

rm –rf directory 删除目录

rm –rf {a,b,c} 删除多个目录

8.       less 阅读命令

9.       cat 阅读命令

cat file

cat file1 file2> file 合并内容

10.   >file 清空文件内容

11.   mv file file2 修改文件名称

12.   mv file ../file 修改文件路径

13.   find ./ -iname ‘file’ 查找文件名为file的路径,不区分大小写

14.   find ./ -name ‘file’ 查找文件名为file的路径,区分大小写

15.   head -20 file 取前30行并浏览

16.   tail -30 file 取末30行

17.   history历史命令

18.   修改已创建文件的时间 touch -c -t 0906270730 file

19.   mkdir file 创建新文件

20.   wc –l file 统计行数

21.   中文乱码的问题解决:

Export LC_ALL=zh_CN.GBK

Export LC_LANG=zh_CN.GBK

22.   crontab –l 查看crontab命令行

crontab –e 编辑crontab命令行

10 6 * * * /home/a.sh 每天6点10分执行a.sh

*/2 * * * * a.sh      每2分钟执行一次

 

23.   重定向

Ø  或者 | tee

 Eg: cat file> file2   or         cat file | tee file2

 

24.   ps –eaf | grep httpd 查找httpd进程

25.   kill -9 PID 强制停止进程

26.   rpm –ivh a.rpm 安装rpm包

rpm –q a.rpm 检查 a.rpm是否安装

rpm -e a.rpm 卸载a.rpm

27.   chmod 111(可执行)/222(可读)/444(可写) file  权限

28.   修改linux颜色  在vim .bash_profile里添加export PS1="[\[\033[1;32m\]\u\[\033[1;33m\]@\[\033[1;31m\]\h \[\033[1;35m\]\W\[\033[0m\]]\\$"

29.   syntax off可以vi下取消高亮显示语法。Syntax on可以显示

30.   su – username  切换用户账号

31.   top 显示进程完整路径和名称。

32.   hostname 显示系统当前主机名和域名

33.   date系统时间

34.   cal日历

35.   pwd 绝对路径

36.   diff file1 file2 比较两文件

37.   vimdiff file1 file2

38.   du file –k 显示文件大小

39.   tail –f file   动态查看文件内容

40.   grep ‘title’ file 在文件file中搜索带title的行

41.   grep ‘title’ file -10在文件file中搜索带title的行,并打印出上下10行内容

42.   sed –e ‘s/a/b/g’ file >file2 修改file中的a为b并导入file2中

43.   ls [a-z]*.conf 列出a到z开头文件,conf结尾的所有文件

44.   yum search packagename 搜索package

yum install packagename 安装package

45.   tar –zxvf file.tar 解压缩

tar –cvf file.tar file 打包

46.   ps –x 自己的进程

ps aux 所有人的进程

47.   grep ’test’ file | head -5

48.   grep ‘test’ file –n 显示出匹配的行号

49.   du –h –max-depth=/home/liuyongb 查看空间大小

50.   ln –s ~/file ~/bin/file 软连接

51.   find ./ -name ‘test’ | xargs rm –rf 本地查找后,进行删除

52.   df –hl 查看空间剩余

53.   du –sh file 查看目录总大小

54.   ls | sort –n 按数字排序  

55.   ifconfig 显示机器ip地址

56.   改变文件用户的组和用户用chown。 比如file原来所属的组和用户为admin  users,想改成yahoo users,则用sudo chown yahoo:users file即可

57.   find ./|xargs grep 'Eragon'  在当前目录及子目录下的文件中找到包含某单词的文件?

另附上机器打通方法:

  如果打通1,2两台机器。 第一步,在1的机器下,cd ./ssh,然后ssh-keygen -t rsa,回车再回车,生成id_rsa.pub, 第二步,mv id_rsa.pub 1.pub 第三部,cat 1.pub>>authorized_keys.

然后到机器2操作,相同的方法在2机器上生成pub文件取名为2.pub,然后copy到1机器中的.ssh中,然后cat 2.pub》authorized.keys.,最后,copy authorized.keys. 到2机器中。到此就打通了

 如果还是不行则: 1. chmod 644 authorized_keys

                  2. /etc/hosts底下加入要打通的机器IP

50 rz 可以 直接从windows机器传东西

51 sz file 可以将linux的文件拷贝到windows.

52. 将命令重命名:  alias fid=’find ./ -name test’

 

52. mail –s “标题” bin.liuyb@hotmail.com <file 发送file内容给邮箱

   (uuencode file1 file1&& cat file2)|mail -s "标题" bin.liuyb@alibaba-inc.com  发送带附件的file1给邮箱,同时发送file2的内容给邮箱。

52, expect的安装

1、 首先,准备好所需的两个安装包

 

tcl8.4.13-src.tar.gz

expect-5.43.0.tar.gz

 

2、 安装tcl8.4.13

 

Tcl 的 configure 脚本有一个语法错误,下面的命令可以纠正它:

sed -i "s/relid'/relid/" configure (8.4.13不再有这样的错误了)

编译tcl

cd unix

./configure --prefix=/expect

make

make install

mkdir -p /tools/lib

需要的内容都拷贝到/tools/lib目录

cp tclConfig.sh /tools/lib/

 

安装完毕完先不要删除源码,以会安装expect还要用到

 

将/tools/bin目录export到环境变量,vim .bashrc然后输入export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

 

3、 安装expect

 

./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no

 

如果报

checking for Tcl private headers... checking for tclInt.h... no

configure: error: Can't find Tcl private headers

 

就再添加一个头文件目录参数

--with-tclinclude=../tcl8.4.13/generic,即:

./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no --with-tclinclude=../tcl8.4.13/generic

 

 

脚本运行正常,进行执行make进行编译

make

编译过程中未出现错误,执行安装:

make install

 

sudo cp /tool/bin/expect /usr/bin/

53  把文件中的数字0-9替换为a-j

# cat file | tr [0-9] [a-j]

 

54、删除文件file中出现的"Snail"字符

# cat file | tr -d "Snail" > new_file

【注意】这里,凡是在file文件中出现的'S','n','a','i','l'字符都会被删除!而不是紧紧删除出现的"Snail”字符串。

55、删除文件file中出现的换行'\n'、制表'\t'字符

# cat file | tr -d "\n\t" > new_file

不可见字符都得用转义字符来表示的,这个都是统一的。

56. 删除连续着的字母 只保留第一个

# cat file | tr -s [a-zA-Z] > new_file

57.  nl  file  跟cat file 一样 只不过会加上行号

58. shell中echo输出改变颜色

   格式: echo "\033[字背景颜色;

posted on 2010-11-30 14:08  张飞_  阅读(1206)  评论(0编辑  收藏  举报

导航