Linux里必须掌握的命令

标签: linux 命令 | 发表时间:2012-06-07 18:54 | 作者:fengxiaoke_fxk
出处:http://blog.csdn.net
--------------------grep------------------------
工作方式:在一个或多个文件中搜索字符串模板,若模板包括空格,则必须被引用
模板后的所有字符串被看作文件名,不影响原文件内容
常用参数:
-a:
将二进制文件以text文件的形式查找数据
-c:计算找到的字符串模板的次数,不会输出与字符串模板符合的那一行内容,仅
输出次数
-i:忽略大小写
-n:输出时将行号一起输出
-v:反向选择,将没有字符串模板的那一行输出
--color=auto:将搜索到的字符串模板部分加上颜色(一般为默认,无需设置)
精确查找:
在字符串模板后面加上"\>"就可以让字符串的查找更精确,如:
要查找"546",如果还存在"5462"、"5468",那么执行命令grep "546"就会将"5462"和"5468"
都找出来,但是我们只想要"546",这个时候就可以这样grep "546\>"。
-----------------sed---------------------------
工作方式:
以行为单位,对数据的每一行进行替换、删除、新增、选取等操作,不
能对单行进行操作
常用参数:
-n:
安静模式,当要求把选取的特定行打印出来时,就会使用这个参数,保证不会
重复输出特定行, 如果不加这个参数,一般是将每行重复输出两次再输出下一特定

-f:直接将sed的动作写入一个文件内,加上-f filename时就可以执行filename中的
sed动作,注意:filename中不能加单引号或双引号,如果动作本来是'2a Hello',则
在filename中应该只写上2a Hello,什么都不要加
-r:可以让sed的操作支持扩展正则表达式(sed默认是基础正则表达式)
-i:直接修改读取的文件内容,不会由屏幕输出(危险!!!虽然貌似sed可以做vim
的一些动作了)
-----------------awk------------------------------
工作方式:
相比于sed处理一行一行的数据,awk处理的是一行中的各个字段的处理,
它的每一个动作用"{}"包含,同样所有动作都要放在一对单引号中,这样的话它的动

作里不允许再出现单引号,只能用双引号代替,它的默认字段分隔符为空格或制表键

注意它与grep、sed的比较!!!

常用功能:
NF:每一行拥有的字段总数,可用print直接打印
NR:当前处理的行号,也可用print直接打印
FS:当前的分隔符,默认为空格或制表键,设置方法" BEGIN {FS=":"}",这样就可以以
冒号为字段分隔符了,分为$1,$2,$3......,在/etc/passwd文件中比较有用
awk支持条件判断
-----------------sort------------------------
工作方式:根据选定的排序方式对整个文件数据进行排序输出,可以字母、数字、
一定区间内的排序输出,还可以反向输出
常用参数:
-f:
忽视大小写(和grep的-i参数功能一样,为什么同样的功能,参数要整得不一样唉)
-b:忽视每行开头的空格符,b可以记为blank,-b就减掉blank
-M:以月份的名字来排序,在浏览文件的时候就可以用这个参数来按时间排序输出
-n:以数字排序(默认为文字类型排序),n可以记为number
-r:反序并输出,r可以记为reverse
-u:uniq命令的功能,将重复行输出一行即可
-t:分隔符(默认为tab键),修改方法-t ':',这样就可以改为以冒号来分隔了,在
/etc/passwd有用,和awk的FS设置类似
-k:以哪一个区间来进行排序,通常结合-t,当需要被排序的内容是以tab键来分隔的
就不提了,若是想/etc/passwd以冒号分隔的话,就 需要用-t来修改分隔符,然后-k再加
要被作为排序标准的字段符
-----------------wc-------------------------
工作方式:将整个文件的字数、行数、字符数进行统计,当然也可以用grep或sed提出
特定行来统计特定行的字数等
常用参数:
-l:
仅列出行数,line
-w:仅列出字数(单词数),word
-m:仅列出字符数(是不是该用-c,和wc、characterize对应嘛。。。)
如果只是执行wc而不加上任何参数,那么将会列出所有信息,依次为:行数、字数、
字符数
----------------find-----------------------
工作方式:
在整个磁盘中直接查找符合条件的文件,如果磁盘过大的话,会耗费很多
时间,还有一种查找文件的命令:whereis,它会在系统提供的数据库中查找文件,
速度很快,但是系统数据库一般是不会及时更新的,所以要查找最新的文件时,要先
执行updatedb,否则将不会找到文件(不过更新数据库应该会很耗时吧。。。)
常用参数:

