1、 LINUX常用操作命令和命令行编辑快捷键
1.1 终端快捷键:
- Ctrl + a/Home 切换到命令行开始
- Ctrl + e/End 切换到命令行末尾
- Ctrl + l 清除屏幕内容,效果等同于 clear
- Ctrl + u 清除剪切光标之前的内容
- Ctrl + k 剪切清除光标之后的内容
- Ctrl + y 粘贴刚才所删除的字符
- Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)
- Ctrl + c 终止命令
- ctrl + o 重复执行命令
- Ctrl + d 退出 shell,logout
- Ctrl + z 转入后台运行,但在当前用户退出后就会终止
- Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符
- Alt + t 交换当前与以前单词的位置
- Alt + d 剪切光标之后的词
- Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
- Ctrl+(x u) 按住 Ctrl 的同时再先后按 x 和 u,撤销刚才的操作
- Ctrl+s 锁住终端
- Ctrl+q 解锁终端
- !! 重复执行最后一条命令
- history 显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令
- !$ 显示系统最近的一条参数
最后这个比较有用,比如我先用 cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用 vim 编辑。一般的做法是先用↑ 显示最后一条命令,然后用 Home 移动到命令最前,删除 cat,然后再输入 vim 命令。其实完全可以用 vim !$来代替。
1.2 gnome快捷键
- Alt + F1 类似 Windows 下的 Win 键,在 GNOME 中打开”应用程序”菜单(Applications)
- Alt + F2 类似 Windows 下的 Win + R 组合键,在 GNOME 中运行应用程序
- Ctrl + Alt + D 类似 Windows 下的 Win + D 组合键,显示桌面
- Ctrl + Alt + L 锁定桌面并启动屏幕保护程序
- Alt + Tab 同 Windows 下的 Alt + Tab 组合键,在不同程序窗口间切换
- PrintScreen 全屏抓图
- Alt + PrintScreen 当前窗口抓图
- Ctrl + Alt + → / ← 在不同工作台间切换
- Ctrl + Alt + Shift + → / ← 移动当前窗口到不同工作台
Ctrl+Alt+Fn 终端 N 或模拟终端 N(n 和 N 为数字 1-6)Ctrl+Alt+F7 返回桌面
1.3 窗口操作快捷键
Alt + F4 关闭窗口
- Alt + F5 取消最大化窗口 (恢复窗口原来的大小)
- Alt + F7 移动窗口 (注: 在窗口最大化的状态下无效)
- Alt + F8 改变窗口大小 (注: 在窗口最大化的状态下无效)
- Alt + F9 最小化窗口
- Alt + F10 最大化窗口
Alt + 空格键 打开窗口的控制菜单 (点击窗口左上角图标出现的菜单)
1.4 文件浏览器
Ctrl+N 新建窗口
- Ctrl + Shift + W 关闭所有文件浏览器
- Ctrl + 1/2 改变文件夹视图查看方式,图标视图/列表视图
- Alt + → / ← 后退/前进
- Alt + ↑/↓ 移动到父文件夹/选择的文件夹
- Alt + Home 直接移动到主文件夹
- F9 开关显示隐藏 Nautilus 侧边栏
- Ctrl+H 显示隐藏文件(切换键)
- Shift+Ctrl+N 新建文件夹, 很有用
- Alt + Enter 查看选择文件/文件夹的属性,代替单击右键选择属性
- Ctrl+Page Up 上一个标签
- Ctrl+Page Down 下一个标签
-
2、 关机和重启命令
Shutdown
- Reboot
- Halt
- poweroff
3、grep和管道符
昨天的时候 leader 给我出了道问题:
找出文件夹下包含 “aaa” 同时不包含 “bbb”的文件,然后把他们重新生成一下。要求只能用一行命令。我对 Linux 是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的。这个问题对我来说就有点难度,我只是大概知道查找文件用 grep ,其他的就不知道了。不过没关系,用 Google ,查找到 grep 的完整用法:
1、grep -l ‘boss’ 显示所有包含 boss 的文件名。
2、grep -n ‘boss’ file 在匹配行之前加行号。
3、grep -i ‘boss’ file 显示匹配行,boss 不区分大小写。
4、grep -v ‘boss’ file 显示所有不匹配行。
5、grep -q ‘boss’ file 找到匹配行,但不显示,但可以检查 grep 的退出状态。(0 为匹配成功)
6、grep -c ‘boss’ file 只显示匹配行数(包括 0)。7、grep “$boss” file 扩展变量 boss 的值再执行命令。
8、ps -ef|grep “^user1″ 搜索 user1 的命令,即使它前面有零个或多个空格。
9、ps -e|grep -E ‘grant_server|commsvr|tcpsvr|dainfo’ 查找多个字符串的匹配(grep -E 相当于 egrep)
了解了 grep 的参数之后,问题就解决了一半了,因为可以搜索出符合条件的文件了。不过光有 grep 还是不行,因为要把搜索出来的文件名作为参数传给 generate 命令。OK,接下来该管道符出场了。即使是像我这样对 Linux 只是有一点了解的人也经常用到管道符,比如“|”,示例: ls -a | more 。但是对于管道符的具体意义和它做了什么我就不知道了,没关系,Google 一下,找到一些资料:
利用 Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。
连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命
令的输入,依此类推。
所以查找的时候可以这样写:grep -rl “aaa” * | grep -v “bbb”
这样右边的命令就可以从前面的结果中筛选了。然后还有 generate 命令,因为生成文件的命令格式是这样的:generate ``文件名
不过如果直接使用 generate grep -rl “aaa” * | grep -v “bbb” 的话会出错,因为命令会从左向右执行,这条命令就会把 grep 作为一个文件名来看待。怎么办呢?这个时候就要使用 · (键盘上数字键 1 旁边的那个符号,和“~”在一个按键上)来做命令替换了,用 · 把后面的 grep 命令包起来就好了,这样:generate ·grep -rl “aaa” * | grep -v “bbb”·
然后就搞定了。工作一段时间之后,越来越喜欢 Linux 的哲学了,它有很多命令,看起来功能都不是那么强劲,但是如果
你开动脑筋把这些命令组合起来的话,就能实现 很多让你意想不到的功能,有时候你忍不住惊呼:实在是太 coooool 了! 这对于像我这种被 Windows 的傻瓜式操作惯坏了的人来说,是个福音,以后要多多开动生锈了的大脑。如果单纯使用电脑的话,还是 Windows 好用,但 是对于程序员,最好还是多玩玩 Linux。BTW,现在也越来越喜欢使用 VIM 了,虽然刚开始用的时候就觉得它是个记事本~囧~~ 以前总听说“真正的牛人编码都是用记事本编写的”,当时就觉得这些人实在太厉害了,代码提示和自动补全都不用,现在想想,可能是外行看到他们使用灵活+强 大的 VIM 或者 EMACS 了吧。^_^
我的补充:
查找包含 logField 又包含 open 的文件:
用 grep “logFileId” *.tbc|grep “open”
4、kill常用命令
4.1 kill -9干掉服务终极版脚本:
#!/bin/bashpid1=$(ps -ef | grep 进程名1| awk '{print $2}')pid2=$(ps -ef | grep 进程名2| awk '{print $2}')pid3=$(ps -ef | grep 进程名3| awk '{print $2}')pid4=$(ps -ef | grep 进程名4| awk '{print $2}')pid5=$(ps -ef | grep 进程名5| awk '{print $2}')pid6=$(ps -ef | grep 进程名6| awk '{print $2}')for pid in {$pid1,$pid2,$pid3,$pid4,$pid5,$pid6}dokill -9 $piddone
4.2 杀死所有脚本
#!/bin/bash#################################################################有一些脚本加入到了cron之中,存在脚本尚未运行完毕又有新任务需要执行的情况,#导致系统负载升高,因此可通过编写脚本,筛选出影响负载的进程一次性全部杀死。################################################################ps aux|grep 指定进程名|grep -v grep|awk '{print $2}'|xargs kill -9
