linux常用命令
Posted yinqanne
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux常用命令相关的知识,希望对你有一定的参考价值。
参考:http://www.runoob.com/linux/linux-command-manual.html
一、awk 命令:依次对每一行进行处理,然后输出
(1)awk [选项参数] ‘script‘ var=value file(s)
$ awk -F ‘[ ]‘ ‘{print $4}‘ query.log 以tab为分隔符,打印每一行的第4个字段
特殊要点:
$0 表示整个当前行
$1 每行第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
制表符
换行符
FS BEGIN时定义分隔符
print & $0
print 是awk打印指定内容的主要命令
-
awk ‘{print}‘ /etc/passwd == awk ‘{print $0}‘ /etc/passwd
-
awk ‘{print " "}‘ /etc/passwd //不输出passwd的内容,而是输出相同个数的空行,进一步解释了awk是一行一行处理文本
-
awk ‘{print "a"}‘ /etc/passwd //输出相同个数的a行,一行只有一个a字母
-
awk -F":" ‘{print $1}‘ /etc/passwd
-
awk -F: ‘{print $1; print $2}‘ /etc/passwd //将每一行的前二个字段,分行输出,进一步理解一行一行处理文本
-
awk -F: ‘{print $1,$3,$6}‘ OFS=" " /etc/passwd //输出字段1,3,6,以制表符作为分隔符
二、grep 更适合单纯的查找或匹配文本
能使用正则表达式搜索文本,并把匹配的行打印出来
选项(常用):
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-v 反转查找。
-w 只显示全字符合的列。
-o 只输出文件中匹配到的部分
例 :$ grep -oE "prefix(.*)" autocomplete.log 匹配prefix(keyword,)
三、sed 更适合编辑匹配到的文本
能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。
语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
sed -i ‘s/^/"/g‘ yinqin_new_query.log
(1)参数说明:
-
-n :只打印模式匹配的行
-
-e :直接在命令行模式上进行sed动作编辑,此为默认选项
-
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-
-r :支持扩展表达式
-
-i :直接修改文件内容
(2)动作说明:
-
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
-
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
-
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
-
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
-
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
-
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
注意:直接修改文件内容(危险动作)。sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向!
四、scp
Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
http://www.runoob.com/linux/linux-comm-scp.html
(1)从本地复制到远程
scp local_file [email protected]_ip:remote_folder
或者 scp local_file [email protected]_ip:remote_file
或者 scp local_file remote_ip:remote_folder
或者 scp local_file remote_ip:remote_file
复制目录时,要加上-r选项
注意:在我们实际拷贝是,要通过跳板机来拷贝,即
-
从本地拷贝到跳板机
scp -r -P 58422 /search-it-automation [email protected]:/tmp/
-
再从跳板机拷贝到指定远程机器
scp -r -P 58422 [email protected]:/tmp/ /tmp/testnew
密码是:user4beta
(2)从远程拷贝到本地
scp [email protected]:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
注意:在我们实际拷贝是,要通过跳板机来拷贝,即
-
从远程机器拷贝到跳板机
scp -r -P 58422 /tmp/testnew/report/ [email protected]:/tmp/
-
从跳板机拷贝到本地
scp -r -P 58422 [email protected]:/tmp/ /User/yinqin/downloads
sudo
wc
ps
kill
head
以上是关于linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章