-atime:按照文件被读取的时间来查找
-mtime:按照文件内容被修改的时间来查找
-ctime:按照文件权限和属性白修改的时间按来查找
上面三个参数为时间参数,后面加上数字才行,如:
-atime n:在n天之前“一天内”被读取过的文件,第n天前到第n+1天的一天的时间
-atime -n:在n天之内(含n天)被读取过的文件,从现在到第n天前的所有时间
-atime +n:在n天之前(不含n天)被读取过的文件,就是减去上面两个时间段的剩
下的时间
还有一个时间参数:
-newer file:file为一个已存在的文件,顾名思义,查找比file要新的文件


和用户/用户组有关的参数:
-uid n:用户ID为n的文件
-gid n:用户组ID为n的文件
-user name:用户帐号为name的文件
-group name:用户组帐号为name的文件
-nouser:所有者不再/etc/passwd中的文件,可以找到一些异常文件
-nogroup:所属用户组不存在的文件


和文件权限及名称有关的参数:
-name filename:名为filename的文件
-size [+-]SIZE:查找比SIZE要大(+)或小(-)的文件,单位有c(字节)、k(1024
字节)
-type TYPE:查找TYPE类型的文件,类型就是表示权限的第一个字符,常见的有d,-,l...
-perm [+-]mode:利用权限来查找,mode表示权限必须刚好相等,+mode表示包含任一
(3个一组)权限即可,-mode表示必须全部包含mode的权限(貌似不怎么好记。。)


扩展参数:
-exec command:exec后面接命令,这个命令可以对find到的结果进行处理,听着有点
儿类似于管道命令啊,但是它后面接的命令的形式比较固定,假如我们找到了名为file
的文件,我们想要利用exec来浏览这个文件内容,这个时候必须这么写命令:
$ find -name file -exec cat {} \;
{}表示查找到的内容,\是用来消除;在命令中的特殊意义的,它代表exec执行到;结束
-print:默认的操作,不用加上。。。

----------------------tar---------------------------
工作方式:对文件或目录进行压缩,查看压缩包内容,对压缩包的一个或全部的文件进行
解压,这个完全可以和winRAR对照理解。这只是一个最常用的压缩命令之一,通常,以这
个命令进行压缩的文件命名为*.tar.bz2最好,利于区别于其他其他压缩命令产生的压缩包
常用参数:
-c:
新建压缩文件
-t:查看压缩文件中的文件名
-x:解压文件,搭配-C在特定的目录中解压
-j:通过bzip2进行压缩/解压,最好命名为*.tar.bz2
-z:通过gzip进行压缩/解压,最好命名为*.tar.gz
-v:压缩/解压中显示正在压缩的文件名
-f filename:filename为要被处理的文件 (每个tar命令都要加上这个参数才行的!!!)
-C direction:
前面提过,可在特定的direction中解压
-p:允许备份数据中含有根目录(小写)
-P:保留文件权限和属性(大写)
注意:tar有三个功能:解压、压缩、查看压缩文件,这三个功能不能同时进行,也就是说
-c、-t、-x不同一起出现在同一个命令参数中
(利用这个删除命令可以将练习的压缩包、解压的目录等删除: rm -r filename,当然也可以
删除目录,由于解压文件中含有目录时,可能用rmdir不好使,因为目录应该还会有东西)
--------------chmod----------------------------
工作方式:修改文件或目录的权限 (在Linux中极其重要滴!!)
常用参数:
-R:
递归性的持续修改,当你想要把一个目录下的所有目录或文件一起修改权限时,这个

参数就很有用了 (这个参数在chown、chgrp中也有类似的功能,chmod与这两个在系统安

全上很重要)

