- 毅力与勇气是事业的双飞翼; - 在尝试中成长,在失败中奋起。 - 概览 -> 细读 -> 概览 - 书不在多,在于精。
分类: LINUX
2014-06-09 11:12:57
一、gzip,zip,gunzip,unzip
Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz
相应的解压缩命令则是 gunzip 和 unzip
gzip 命令:
# gzip test.txt
它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样
# gunzip test.txt.gz
它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向
# gzip -c test.txt > /root/test.gz
这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样
# gunzip -c /root/test.gz > ./test.txt
zip 命令:
# zip test.zip test.txt
它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录,例如 /root/test.zip
# unzip test.zip
它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项
# unzip test.zip -d /root/
二、alias 使用 alias 来简化命令行输入
From
alias(中文称为“别名”)允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入。如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且也能提高效率,真是一举两得的好事。
基本用法: alias 的基本使用方法为:alias 新的命令='原命令 -选项/参数'。举例说明,alias l=‘ls -lsh'将重新定义 ls 命令,现在只需输入 l 就可以列目录了。
获知别名: 直接输入 alias命令会列出当前系统中所有已经定义的命令别名。
删除别名: 要删除一个别名,可以使用 unalias命令,如 unalias l。
10 个实用的 Bash alias
2008-07-11 Posted in ,
即“别名”,为便于理解,你可以将其看成是一个命令的快捷方式。使用 的最大好处是,可以简化输入,从而为你节省时间,并提高效率。
定义的 可以保存到 ~/.bashrc 文件中,添加完之后记得 source ~/.bashrc 更新生效修改的配置,以后在命令行中就可以直接使用了。
TechRepublic 介绍了 10 个 Bash alias,个人觉得都很实用:
ssh 别名- alias server_name='ssh -v -l USERNAME IP ADDRESS',更改 server_name、USERNAME 及 IP 地址以适应你的需要。对于经常要使用 ssh 登录远程 shell 的同学来说,这是一个值得收藏的别名。
ls 别名- alias ll='ls -l',另一个 alias la='ls -a'。意思很明显,在此就不多作解释了。
rm 别名- alias rm='rm -i',这个别名让你更加安全地执行删除操作。
df 别名- alias df='df -h',让你以 MB 或 G 为单位查看磁盘的空间。
Firefox 别名- alias ff1='/home/jlwallen/firefox/firefox'及 alias ff2='/home/jlwallen/firefoxb3/firefox',适合使用两个 Firefox 版本的朋友,如一个稳定版,另一个为测试版。
书签别名- alias fftr='/home/jlwallen/firefox/firefox ',用于打开一个指定的网址。
文件别名- alias emenu='aterm nano -e ~/.e16/menus/user_apps',如常常需要编辑的配置文件。
apt-get update 别名- alias update='sudo apt-get update',使用其他 Linux 发行版的同学可以换一下其中的 sudo apt-get update。
rpm 批量安装别名- alias brpm='rpm -ivh ~/RPM/*rpm',便于同时安装多个 rpm 包。
长路径别名- alias astart='cd ~/GNUstep/Library/AfterStep/start',对于需要经常访问的路径特别长的目录也可为其定义别名。
更新
一些读者的补充:
fcicq: alias convmv-utf8=”convmv -f gbk -t utf-8 –notest” alias nano=”nano -w” alias emerge=”sudo emerge”
lostsnow: alias ..=”cd ..”
zhuqin: 不想用 alias 时,可在该 alias 的命令前加 \。
三、sh
sh使用“-n”选项进行shell脚本的语法检查,使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强“-x”选项的输出信息等。
sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你可以试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。当然,linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。
还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的
四、如何查看文件的编码格式 && 文件编码转换
常常在Linux中操作windows下的文件时,会遇到乱码的情形。常见的比如在Visual Studio 中写的C\C++程序需要放到Linux主机上编译,而程序的中文注释则显示为乱码,比较严重的是由于编码原因,linux上的编译器报错。
这是由于Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。那么如何在Linux中如何查看文件的编码及如何进行对文件进行编码转换呢?
用VIM查看文件编码
在Vim 中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
用ICONV文件编码转换
我们利用iconv工具对文件的编码进行转换。
iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个GBK 编码的文件转换成UTF-8编码
iconv -f GBK -t UTF-8 file1 -o file2
其中的参数的意义表示
-f From 某个编码
-t To 某个编码
-o 输出到文件
命令模式下 :set list 可列出文件字段的分隔符方式信息。
五、sort多字段排序
多字段排序:
Sort -t: +2n -3 +5nr -6 //以:为分隔符,对第3字段以数字方式,第6字段以数字方式逆序排序
说明:
-t 后面指定分隔符
指定第m个字段的方法是: +(m-1) -m
字段后跟n表示数字序,r表示逆序
六、awk同时使用"空格"和"-" 作为分隔符:
例如:echo "2012-02-01 15010001000" |awk -F '[ -]+' '{print $4}'