2012-12-27 Linux 常用命令
head 命令用于查看一个文本文件的开头部分;
head -n 20 wang.txt 显示文件 wang.txt 的前二十行内容;
tail 命令则用于显示文本文件的末尾几行
tail -n 20 wang.txt 显示文件 wang.txt 的后二十行内容;
tail -f example.txt 显示文件 example.txt 的后十行内容,自动显示新增的文件内容。
tar 打包/压缩工具
主要命令:
-c 创建包
-x 解包
-t 列出包中的内容
-r 增加文件到指定包中
-u 更新包中的文件
可选命令:
-j 创建或解开包时,使用bzip2 进行压缩或解压;
-z 创建或解开包时,使用gzip 进行压缩或解压;
-Z 创建或解开包时, 使用compress 进行压缩或解压;
-f 后面跟指定的包文件名;
-v 显示打包/解包过程;
-C 指定解包后的路径
命令演示:
tar -czf wang.tar.gz /wang 将 /wang 目录压缩打包存放为wang.tar.gz
tar -xzf wang.tar.gz -C /home 将 wang.tar.gz 包解到/home 目录下
sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
sort wang.txt
sort -u wang.txt 在输出行中去除重复行。
sort -r wang.txt sort默认是升序,-r[reverse] 变成降序
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。重定向会把原来的内容给覆盖掉
但是,-o 可以将他写入源文件【-o的优势所在】
sort wang.txt > wang.txt
sort wang.txt -o wang.txt 把wang.txt sort的结果输出到wang.txt
sort -n wang.txt :默认sort是比较第一个字符和第二个字符,这样的话都会出现 10<2的情况, -n选项是告诉sort 要以数值来排序
怎样对如下格式的数据进行排序[安装水果的数量排序]
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
-t 指定分割的对象 【:】
-k 指定列数
sort -n -k 2 -t : fruit.txt 冒号作为间隔符,并针对第二列来进行数值升序排序
banana:5:5.5
apple:10:2.5
orange:20:3.4
pear:90:2.3
其他的sort常用选项
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较
sort -k 讲解
sort -n -k 3 facebook.txt 安装第三列排序
sort -n -k 2 -k 3 facebook.txt 首先按照第二列排序,有相同的再按第三列排序
sort -n -k 2 -k 3r facebook.txt 首先按照第二列排序,有相同的再按第三列排序[第三列降序排列]
sort -k 1.2 facebook.txt 按照第一列的第二个字符排序,第二个字符相同的话,再按第三个字符排序
【sort 的语法】
[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
sort 默认是不指定行尾[默认的行尾是句子最后],其实可以自己设定行尾的
只针对第二列的第二个字母进行排序,如果相同的按照员工工资进行降序排序
sort -k 1.2,1.2 -k 3,3nr facebook.txt
在modifier部分还可以用到哪些选项?
可以用到b、d、f、i、n 或 r。
其中n和r你肯定已经很熟悉了。
b表示忽略本域的签到空白符号。
d表示对本域按照字典顺序排序(即,只考虑空白和字母)。
f表示对本域忽略大小写进行排序。
【touch】
touch xxx.txt :如果abc存在,则修改为当前的系统时间,如果不存在,则生成一个为当前时间的空文件
touch -d 20121224 wang.txt 将文件wang.txt的时间修改为20121224
touch * 将当前所有文件的时间 修改为当前系统世间
【cp】拷贝
cp -afpx source target
-a 尽可能的保持文件的结构和属性
-p 保持原始文件日期
-f 如果已存在则覆盖它
【mv】 移动
mv -b source target
【rm】
rm -irf file/directory
-r 删除目录及下面的所有内容
-f 强制删除
【mkdir rmdir】
mkdir directory 创建目录
rmdir directory 删除目录
【cat,more,less】
cat shan.txt
cat wang.txt shan.txt >ws.txt 合并文本文件
more tt.txt
less tt.txt
【grep】
. 任意一个字符
* 匹配字符的零次或多次出现
[a-z] a到z的任意字符一个
^a 以字符a开始的行
a$ 以字母a结束的行
grep 'wang' wang.txt
grep 'wang' *
grep 'wang' *.txt
grep 'w*' *.txt
【gzip】 压缩文件,文件的格式为.gz
-1 快速压缩 【压缩后源文件消失】
-9 最佳压缩状态
-r 压缩式包括子目录【压缩目录时并不会将整个目录压缩成一个单独的文件】
-d 解压缩gzip文件
【gunzip】
gunzip ws.txt.gz 解压缩gzip 文件
gunzip -r shan/ 解开shan/目录下的所有gzip的压缩文件
【compress】
compress -v wang.txt 压缩成.Z结束的文件
compress -d wang.txt.Z 解压.Z文件结尾的压缩文件
compress -f wang.txt 强制将文件压缩
=========================================================
【file】
file * 当前目录下各个文件的类型
file -z wang.txt
【stat】
显示文件的访问,修改,变更.....信息
stat want.txt
【who,w,whoami】
查看到登录该机器的用户信息
hostname 查看主机名
uname -a 显示系统信息
【write】
write username 向另外一个用户发信息
mesg 是否接受其他用户发来的信息
talk username 适用于双向通信的工具
wc wang.txt 计算文件中的单词数
cal 显示日历
【alias】 创建命令的别名
alias android="cd /home/android" 创建命令的快捷方式
alias 显示系统中现有的别名
unalias android 删除系统中的别名
【;,&&,||】
; 用;间隔的各命令按顺序的一次执行*
&& 逻辑与 只有前面的命令执行成功后,它后面的命令才能被执行
|| 逻辑或 只有前面的命令执行失败后,它后面的命令才能被执行
unset vname 删除设置的变量名
export xxx=xxx 定义环境变量

浙公网安备 33010602011771号