linux常见命令,实用才是硬道理.


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 -20file 一次显示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 0906270730file

19. mkdir file 创建新文件

20. wc –l file 统计行数

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

ExportLC_ALL=zh_CN.GBK

ExportLC_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里添加exportPS1="[

\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

(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 Tclprivate 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[字背景颜色;字体颜色m字符串\033[0m"

例如:
echo –en "\033[41;36msomething here \033[0m"

其中41的位置代表底色, 36的位置是代表字的颜色

字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色

字颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色

===============================================ANSI控制码的说明
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标

 

60. 如果在执行脚本时报错 bash: ./1.sh : bad interpreter:Nosuch file or directory

 

错误分析:

因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。

从你的脚本及报告的错误看来, 很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的

(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.

 

v Screen命令 可以切换屏幕登陆一台常用的服务器(该机器最好常年开着,且很少restart),运行screen命令

v 接下来关于screen的演示

§ ctrl + A C 创建新窗口

§ ctrl + A ctrl + A 两个窗口来回切

§ ctrl + A n 下一个窗口

§ ctrl + A p 前一个窗口

§ ctrl + A (num is 1, 2, ...) 到某个窗口

§ ctrl + A ‘ 输入窗口id

§ ctrl + A “ 上下键选择窗口

§ ctrl + A shift + A 改变窗口名称

§ ctrl + A W 显示所有窗口

v 晚上下班回家了,工作还没做完,怎么办?

§ 输入ctrl +A D将screen挂起

§ 第二天来上班了,运行screen –rd恢复窗口继续工作

§ 将screen挂起后,跑在screen里的各个命令仍然会继续执行着,因此一些长时间跑的任务最好放在screen里,就不用nohup了

 

vi 编辑

vi进入编辑界面后,执行vsp即可分屏显示 :vsp ~/file即可另外一个屏打开file。

grep –r ‘admin’ * 递归查找文件夹下的匹配项。

grep –v ‘admin’ file 匹配file下 不是admin的行

vi下查看文件编码格式

:set encoding

Vi下修改编码格式

:set encoding=utf-8

查看归属用户组groups

新建用户组 groupadd test

修改用户组 groupmod test2 test 将test改为tese1

新建用户 useradd test

修改密码 passwd

CTRL+Z可以终止正在编辑的文本,但不保存。 FG可以恢复

相关内容