参考资料:http://blog.720ui.com/2013/linux_command/
常用的快捷键:
Ctrl+c 强制终止当前命令
Ctrl+l 清屏
Ctrl+a 光标移动到命令行首
Ctrl+e 光标移动到命令行尾
Ctrl+u 从光标所在位置删除到行首
ctrl+z 把命令放入后台
Ctrl+r 在历史命令中搜索
复制命令 :cp [选项] [原文件或目录] [目标文件或目录]
选项 :-r 复制目录 -p 连带文件属性复制 -d 若文件是链接文件,则复制链接属性 -a 相当于 -pdr
历史命令 : history [选项] [历史命令保存文件] -c 清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件 ~/bash_history
查找命令 : whereis which locate(查找命令的命令)
locate 命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
which
which命令是查找命令是否存在,以及命令的存放位置在哪儿。
例:#which ls
whereis
whereis命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
type
type命令用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
查找文件命令 :find [指定目录] [指定条件] [指定动作]
find /root -iname xxx.log //不区分大小写
find /root -user root //按所有者搜索
find /root -nouser //查找没有所有者的文件
find /var/log -mtime +10 //查找10天前修改的文件 10 //10天当天 -10//10天之内修改过的文件
atime //文件访问的时间
ctime //修改文件属性的时间
find /etc -size +20k -a -size -50k //查找/etc/目录下,大于20kb小于50kb的文件 -a and 逻辑与 -o or 逻辑或
在文件中搜索字符串命令 : grep [选项] 字符串 文件名
选项: -i 忽略大小写 -v 排除指定字符串
压缩命令:
zip 格式压缩: zip 压缩文件名 源文件 //压缩文件 zip -r 压缩文件名 源目录
zip 格式解压缩: unzip 压缩文件
gz 格式压缩:gzip 源文件 //这个方式压缩后源文件会消失
gzip -c 源文件 > 压缩文件 //例如 gzip -c log.txt > log.gz 源文件会保留
gzip -r 目录 // 压缩目录下的所有子文件,但不能压缩目录
gz 格式解压缩 : gzip -d 压缩文件 或 gunzip 压缩文件
bzip2 格式压缩: bzip2 源文件 //不保留源文件
bzip2 -k 源文件 //保留源文件 ,bzip2不能压缩目录
打包命令tar : tar -cvf 打包文件名 源文件 //选项: -c :打包 -v : 显示过程 -f :指定打包后的文件名 tar -cvf log.tar log
.tar.gz压缩格式:其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩文件名.tar.gz 源文件
tar -zxvf 压缩包名.tar.gz //选项-x 解压
查看登录用户信息: w 用户名
查看登录用户信息 : who 用户名
查询当前登录和过去登录的用户信息: last
标准输入输出 :
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/sdtout | 1 | 标准输出 |
显示器 | /dev/sdterr | 2 | 标准错误输出 |
输出重定向 :
类型 | 符号 | 作用 |
标准输出重定向 | 命令 > 文件 | 以覆盖的方式,把命令的正确输出写入到指定的文件或设备中。 |
命令 >> 文件 | 以追加的方式,把命令的正确输出写入到指定的文件或设备中。 | |
标准错误输出重定向 | 错误命令 2>文件 | 以覆盖的方式,把命令的错误输出写入到指定的文件或设备中。 |
错误命令 2>>文件 | 以追加的方式,把命令的错误输出写入到指定的文件或设备中。 | |
正确和错误而输出同时保存 | 命令 > 文件 2>&1 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文档中。 |
命令 >> 文件 2>&1 | 以追加的方式,把正确输出和错误输出都保存到同一个文档中。 | |
命令 &>文件 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文档中。 | |
命令 &>文件 | 以追加的方式,把正确输出和错误输出都保存到同一个文档中。 | |
命令>>文件1 2>>文件2 | 把正确的输出追加到文件1,把错误的输出追加到文件2。 |
多命令的顺序执行 :
; 命令1;命令2 多个命令顺序执行中间没有逻辑联系 && 命令1&&命令2 逻辑与,命令1正确执行命令2才会执行。否则不执行 || 命令1||命令2 逻辑或, 管道符: | 命令1|命令2 命令1的正确输出作为命令2的操作对象
例如:netstat -an | grep ESTABLISHED
- 文件的访问权限
$ls -l test.txt
-rwxrwxr-x 3 user1 group 1024 Jun 22 13:15 test.txt
第一位‘-’代表文件类型:文件类型分两种‘-’表示普通文件、‘d'表示目录
从第二位开始每三位分别表示文件所有者的访问权限、组的成员、其他成员
- chmod改变文件的访问权限
chmod a+rw test //给所有用户(用a表示)增加(’+‘表示)了读写权限
chmod o-rw test //对其他用户取消了读写权限
a(all)所有用户、o(other)其他用户、g(group)用户组、u(user)代表文件所有者
chmod 777 test //7(1执行+2写入+4读取)
- 标准输入输出
标准输入-->命令--->标准输出
|___> 标准错误输出
- 重定向:
cat > sample.txt //shell会重写并销毁原来的内容
cat file1 file2 file3 > file4
- 重定向标准输入:
cat < file1 //cat的输入被重定向,file1文件作为输入,将标准输出显示在屏幕上
noclobber:避免重写文件
set -o noclobber//启用功能
set +o noclobber//禁止功能
向文件追加标准输出:>>
后台运行命令:
CONTROL+Z 挂起
CONTROL+C 中断(不能终止后台作业)
- kill:终止后台作业
tail -f outfile & //监视文件
ps | grep tail //ps显示进程id
kill 18228 //终止该作业