shell学习笔记(一)
运行shell脚本的方式:
chmod +x test
sh test
bash test
查看文件所在路径:
which sh
查看具体的信息:
ls /usr/bin/sh -l
查看命令历史:
history
别名:alias、unalias
前后台作业控制:screen
查看任务:screen -list
恢复任务:screen -r 任务号
cat < /etc/hosts >/etc/test.sql 把hosts的内容读入,并重定向到test.sql中
管道| 将前者命令的标准输出交给后者命令的输入
tee 把当前的管道内容获取下来
cat /etc/hosts |grep linux|tee -a test.text
命令排序:
1.;么有逻辑关系,无论分号前面的命令执行是否成功都执行后面的命令
2.&& 前面成功则执行后者
3.||前面执行不成功,则执行后者
查看ip比较简单的方法:
ifconfig eth0|grep "inet"
删除文件夹下面的文件:
rm -f *
vi的操作命令:
:wq 编辑保存
:wq! 没有权限强制保存
$ 移动到这一列的最后面字符处
G 移动到这个文件的最后一列
gg 移动到这个文件的第一列
n num 光标向下移动 n 列
/word 向光标之下寻找一个名称为 word 的字串。例 如要在文件内搜寻 vbird 这个字串,就输入 /vbird 即可
?word 向光标之上寻找一个字串名称为 word 的字 串
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为 word2 !举例来说,在 100 到 200 列之间搜寻 vbird 并取代为 VBIRD 则:“:100,200s/vbird/VBIRD/g”。(常用)
:1,$s/word1/word2/g 从第一列到最后一列寻找 word1 字串,并将 该字串取代为 word2 !
:1,$s/word1/word2/gc 从第一列到最后一列寻找 word1 字串,并将 该字串取代为 word2 !且在取代前显示提示 字符给使用者确认 (confirm) 是否需要取 代!(常用)
x, X 在一列字当中,x 为向后删除一个字符 (相 当于 [del] 按键), X 为向前删除一个字符 (相当于 [backspace] 亦即是倒退键) (常 用)
dd 删除光标所在的那一整列(常用)
ndd n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用)
yy 复制光标所在的那一列(常用)
nyy n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
p, P p 为将已复制的数据在光标下一列贴上,P 则 为贴在光标上一列! 举例来说,我目前光标 在第 20 列,且已经复制了 10 列数据。则按 下 p 后, 那 10 列数据会贴在原本的 20 列之 后,亦即由 21 列开始贴。但如果是按下 P 呢? 那么原本的第 20 列会被推到变成 30 列。 (常用)
u 复原前一个动作。(常用)
:w 将编辑的数据写入硬盘文件中(常用)
:w! 若文件属性为“只读”时,强制写入该文件。不过,到底能 不能写入, 还是跟你对该文件的文件权限有关啊!
:q 离开 vi
:q! 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存 盘案
:wq 储存后离开,若为 :wq! 则为强制储存后离开
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个文件
:set nu 显示行号,设置之后,会在每一列的字首显示该列的行 号
:set nonu 与 set nu 相反,为取消行号!
&和&>和&&区别:
{}的用法: