记录一些常用的 Linux 命令
一、基本命令 mkdir 1 2 # 可以层级创建目录 mkdir -p a/b/c
cat 1 2 3 4 5 # cat : 查看文件全部内容,大文件慎用 cat info.log# more:
more 就像翻书一样,以一页一页的显示方便使用者逐页阅读,基本的指令就是按 space 就往下一页显示,按 b 键就会往回 back 一页显示
1 2 3 4 5 6 7 8 9 10 +n 从笫 n 行开始显示 -n 定义屏幕大小为n行 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 -c 从顶部清屏,然后显示 -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 -l 忽略Ctrl+l(换页)字符 -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 -s 把连续的多个空行显示为一行 -u 把文件内容中的下画线去掉
1 2 3 4 5 6 7 8 9 Enter 向下 n 行,需要定义。默认为 1 行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
less 类似 more,但 less 可以随便浏览文件,more 只能向前移动,不能向后移动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -i 忽略搜索时的大小写 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 /字符串: 向下搜索“字符串”的功能 ?字符串: 向上搜索“字符串”的功能 n: 重复前一个搜索(与 / 或 ? 有关) N: 反向重复前一个搜索(与 / 或 ? 有关) -x <数字> 将“tab”键显示为规定的数字空格 b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]:向下翻动一页 [pageup]: 向上翻动一页
head 显示文件的开头,默认显示 10 行
tail 显示文件末尾内容,常用于查看文件日志
1 2 -f 循环读取(常用于查看递增的日志文件) -n<行数> 显示行数(从后向前)
二、管道操作相关 管道是一种通信机制,通常用于进程间的通信(也可通过 socket 进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)
三、查找命令 linux 中查看文件位置还是十分使用的命令
which 在 path 指定的路径中搜索某个系统命令的位置
whereis 用于程序名的搜索
1 2 3 4 -b 定位可执行文件。 -m 定位帮助文件。 -s 定位源代码文件。 -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
locate 通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新。updatedb 是由 cron daemon 周期性调用的。默认情况下 locate 命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb 每天会跑一次,可以由修改 crontab 来更新设定值 (etc/crontab)。
find 在文件树中查找文件并作出相应处理
1 2 3 4 5 6 7 find pathname -options [-print -exec -ok ...] pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令, 在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -name 按照文件名查找文件 -perm 按文件权限查找文件 -user 按文件属主查找文件 -group 按照文件所属的组来查找文件。 -type 查找某一类型的文件,诸如: b - 块设备文件 d - 目录 c - 字符设备文件 l - 符号链接文件 p - 管道文件 f - 普通文件 -size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小 -amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件 -ctime n 查找系统中最后n*24小时被改变文件状态的文件 -mmin n 查找系统中最后N分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件 (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 ) -maxdepth n 最大查找目录深度 -prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
1 2 3 4 5 # 查找当前目录下的log 文件 find ./ -name '*.log'# 查找/opt目录下权限为777的文件 find /opt -perm 777
-exec 后面跟的是 command 命令,它的终止是分号,不可缺少,会在前面加反斜杠 1 2 # 在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒) find . -type f -mtime +10 -exec rm -f {} \;
grep 是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式 ,并将其打印出来。
1 2 3 4 5 # 列出所有匹配行并显示行号 grep -n zwx file_*# 字面意思精准匹配 grep zw* file_1
四、进程状态相关 五、其他高级操作 awk