linux 常用命令

sort命令——对文件进行排序

sort   # 按照字典序排序
sort  -n  # 以数值来排序,避免10比2小的情况
sort  -k  # 如果文件有多列,指定排序的列,1表示第一列
sort  -t  # 制定分割符号,默认是空格和'\t',如果单独指定'\t',需要使用$'\t'才能能正确使用tab分隔符
sort  -r  # 逆序排列

 

uniq 命令——一般结合sort命令,出去文件中重复的行

sort testfile | uniq   # 删除文件中重复出现的行
sort testfile | uniq -c  # 删除文件中重复出现的行,并在行首显示该行重复出现的次数。

 

awk 命令——常用来处理某一列数据

NF                 浏览记录的域的个数,亦统计的是每行列的总数
NR                 已读的记录数,亦有多少行
$0变量是指整条记录。$1表示当前行的第一个域,$2表示当前行的第二个域,......以此类推。
$NF是number finally,表示最后一列的信息
# 输出包含"re" 的行
$ awk '/re/ ' log.txt

# 输出第二列包含 "th",并打印第二列与第四列
$ awk '$2 ~ /th/ {print $2,$4}' log.txt

$ awk '$1==2 {print $1,$3}' log.txt   
#输出第一列等于2,并打印第一 和第三列

取出某一列中包含_的列
$ awk 'BEGIN{FS = " "}{for (f=1; f <= NF; f+=1) {if ($f ~ /_/) {print NR,$f}}}' pride.txt >output
$ awk -F ' '   '{for (f=1; f <= NF; f+=1) {if ($f ~ /_/) {print $f}}}' result1 > file.out

 

head 命令

-n参数后指定的数字为负数时,用于反选,显示后几行之前的文件内容。

[one@one ~]$ cat test
1
2
3
4
5
[one@one ~]$  head -n 2 test
1
2
[one@one ~]$  head -n -2 test
1
2
3

 

tail 命令

-n参数后指定的数字为带+号的数字时,用于反选,显示从第几行开始后的文件内容。

[one@one ~]$ cat test
1
2
3
4
5
[one@one ~]$  tail -n 3 test
3
4
5
[one@one ~]$ tail -n +2 test
2
3
4
5

 

grep 命令——查找文件中的指定值,可以是正则匹配

grep表达式的格式:grep  [选项]  ”模式“  [文件]

grep key  file.txt #输出file.txt包含key的行
grep -o key file.txt #只输出匹配的内容,不输出行

 

sed 命令——一种在线编辑器

它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。

[antonio@fd ~]# sed [-nefr] [动作]
选项与参数:
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输出到终端。

function:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

sed的一些命令示例

cat file|sed 's/要被取代的字串/新的字串/g' #替换字符串
cat file|sed '2,5d'  #删除第2-5行的内容
cat file|sed '2d'   #删除第2行的内容
cat file|sed '/^\s*$/d' file #删除空行
cat file|sed '2i drink tea' #在第二行前插入
cat file|sed '2a Drink tea ' #在第二行后插入
cat file|sed '/root/p'     #查找含有root的行

 

tr 命令

用于转换或删除文件中的字符。

tr  -d '\t'  #删除文件中'\t'字符
tr -s ' ' '\n':缩减连续的空格为换行符
cat testfile |tr a-z A-Z #将文件中的小写字符转化为大写字符

 

wc命令

一般是统计行数或者是字数

-c  只显示Bytes数。
-l  只显示行数。
-w  只显示字数。

 

文件拷贝命令

scp [可选参数] 源文件 目标文件
scp -r /home/steve/music/ antonio@172.168.13.34:/home/antonio/file 将本地文件夹music拷贝到远程file路径下
scp -r antonio@172.168.13.34:/home/antonio/file /home/steve/music/ 将远程文件file拷贝到本地文件夹music下

cp -r source target 

 

 

 查看目录相关操作 

du -sh * #查看当前目录下各个文件及各目录占用空间大小 
du -sh #查看当前文件夹占用大小 
df -f #查看硬盘大小及使用情况
ll |wc -l #计算文件的数量

 

 

其他命令

wget link #下载文件
ps  -ef| grep get_mp3.py  #打印get_mp3.py进程的信息

 

解压

*.tartar –xvf 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.tar.bz2用tar –xjf 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zipunzip 解压

  

压缩

zip -r 1.zip  *to #压缩以to结尾的文件,压缩文件名为1.zip,递归压缩当前目录下的文件

命令行的常见格式解释

2>&1  把 标准错误输出 重定向到 标准输出.

&>file  把标准输出 和 标准错误输出 都重定向到文件file中

&        可以让命令在后台运行

&&    (命令1)&&(命令2),只有命令1成功执行,才执行命令2 ,逻辑与的关系

||       (命令1)||(命令2),命令1返回假,才执行右边的命令,逻辑或关系

posted @ 2019-10-10 15:25  suwenyuan  阅读(228)  评论(0编辑  收藏  举报