zhaoyu@home:~$

linux命令-文件

空文件

清空文件

cat /dev/null > file_name

nohup不设置输出。

nohup ./program >/dev/null 2>&1 &

查找

find

find:最常见和最强大的查找命令,可以查找到任何想要的文件。
find [路径] [指定条件] [指定动作]
-name 根据名称
-iname 根据名称忽略大小写。
-path <表达式> 根据路径查找文件 -ipath <表达式> 根据路径查找文件,忽略大小写 -size <大小> 根据文件大小查找文件,单位b c w k M G -type <文件类型> 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件 -user <用户名> 按归属用户查找文件

find /home/desk –type f

查找/home/desk目录下的所有普通文件。

find /home/desk –name “1.txt”

查找/home/desk目录下名称为1.txt的文件。

find /home -type f -print

将/home下的普通文件输出到标准输出,-print是一个动作。

find /home –name “1.txt” –exec rm{} \;

找到/home下的名为1.txt的文件并删除。{}代表的是find找到的内容。-exec到\;是需要执行的额外动作。\为转义字符。

locate

locate其实是find –name的另一种写法,但是比后者要快的多,原因是在于它没有搜索目录,而是搜索一个数据库(/var/lib/locatedb), 该数据库包含了所有本地文件信息,系统自动创建并每天更新一次,多以locate查不到最新变动过的文件。可以先使用updatedb命令手动 更新数据库。

locate /etc/sh

搜索etc目录目录下面的以sh开头的文件。

locate –i ~/m

在用户主目录下面搜索以m开头的文件,并忽略大小写。

whereis

该命令只能用来搜索程序名,而且只能搜索二进制文件(-b),man说明文件(-m),和源码文件(-s)。如果忽略参数则返回所有信息。

whereis java

which

which的作用是在PATH变量指定的路径中,搜索某个系统的位置。

which java

sort

对文件中的内容或者对文本进行排序。会将文件/文本的每一行作为一个单位。

语法

sort(选项)(参数)

选项

-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件; -r:以相反的顺序来排序; -t<分隔字符>:指定排序时所用的栏位分隔字符; -k:执行需要排序的栏位。 +<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 -u:忽略相同行。

参数

文件列表。

用例

sort 1.txt 

将1.txt的每一行按照ASCII码值进行排序。默认升序排列。

sort -nrk 3 -t: 1.txt

将1.txt使用:分隔为多栏(-t:),根据第三栏进行排序(-k 3)。按数值进行排序(-n)。降序排列(-r)。

sort -t ' ' -k 1.2 facebook.txt

这里使用了1.2,表示从第一栏的第二个字符开始到该栏的最后一个字符结束为止进行排序。

sort -t ' ' -k 1.2,1.2 -nrk 3,3 facebook.txt

-k 1.2,1.2 只针对第一栏的第二个字母,从1.2开始到1.2结束。-k 3,3针对第3栏进行排序。该命令整体表示根据第一栏的第二个字母升序, 第三栏数值降序进行排序。

wc

wc命令用来统计字节数,行数,或者字数。

语法

wc(选项)(参数)

选项

-c或–bytes或——chars:只显示Bytes数;
-l或——lines:只显示列数;
-w或——words:只显示字数。

参数

文件:需要统计的文件列表。 #### 实例 ``` ps aux|grep java |wc -l ``` 统计进程进程中java命令有多少行。

默认显示文件开头的10行。

head -2

显示文件开头的2行。