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.....