美文网首页
linux常用命令

linux常用命令

作者: justonemoretry | 来源:发表于2018-10-05 22:58 被阅读0次

    对工作中常用到的linux命令进行一个记录,方便自己和他人查阅,希望是自己养成多做笔记好习惯的开端吧。

    1 查看类命令

    1.1 ls

    ls是最常用的查看命令,用来展示当前目录下有哪些文件和目录,后面加上-a可以显示出以.开头的隐藏文件。

    1.2 ll

    ll是ls -l命令的简写,查看文件,并将文件的其它属性信息展示出来

    drwxrwxr-x 14 root root 4096 2017-04-17 apache

    -rw-rw-r--  1 root root  12  9月 30 10:27 b

    其中第一列代表文件的读写相关属性,共有10位字符,其中,第一位字符代表文件类型,

            ”-”,普通文件.

            ”d”目录,字母”d”,是dirtectory(目录)的缩写.

            “l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.

            “b”块设备文件。

            “c”字符设备文件。

    后面9位代表文件的属性,可读(r),可写(w),可执行(x),代表不同账户的文件权限,如下所示

    rwx(Owner)r-x(Group)r-x(Other)

    具体的不同账户的创建与概念在linux的文件系统中再进行详述。

    1.3 cat

    cat命令可以用来查看文件具体内容,常用于文件内容的输出,多用于对文件内容的命令处理方便,这个也是和用vim不同的地方,vim是直接编辑文件内容。

    2 查找类命令

    2.1 find

    find命令查找某个文件在查找目录中的出现的位置,以下面命令为例

    find ./ -name a

    其中./代表要查找的目录,后面的a是要查找的目录或文件名称,能够找出要查找目录中所有的同名目录和文件。除了指定文件名外,还可以用通用匹配的方式,如下

    find ./ -name "*.txt"

    find ./ -name "*.txt" -o -name a

    其中*.txt代表查找目录下所有以txt结尾的文件,不同的查找规则可以以-o连接,取查找结果的并集。

    2.2 grep

    grep命令可以用来查找文件中的关键字,查找结果不包括目录和文件名,经常用来配合tailf命令进行日志查找,或者查找代码中的某个函数之类的。

    查找函数或关键字的用法如下:

    grep --color=auto -r userinfo ./

    其中'--color=auto'代表将匹配到的字符用其它颜色标识,-r代表不仅查找当前目录下的文件,对于子目录中的文件也要循环查找。userinfo是要查找的关键字,./是要查找的目录。

    配合tailf命令找到需要的日志命令如下:

    tailf log/access_log | grep userinfo

    其中,tailf命令代表读取日志的尾部,输出到屏幕,一般默认为10行,如果需要指定行数50,可以用'tail -f log/access_log -n 50'来进行输出。'|'代表linux系统的数据通道,可以将左边执行的数据结果传递给右边使用,可以使用多个'|'进行数据的传递。

    上面的命令就代表取log/access_log中的末尾10行日志,传递给后面的grep命令进行查找其中存在userinfo的日志数据有哪些,新生成的日志也会输出的屏幕上,所以经常用这个命令进行日志信息的查找,去找到自己想定位的关键字相关的日志。

    还可以对过滤后的结果再进行其它规则的过滤,命令如下:

    grep -r f ./ | grep b

    先找包括f的文件,再在输出结果中查找包含b的记录,请注意,这个地方是在输出结果里面进行查找,而不是在原来目录里查找。

    grep命令除了可以配合tailf命令,还可以配合netstat,ps等命令,对它们的输出数据进行过滤,查找方式也可以支持正则表达式的匹配方式,这里就不多介绍了。

    3 文本处理命令

    3.1 awk命令

    awk命令可以将文本中的内容逐行输出到屏幕并进行处理,类似于语言中经常使用的字符分隔方法,进行分隔后可以选择自己想要输出的列。

    awk '{print $0}' c.txt

    awk -F ' ' '{print $1}' c.txt

    awk命令默认使用空格进行分隔,经测试发现,这个空格不分个数,1个或多个的效果一样,print后面跟$0代表输出全部文本,跟$1代表输出用空格分隔后的第一列数据。

    相关文章

      网友评论

          本文标题:linux常用命令

          本文链接:https://www.haomeiwen.com/subject/pvizoftx.html