[048]linux常用命令总结

来源:互联网 发布:海康威视无网络视频 编辑:程序博客网 时间:2024/05/21 07:50

1,linux之sed用法:

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
sed [-nefri] ‘command’ 输入文本

常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
举例:

sed -n '1p' ab #显示第一行
sed -n '$p' ab #显示最后一行
sed -n '1,2p' ab #显示第一行到第二行
sed -n '2,$p' ab #显示第二行到最后一行

2,创建多层文件夹 :mkdir -p /test1/test2/test3 -p创建父类文件夹

3,chown root world.txt 更改为root用户
chgrp root world.txt 更改为root用户组
chown -R root test 更改整个文件夹为root用户
chmod 755 world.txt

4,du 统计目录(或文件)所占磁盘空间的大小。
du -h *
df -hl查看磁盘空间

5,xshell 上传下载:rz(received) sz(send)

6,硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。
语法:
ln [options] existingfile newfile(sexistingfile 待建立链接文件的文件,newfile是新创建的链接文件)
ln [options] existingfile-list directory
-f 建立时,将同档案名删除.
-i 删除前进行询问.
ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接

7,解压:tar -zxvf *.tar.gz
压缩:tar -zcvf *.tar.gz 目录

8,netstat -an | grep port 监听端口的占用情况
添加当前目录的文件到环境变量;
export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH

9,vim操作:
在单词之间跳转,使用Ctrl+左右键。Ctrl+a跳到本行的行首,Ctrl+e则跳到页尾。Ctrl+u删除当前光标前面的文字 ctrl+k-删除当前光标后面的文字Ctrl+w和Alt+d-对于当前的单词进行删除操作,w删除光标前面的单词的字符,d则删除后面的字符Alt+Backsapce-删除当前光标后面的单词,如果删除错误,使用Ctrl+y进行恢复Ctrl+L进行清屏操作

gg回到文章开头
12gg跳到12行

Vim多行缩进技巧
vim基本命令:http://www.tuicool.com/wx/qeIFVzE?from=timeline&isappinstalled=1
1.按v进入visual状态,选择多行,用>或<缩进或缩出

函数查找:
*:向上查找; #:向下查找
ctags使用:
http://www.360doc.com/content/13/0111/13/168576_259534618.shtml

vim字符串替换:
:%s/test/test2/g

如果你使用以下命令进入,那么就可以清楚的看到以“$”表示的换行符和以“^I”表示的制表符。
:set list
:set nolist

10,计算文件内容行数:wc -l file

11,.vimrc 设置
1 syntax on
2 set number
3 set cindent
4 set backspace=indent,eol,start
5 set tabstop=4
6 set shiftwidth=4
7 let &termencoding=&encoding
8 set fileencodings=utf-8,gbk
9 set hls

.bashrc 设置
7 export LC_ALL=zh_CN.UTF-8
8 export LANG=zh_CN.UTF-8
9 export LANGUAGE=zh_CN.UTF-8

12,linux 定时器:crontab
格式如下:
minute hour day month week command
http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html

13,Linux操作git
获取代码

1).git clone git@hostname:xxx.git

       Hostname为git服务器       xxx为项目名称

2).添加用户信息

   cd  xxx   修改 .git/config添加  [user]    name=wangzhigang-so    email=wangzhigang-so@360.cn

2.提交代码

修改完代码后执行下面命令:

1).git add . //这里的点”.”表示所有修改的文件,也可以指定单个文件

2).git commit -m “message” //message不能为空,建议写上本次提交修改简单描述

3).git pull –rebase

4).git push git@hostname:xxx HEAD:refs/heads/master //推送到服务器上
需要注意的是每次push提交到远程服务器前,应该先git pull –rebase

pull 会拉取服务器最新代码,和本地commit的代码进行代码合并,如果没有冲突,会pull成功

反之会有冲突提示,这时需要解决冲突

3.更新代码 git pull –rebase //pull 代码时最好加上rebase参数,这样代码树会比较简单。
4.代码比较 git diff

注意:当出现下面错误时,这是Git 找不到你要提交的版本了:

No refs in common and none specified; doing nothing.Perhaps you should specify a branch such as 'master'.

那请试试

git push origin master

Linux下批量杀掉 包含某个关键字的 程序进程
http://www.cnblogs.com/lichkingct/archive/2010/08/27/1810463.html
有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和 kill 一起操作。

ok,下面给出具体的参考:

ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9

运行这条命令将会杀掉所有含有关键字”LOCAL=NO”的进程,是不是很方便?

下面将这条命令作一下简单说明:

管道符”|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

“ps -ef” 是linux里查看所有进程的命令。这时检索出的进程将作为下一条命令”grep LOCAL=NO”的输入。

“grep LOCAL=NO” 的输出结果是,所有含有关键字”LOCAL=NO”的进程。

“grep -v grep” 是在列出的进程中去除含有关键字”grep”的进程。

“cut -c 9-15” 是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -9” 中的 xargs 命令是用来把前面命令的输出结果(PID)作为”kill -9”命令的参数,并执行该命令。”kill -9”会强行杀掉指定进程。
其它类似的情况,只需要修改”grep LOCAL=NO”中的关键字部分就可以了。
另一种方法,使用awk
ps x|grep gas|grep -v grep |awk ‘{print $1}’|xargs kill -9

在linux中正确匹配tab(退格):用 grep \tcatdelete.log|grep'\t'11$’\t’ |wc

原创粉丝点击