我的经常使用linux小命令
作者:网络转载 发布时间:[ 2014/7/11 11:03:48 ] 推荐标签:linux 操作系统
5、tail命令
tail命令用于显示文件末尾指定区域的内容,如tail -10 file, 表示显示文件file后10行内容,tail命令有非常多?数,当中有一个常常使用并且非常好用的?数 "-f":
tail -f 动态显示文件新增的内容
该?数作用是不返回文件结束符,并动态显示文件新增的内容,须要结束时,须要用户手动进行中断。这个命令在显示日志的时候作用很明显,对于一个执行中的server,可能会不断将server当前执行状态和错误状态写入日志文件,使用tail -f,将会以一定的时间实时追踪该文件的全部更新。
6、find命令
在查找文件文件的时候,首先会想到是使用find命令。
-name 依照文件名称查找文件
比如,查找当前文件夹下名字以cpp结尾的文件
find . -name "*cpp" | xargs grep "abc"
有些系统对?数的长度有限制,xargs命令的作用是将?数列表转换成小块分段传递给其它命令,以避免?数列表过长的问题。上面的find中,当前文件夹下可能包括非常多名字以cpp结尾的文件,因此为了避免“?数列太长”或“?数列溢出“的错误,使用xargs来接收find命令的输出。
7、alias命令
alias命令用于设置命令的别名。利用alias能够把非常长的命令变成随意简短的命令。
若要加入自己的alias,格式例如以下
alias ll="ls -lht"
上述加入alias的操作,在用户退出后变为无效了,若要生效,能够改动配置文件~/.bashrc文件(仅改动用户自己),在文件后面加上你自定义的alias,如:
alias la="ls -al --color=auto"
本次改动,要在下次登录的时候才干生效。若要立即生效,能够输入:
source ~/.bashrc
8、进程相关命令
ps命令用于查看当前执行的进程。
ps -ef 显示系统执行的进程
top 用于查看当前进程执行情况,包含内存使用、cpu使用量、交换区使用量等。
shift + m 能够按内存占用量来排序进程,查找进程内存使用量实用了
q 退出
9、经常使用快捷键
Ctrl + z 将当前程序放到后台并挂起
Ctrl + d 输入文件结束符,在命令行中直接输入Ctrl + D,即退出shell
Ctrl + a 跳到命令行的头部位置
Ctrl + e 跳到命令行的尾部位置
Ctrl + w 删除一个单字(word)
Ctrl + u 删除光标到行首的字符
Ctrl + k 删除光标到行末的字符
Ctrl + c 中断当前程序
10、任务命令
命令运行顺序
&& 第一个命令成功才运行第二个命令
|| 第一个命令失败才运行第二个命令
jobs 查看挂起的当前的任务列表
fg + N 将第N个任务放到前端,唤醒Ctrl + z挂起的任务
11、vim命令
!%xxd 以十六进制的方式查看文件内容
! 后面加上shell命令而已运行对应的shell命令
* 将光标移至下一个匹配的单词
# 将光标移至上一个匹配的单词
[[ 光标跳到函数的开头
]] 光标调到函数的结尾说
[{ 光标跳到上一个作用域的开头
]} 光标跳到下一个作用域的开头
ggvG或者ggVG 全选并高亮
gg=G 对整个文件内容进行格式化缩进
u 撤销上一个动作
Ctrl + r 取消上一个撤销动作
set scb 同步两个屏幕的文件,当中一个文件移动,则令一个文件跟着移动,对照两个文件时经常常使用到,解开分屏set scb!
两个非常好用的插件ctag和Tlist:
ctags
功能是扫描指定的源文件,找出当中所包括的语法元素,并将找到的相关内容记录下来。记录的内容包括:宏定义、枚举型、变量的值、函数的定义、原型和声明、namespace、typedefs变量 、类、结构、枚举类型和联合 类、结构和联合中成员变量或函数等。通过ctags我们能够非常easy的找到某个变量或者函数等在哪个文件定义。
Tlist
在当前vim中,新开一个区域,显示了当前文件的函数、类、全局变量等定义,输入回车可以跳转到对应内容的起始位置。平时在查找某个函数时,能够用到了。
12、shell中凝视一块代码
行凝视
shell中默认提供的凝视方法是#,作用是凝视一行,比如
#这里是一行凝视
if [ "1" = "2" ]; then
DoSomething
fi
块凝视
shell中并没有提供块凝视的方法,可是我们能够使用还有一种方法来实现块凝视,这样的叫做here document。here document表示包括的这段内容是一个总体数据。以下代码中,两个document之间的内容是一个总体数据。
<<document
....
document
here document,<<符号表示这是一个文本内容,由其后的字符串包括的范围是文本的正文,:符号表示空命令,什么都不干,以下的意思是将一个文本传给空命令,即对文本不做不论什么处理,间接等于凝视了
:<<block
code
block
避免反引?不能被凝视的做法是加上单引?
:<<block'
code
'block
一些小问题
问题1: 怎样删除文件里的全部空行?
1、sed '/^$/d' file 对匹配的空行运行删除操作
2、awk '/./ {print $0;}' file 匹配除空白换行字符外的全部字符,即匹配非空行
3、awk '/[^^$]/{ print $0; } file
问题2: 怎样删除文件名称带空格的文件,如"a b.html"s?
1、对空格进行转义,即空格前加上反斜杠,能够用反斜杠来屏蔽特殊字符
2、使用双引?括住文件名称
3、使用单引?括住文件名称
问题3:
一个傻x错误,在运行一段代码后,然后推断$?是否为0,以决定前面的功能代码是否运行成功,可是发现什么情况下都是返回成功,查了好久,原来是在推断$?之前,使用了echo输出 $?,所以永远都是为真了

sales@spasvo.com