LINUX与SHELL编程
- ps 显示当前的shell
通过网络复制文件从一个系统到另一个系统可以使用ftp或者scp来进行。 - global regular expression print
(grep)查找字符串grep 'credit' memo
- head 和 tail分别显示文件的前10行和后10行
- sort按照顺序显示文件内容,但是并不改变文件的内容。
- uniq忽略文件中的重复行。
也可以通过sort -u实现
- diff 比较两个文件,显示两者的不同之处。
diff -u colors.1 colors.2
负号代表1, 正号代表2。 - echo显示文本
- date显示日期和时间
- script记录Linux会话信息
-
unix2dos dos2unix
-
ls -F
可以->目录后面有/ 可- 执行文件后面显示*
chmod a(all) g(group) u(user) o(other) + - r w x
- -文件
- d目录
-
l链接
-
chsh :改变登录的shell
-
重定向标准输出
command [arguments] > filename
重定向可能覆盖原来的内容
cat(catenate)可以将多个文件合并成一个文件。
-
重定向标准输入
command [arguments] < filename
常用的command有cat lpr sort grep
noclobber 避免文件的重写
bash:
开启:set -o noclobber
关闭:set +o noclobber
Warning : cat a b >a
的结果是a中只有b。因为执行>的时候,首先擦除a中的东西,然后ab合并放入a中。 cat orange
cat pear >> orange
这两条语句就把pear 的东西添加到了orange中去了
echo "hi there" > /dev/null
输出为空。
/dev/null是一个地方,垃圾桶。
-
管道
command_a [arguments] | command_b [arguments]
a命令处理后的输出作为b命令处理的输入command_a [arguments] > temp
command_b [arguments] < temp
rm temp
-
tr
tr string1 string2
-
tee
who | tee who.out | grep root
显示抓取的root,同时将抓取的root放在who.out的第一个位置。
也就是tee是双向输出的。一个流向了who.out;另一个是流向了grep的输入。
后台挂起并运行,& ENTER
- 后台挂起 CONTROL + Z
- 将后台挂起的程序后台运行 bg+作业号(job)
- 后台程序不能从键盘获取输入,可以通过fg或者%将后台的程序提到前台来操作。
- kill+PID(或者%+作业号代替PID)终止后台作业,中断键CONTROL+C是不能杀死进程的。
- 可以通过ps(process status)命令显示PID号
- jobs命令显示作业编号列表,记得带中括号。
- ?匹配单个字符,但是不与句点开头的文件匹配。
- [ ]是单个匹配,只从给定的里面匹配。
- `ls *[^ab]`代表的含义是列出不以a或b结尾的文件名。
vim
- vimtutor查看vim的使用指南哦
- 行号的显示与不显示
`set number` 和 `set nonumber` - 大小写敏感
-
文本模式的进入 i(光标后)/a(光标前)
文本模式下
字符删除 CONTROL + H
字删除 CONTROL+ W
行删除 CONTROL + U-
命令模式下
字符删除 x
字删除 dw
行删除 dd
-
后悔命令u 反后悔命令redo
-
o 与O 添加行,o在光标行的下方,O在光标行的上方。
保存vim ZZ
屏幕显示错误可以CONTROL+ L刷新