which
which -a : 它使 which 向您显示您的 PATH 中给定程序的所有实例
find
$ find /usr/share/doc -name README*
搜索中忽略大小写:
$ find /usr/share/doc -iname readme*
使用 -regex 选项将把输出限制成匹配某一模式的文件名
项,该选项忽略模式中的大小写。例如:
$ find /etc -iregex ‘.xt.‘
-type 选项允许您查找某一类型的文件系统对象-type 参数是
b (块设备)、c(字符设备)、d(目录)、p(命名管道)、f(常规文件)、l(符号链接)和 s(套接字)
例:
$ find /home -name ‘sh‘ -type f
-mtime 选项允许您根据最近一次的修改时间来选择文件。mtime 的参数以 24 小时为单位,
当输入时带加号(表示”之后”)或者减号(表示”之前”)时,它最有用。例
find . -name ? -mtime -1 :搜索在过去的 24 小时之内创建的文件
-daystart 选项
时间周期以今天的开始时为开始,而不是 24 小时之前。例如,这是昨天和前天创建的一组文件
-size 选项
size 选项允许您根据文件的大小来查找它们。缺省情况下,-size 的参数是 512 个字节的块,但是添加后缀可以使操作更简便
可用的后缀是 b(512 字节的块)、c(字节)、k(千字节)和 w(2 字节的字)。另外,您可以在前放置加号(”大于”)或者减号(”小于”)。
例如,要在 /usr/bin 中查找小于 50 个字节的常规文件:
$ find /usr/bin -type f -size -50c
-exec
选项处理找到的文件
这个选项接受命令行作为它的参数来执行,它以 ; 中断,并用文件名来替换任何出现的 {} 。下面这个示例可以帮助您完全理解它:
例:
$ find /usr/bin -type f -size -50c -exec ls -l ‘{}’ ‘;’
locate
运行 updatedb 来生成搜索数据库
slocate
在 Linux 的许多分发版(distribution)中,locate 命令已经被 slocate 所替代。通常有一个至”locate”的符号链接,这样
您不需要记住拥有的是哪一个。slocate 代表”安全定位(secure locate)”。它将许可权信息存储在数据库中,这样普通用户不
能以别的方式窥探他们不能读取的目录。slocate 的用法信息在本质上与 locate 的信息相同,尽管输出可能不同(取决于正在运行
命令的用户)。
停止进程 ctrl +C
使用 fg 命令使其可以在前台运行
使用 bg命令使其可以在后台运行
使用 &使其在后台运行
jobs -l 列出了从您 bash 会话上启动的进程
killall -TERM mysqld 干掉mysql进程,其他同理
nohup
使用户注销以后程序依然可以运行
例如:# nonup /local/bin/my_back_script.sh
exit
ps
查看您系统上所有的进程
例如:
ps aux
–forest 选项可以很容易地查看进程的层次结构
ps x –forest
top
同PS相同查看进程列表,不过这个是动态的
nice 修运进程的运行级
renice :如果您想要更改正在运行的进程 nice 值设置,那么使用 renice
“>” 重定向
>> 追加.
例如:
$ echo ‘some’ > myfile.sh # 将字符串写进文件(覆盖方式)如果文件不存在,则自动创建
bzip2
例: $ bzip2 -d linux-2.4.16.tar.bz2
echo
echo 将它的参数打印到终端。如果您想要嵌入反斜杠转义序列,那么使用 -e 选项;例如
echo -e “foonfoo” 将打印 foo,然后打印一个换行,接着再打印 foo。使用 -n 选项
告知 echo 省略缺省情况下附加到输出的最后一个换行。
cat、sort 和 uniq
cat 将指定为参数的文件内容打印到终端。作为管道的第一个命令,这是很方便的,例如,cat foo.txt | blah。
sort
sort 按字母次序打印在命令行上指定的文件内容。当然,sort 也接受用管道传送的输入。输入 man sort 来熟悉控制排序行为的各种选项。
uniq
uniq 获取已排序的文件或数据流(通过管道)并除去重复行。
wc、head 和 tail
wc 打印出指定文件或输入流(来自管道)中的行、字和字节的数量。输入 man wc 来学习如何精调显示的内容。
head
head 打印出文件或流的前十行。使用 -n 选项来指定应显示的行数。
tail
打印出文件或流的最后十行。使用 -n 选项来指定应显示的行数
tac、expand 和 unexpand
tac
tac 与 cat 类似,但它以逆向顺序打印所有行,换句话说,先打印最后一行。
expand
expand 将输入制表符转换为空格。使用 -t 选项来指定制表符停止位。
unexpand
unexpand 将输入空格转换为制表符。使用 -t 选项来指定制表符停止位。
cut、nl 和 pr
cut
cut 从输入文件或流的每个行上抽取出由字符限定的字段。
nl
nl 将行号添加到输入的每个行上。这对于打印输出很有用。
pr
pr 将文件分解为多个页面的输出;通常用于打印。
tr、sed 和 awk
tr
tr 是字符转换工具;它用来将输入流中的某些字符映射成输出流中的某些其它字符。
sed
sed 是一个功能强大的面向流的文本编辑器。您可以在下面的 developerWorks 文章中学习有关 sed 的知识:
Sed by example, Part 1: Get to know the powerful UNIX editor
Sed by example, Part 2: Taking further advantage of the UNIX text editor
Sed by example, Part 3: Data crunching, sed style
awk
awk 是一种方便的面向行的文本处理语言。要学习有关 awk 的知识,请阅读下面 IBM 的 developerWorks 文章:
Awk by example, Part 1: Intro to the great language with the strange name
Awk by example, Part 2: Records, loops, and arrays
Awk by example, Part 3: String functions and … checkbooks?
od、split 和 fmt
od
od 将输入流转换为八进制或十六进制的”转储”格式。
split
split 将较大的文件拆分成许多较小、更易处理的块。
fmt
fmt 对段落重新格式化以便在其边缘处进行换行。这个能力被构建到大多数文本编辑器中,但是应知道它仍是一个好工具。
paste、join 和 tee
paste
paste 获取两个或更多文件作为输入,连接输入文件上的每个后续行,并输出结果行。它对于创建文本的表或列是很有用的。
join
join 与 paste 类似,但它在每个输入行中使用一个字段(缺省情况下是第一个字段)来匹配一在单行上合并的字段。
tee
tee 将它的输入打印到文件和屏幕。当您想创建某些日志记录,但还想在屏幕上看时,这很有用。
改变 suid 和 sgid
设置和除去 suid 与 sgid 位相当简单。这里,我们设置 suid 位:
<span style="font-size: 130%; font-family: Verdana"><u># chmod u+s /usr/bin/myapp</u></span>`</pre>
<span style="font-size: 130%; font-family: Verdana"><u>此处,我们从一个目录_除去_ sgid 位。我们将看到 sgid 位怎样影响下面几屏中的目录:</u></span>
<pre>`<span style="font-size: 130%; font-family: Verdana"><u> # chmod g-s /home/drobbins</u></span>