您的位置:首页 > 其它

ubuntu 常用命令

2009-08-12 22:26 417 查看
2.1.4 Linux 编程常用命令及工具

1.expand

expand 将输入制表符转换为空格。unexpand 将输入空格转换为制表符。使用-t 选项来指

定制表符停止位,示例如下:

[root@localhost ~]# cat -A hello.c //使用 cat –A 显示文档所有字符信息

#include $

int main(int argc,char* argv[])$

{$

^Iprintf("hello.world1!/n");^I^I^I//test1$ //TAB 制表符显示为^I

^Iprintf("hello.world2!/n");^I^I^I//test2$

}$

[root@localhost ~]# cat hello.c//cat 查看,其中制表符为 8 个字符

#include

int main(int argc,char* argv[])

{

printf("hello.world1!/n"); //打印信息 hello.world1!,用于测试

printf("hello.world2!/n"); //test2

}

[root@localhost ~]# expand -t 4 hello.c//设置制表符为 4 个字符

#include

int main(int argc,char* argv[])

{

printf("hello.world1!/n");

printf("hello.world2!/n");

}

2.grep 搜索字符串

grep 用来在指定文件中搜索关键字符串,这在查找头文件函数声明时使用较多。其命令

格式如下:

grep [选项] [查找内容] [查找范围]

l - b:在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。

l - c:只显示匹配行的数量。

l - i:比较时不区分大小写。

l - h:在查找多个文件时,指示 grep 不要将文件名加入到输出之前。

l - l:显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现匹

配串时,不重复显示此文件名。

l - n:在输出前加上匹配串所在行的行号(文件首行行号为 1)。

l - v:只显示不包含匹配串的行。

l - x:整行显示严格匹配的行。

例如在 Linux 头文件目录中查找 fread 函数声明位置,可以使用以下命令:

[root@localhost ~]# grep -b fread /usr/include/*.h //-b 用来显示匹配位置

/usr/include/stdio_ext.h:1845:extern int __freading (FILE *__fp) __THROW;

/usr/include/stdio_ext.h:2175:extern int __freadable (FILE *__fp) __THROW;

/usr/include/stdio.h:20167:extern size_t fread (void *__restrict __ptr, size_t __size,

/usr/include/stdio.h:21301:extern size_t fread_unlocked (void *__restrict __ptr,

size_t __size,

3.find 查找文件

find 命令使用多种方式来查找某一文件的位置。其命令格式如下:

find 查找路径 [参数] [字符串对象]

(1)以名称和文件属性为条件查找。

其主要参数如下。

l -name 字符串:查找文件名匹配所给字符串的所有文件,字符串内可用通配符*、?

及[ ]。

l -lname 字符串:查找文件名匹配所给字符串的所有符号连接文件,字符串内可用通

配符*、?及[ ]。

l -gid n:查找 ID 号为 n 的用户组的所有文件。

l -uid n:查找 ID 号为 n 的用户的所有文件。

l -group 字符串:查找用户组名为所给字符串的所有文件。

l -user 字符串:查找用户名为所给字符串的所有文件。

l -empty:查找大小为 0 的目录或文件。

l -path 字符串

:查找路径名匹配所给字符串的所有文件,字符串内可用通配符*、?

及[ ]。

l -perm 权限:查找具有指定权限的文件和目录,权限的表示如 711、644。

l -size n[bckw]:查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表

512 字节的块。

l -type x:找 类 型为 x 的文件,x 为 b(块设备文件)、 c(字符设备文件)、d(目录文件)、

p ( 命 名管道(FIFO))、

f

( 普 通文件)、

l (符号连接文件)或 s(socket 文件)。

例如,在/usr/include 文件夹下查找文件名为 stdio.h 的文件,其命令如下:

[root@localhost ~]# find /usr/include/ -name stdio.h //在目录/usr/include 中查找文

件 stdio.h

/usr/include/stdio.h

/usr/include/bits/stdio.h

(2)以时间为条件查找。其主要参数如下:

l - amin n:查找 n 分钟以前被访问过的所有文件。

l - atime n:查找 n 天以前被访问过的所有文件。

l - cmin n:查找 n 分钟以前文件状态被修改过的所有文件。

l - ctime n:查找 n 天以前文件状态被修改过的所有文件。

l - mmin n:查找 n 分钟以前文件内容被修改过的所有文件。

l - mtime n:查找 n 天以前文件内容被修改过的所有文件。

(3)可执行的操作。

l - exec 命令名称{ }:对符合条件的文件执行所给的 Linux 命令,而不询问用户是否

需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“//;”

结束。

l -ok 命令名称{ }:对符合条件的文件执行所给的 Linux 命令,与 exec 不同的是,它

会询问用户是否需要执行该命令

8.重定向操作

在编程调试时,重定向操作对存储可执行文件的输出结果有很大帮助,特别是在需要逐

行分析输出结果的时候。重定向操作是将标准的输入输出设备重新定位到某个文件中。

l 标准输入设备:默认为键盘,其文件描述符为 0(关于描述符内容在文件管理章节

将详细介绍)。

l 标准输出设备:默认为显示器,其文件描述符为 1。

l 标准错误输出设备:默认为显示器,其文件描述符为 2。

以下列出了部分常见的重定向操作实例。

ls -l test02 //查看 test02 文件是否存在

ls: test02: No such file or directory //不存在,故在后面命令中将创建此文件

9. 使用ctl+R可以互动的检索以前使用过的命令行
。 console 中

10.在同一个命令行上同时执行多条命令:用分号分隔。如编译一个源文件:type ./configure ; make ; make install 。之后你就可以去散步了(不要在电脑前花费了太多时间了,生活中还有很多美好的东西。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: