1:常用命令
cd - 变成之前目录
cd ~ 变成当前用户主目录
cd ~username 变成username工作目录
less filename =>
b :后翻页
Spacebar:前翻页
G :末尾
g :开头
/内容 :搜索
n :下一处
q :退出
cp =>
-i :询问是否覆盖
-r :递归
-u :只会复制不存在的文件
type command 识别命令类型(见4)
which command 查看可执行文件的准确位置(只会显示可执行文件)
man n program =>
1:用户命令
2:内核调用接口
3:c库函数程序接口
4:特殊文件,如设备结点
5:文件格式
6:游戏和娱乐
7:杂项
8:系统管理命令
whatis command 产生command的简述,一行
apropos str 在命令手册中搜索str
info command 通过info页面查看手册文档
alias foo='string' 给一组命令string取一个别名
unalias foo 取消别名
cat file 显示file
=>通常使用 cat file* > new 来合并文件
tail -f 查看文件末尾,如果有追加行立刻显示
printenv 查看系统参数
进程操作:
ps 查看进程信息(常用参数aux)
top 动态查看进程信息
jobs 查看当前的作业
command & 在后台运行进程
fg %作业号 后台=>前台
bg %作业号 暂停=>后台
kill -n pid 向进程号pid发送信号n
检查环境:
printenv 查看环境变量
set 查看shell变量和环境变量
2:linux目录
目录 | 内容 |
---|---|
/ | 根目录 |
/bin | 二进制文件,启动加载文件,linux内核,RAM磁盘镜像 |
/boot | grub和vmlinuz所在的地方 |
/dev | 包含设备节点的特殊目录 |
/dev/null | 用于不想得到标准输出或者标准错误的时候 |
/etc | 各种配置,比如/etc/passwd用户密码 |
/home | 用户的目录 |
/lib | 主要的共享库文件 |
/lost+found | 文件系统崩溃的时候才会使用 |
/media | 移动设备的挂载点 |
/mnt | 手动挂载点 |
/opt | 安装其他软件 |
/proc | 特殊的目录,可以通过它查看内核监管 |
/root | root账户的目录 |
/sbin | 系统的二进制文件 |
/tmp | 临时文件防止的目录,每次重启都清空 |
/usr | 普通用户使用的所有程序和相关文件 |
/usr/bin | 成千上万正常的可执行文件 |
/usr/lib | /usr/bin中所使用的共享库 |
/var | 可能改变的数据 |
3:软硬链接
ln file link : 硬连接
ln -s item link:软连接
(图片是盗的,链接http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/)
这里软连接并不拥有datablock,就好像快捷方式一样,如果删除了原来的文件,软连接就变无意义了.
4:命令分类
1:可执行程序,比如/usr/bin中所有的程序
2:shell内置命令,比如cd
3:shell函数
4:alias命令(别名)
识别方式type command
5:重定向
command > file : 重定向标准输出
command >>file : 在file后面追加标准输出
command 2>file : 重定向标准错误
command &>file : 重定向标准输出和标准错误
command < file : 标准输入重定向
可以使用command > /dev/null
丢弃输出
6:管道和过滤器
command1 | command2 => 把command1的输出作为2的输入
可以使用过滤器
command1 | filter | command2
filter:
sort 排序
uniq 去重复,-d留重复
grep pattern 匹配模式
wc 统计字数,-l统计行数
tee file 同时显示到stdout和文件中
7:扩展替换引用
$((expresssion)) 算数扩展,计算并用结果替换扩展
{1..9}3{a..c} 大括号扩展,每个括号项中每个数据做笛卡尔乘积
$name 参数扩展,用printenv可以看到参数
command2 $(command1) 命令替换用command1得出的结果来作为command2的参数
"string" 参数扩展,算数扩展,命令替换依然生效,目录替换和大括号扩展无效
'string' 全无效
8:光标控制
bash下:
ctrl-A:光标移到行首
ctrl-E:光标移到行尾
ctrl-K:剪切到行尾
ctrl-U:剪切到行首
ctrl-Y:复制到当前位置
7:vim多文件操作
vim file1 file2 ...
:n => 下一个文件
:N => 上一个文件
:buffers => 查看编辑文件
:e file => 新编辑文件
:buffer n => 编辑文件n
被忽略的命令
0 :回到行首
^ :第一个非空字符
$ :行尾
W :下一个单词(无视字符)
B :上一个单词(无视字符)
%s/old/new/gc
g:全局替换
c:check
存储介质