具体修改权限的方法:
(1)利用rwx直接修改:"u=rwx,g=rx,o=rx"或"a+x".......
(2)利用数字修改:"777"或"644"等等
---------------netstat--------------------
工作方式:用于网络监控,输出网络和系统自己的进程两部分
常用参数:
-a:
all的意思,也就是把所有的连接、监听、socket数据都列出来
-t:列出tcp网络数据包的数据
-u:列出udp网络数据包的数据
-n:以端口号代替进程的服务名称显示
-l:列出目前正在网络监听的服务
-p:列出该网络服务的进程PID
--------------ln----------------
工作方式:
建立与已有文件或目录的连接,分软连接和硬连接两种, 软连接类似于Windows下
的快捷方式,只保存一个源文件的指向,占用空间小, 硬连接是通过文件系统的inode连接来
产生新文件名,不会产生新文件,两个文件同步,权限、属性神马的全一样。
常用参数:
-s:
创建软连接(默认为硬连接)
-f:如果目标文件存在时,就主动将目标文件直接删除后再创建
----------------kill----------------
工作方式:杀掉后台进程,先执行jobs命令,根据第一列显示的数字来杀掉进程,如:
kill -9 %2,就会强制终止第二个进程。
常用参数:
-l:
字母l,显示可以使用的信号,和下面的数字参数有关
-2:与[ctrl+c]等效
-9:立刻强制删除一个工作
-15:以正常的程序方式终止一项工作,是正常终止,与-9不同滴
----------------ps-------------------
工作方式:
查询系统正在运行的进程,比jobs命令显示得更全面
常用查询:
ps -l:查看与自己相关的bash的进程
ps aux:查看所有系统运行的程序




作者:fengxiaoke_fxk 发表于2012-6-7 18:54:36 原文链接
阅读:17 评论:0 查看评论

相关 [linux 命令] 推荐:

Linux wget命令

- - CSDN博客推荐文章
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径. 例如: # wget  http://www.linuxsense.org/xxxx/xxx.tar.gz. 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载.

Linux iostat命令

- - CSDN博客系统运维推荐文章
iostat用于输出CPU和磁盘I/O相关的统计信息. . iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [. iostat各个参数说明:. -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥.

linux命令locate

- - 操作系统 - ITeye博客
    locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息. Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.

linux常用命令

- - 梦幻主页的博客
1.# 表示权限用户(如:root),$ 表示普通用户.   开机提示:Login:输入用户名.   password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.   退出当前shell,输入:exit. 2.useradd netseek 添加一个netseek用户.   passwd netseek  给netseek这个用户设置密码.

Linux grep命令用法

- - 酷勤网-挖经验 [expanded by feedex.net]
grep — print lines matching a pattern (将符合样式的该行列出). ◎语法: grep [options]. grep用以在file内文中比对相对应的部分,或是当没有指定档案时,. 在预设的情况下,grep会将符合样式的那一行列出. 此外,还有两个程序是grep的变化型,egrep及fgrep.

linux下vi命令大全

- - CSDN博客互联网推荐文章
linux下vi命令大全,能掌握80%也即基本够用了. vi filename :打开或新建文件,并将光标置于第一行首. vi +n filename :打开文件,并将光标置于第n行首. vi + filename :打开文件,并将光标置于最后一行首. vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处.

LINUX 命令大汇总

- - 操作系统 - ITeye博客
df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;. Filesystem容量 已用 可用 已用% 挂载点. 我们从中可以看到,系统安装在/dev/hda8 ;还有一个56G的磁盘分区/dev/sda1挂载在 /mnt/sda1中;.

Linux netstat命令详解

- - 操作系统 - ITeye博客
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 执行netstat后,其输出结果为. 从整体上看,netstat的输出结果可以分为两个部分:.

Linux常用命令大全

- - 操作系统 - ITeye博客
arch 显示机器的处理器架构(1). uname -m 显示机器的处理器架构(2). uname -r 显示正在使用的内核版本. dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI). hdparm -i /dev/hda 罗列一个磁盘的架构特性. hdparm -tT /dev/sda 在磁盘上执行测试性读取操作.

linux命令终极系列(awk)

- ripwu - C++博客-首页原创精华区
     awk是一个非常重要的命令或者认为是一种语言. 因为他可以做数学运算,流程控制语句,流控制,还有样式装入的功能. 把awk定义为:样式扫描处理语言.    awk吸收了C语言很多的特点,所以与C语言有点类拟.     awk提供了适应不同需要的多种方案,它们是:.          像普通的unix命令一样使用awk,当然可以在你的命令行中使用awk设计语言.