对工作中常用到的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代表输出用空格分隔后的第一列数据。
网友评论