Linux命令(实时更新)

本博客主要总结一下博主工作中比较常用的命令:

1.iconv命令

对于给定文件把它的内容从一种编码转换成另一种编码。

-f encoding : 把字符从encoding编码开始转换。 

-t encoding : 把字符转换到encoding编码。

-c :忽略输出的非法字符 

-o file : 指定输出文件  

实际应用:你需要将一个文件(任意格式,del,csv都可,若是xlsx格式,转换成csv即可)的数据导入到数据库中,但是这个文件的格式很可能不是UTF-8的,可能是GBK格式的,不转换编码的话,导入的时候就会中文乱码,所以需要将GBK格式的文件转换为UTF-8,使用iconv命令转换:xxx_1.csv就是将转换格式后的文件输出到该文件中

但是有一种情况可能会是失败:提供的GBK文件它本身可能就已经经过编码转换了,可能就是从UTF-8转换过来的,因为它是不可逆的,所以你使用这种方式转换回UTF-8是不可行的,最终还是乱码,具体怎么转换,之后待补充。

iconv -f GBK -c -t UTF-8  xxx.csv -o xxx_1.csv

2.sed

sed命令主要是从来处理文件,批量修改操作等,都可搭配正则表达式

参数:

-e :直接在命令列模式上进行 sed 的动作编辑;

-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;

 

动作说明:

a :新增, a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行),追加

c :取代, c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行!

d :删除,因为是删除,所以 d 后面通常不接任何东西;

i  :插入, i 的后面可以接字符串,而这些字串会在新的一行出现(目前的上一行);

s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表示法

注意:sed 后面接的动作,请务必以 '' 两个单引号括住

删除操作:

sed '2,5d'  xxx.txt      --删除xxx.tx的2-5行
sed '3,$d'  xxx.txt     --删除3到最后一行

搜索替换操作:

语法:
sed 's/要被取代的字串/新的字串/g'
eg:
sed -i 's/"//g'  xxx.csv     --将xxx.csv文件中的双引号全部去掉 
sed -i 's/ //g' xxx.csv --将xxx.csv文件中的空格去掉

增加操作:

sed -e 4a\test xxx.txt     --在xxx.txt文件的第四行后边一行增加test

取代:

sed '2,5c No 2-5 number'   将2-5行内容换成No 2-5 number

3.scp命令

scp命令用于 Linux 之间复制文件和目录,是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

应用场景:在你需要将文件数据导入到数据库中时,但是你本地的服务器和数据库的服务器不是同一个,所以就需要将文件复制到你需要导入的那个服务器的数据库中,然后直接导入就可以了。

(1)将本地文件复制到远程服务器地址:

scp 本地文件  远程用户名@远程ip地址.端口号:/目标文件夹

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music   --将1.mp3复制到远程服务器的music文件夹下
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3   --修改文件名为001.mp3

(2) 将远程服务器文件复制到本地

只需要将从本地复制到远程的命令的后2个参数调换顺序即可

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 

4.压缩与解压命令

tar命令:

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的 

必要参数有如下:一般解压为xvf,打包为cxvf

-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的差别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

-Z 支持compress解压文件

-v 显示操作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性

解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz    gunzip -c filename.gz >filename
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz 和  .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....

 

posted @ 2020-11-27 11:18  程序界第一佳丽  阅读(451)  评论(0编辑  收藏  举报