• linux命令

    本文收录了 linux 常用指令,这里面有个小技巧,基本上所有指令后面跟上 --h 可以显示其使用方法。故不必死记硬背,知其意乃通其形。(推荐:[Linux视频教程](http://www.php.cn/course/list/33/type/2.html)

    分类如下:

     ● 文件 & 目录操作(16 个)

     ● 查看文件 & 内容处理(18 个)

     ● 文件压缩 & 解压缩(3 个)

     ● 信息显示(11 个)

     ● 搜索文件(4 个)

     ● 进程管理(11 个)

     ● 用户管理(7 个)

     ● 网络操作(11 个)

     ● 磁盘 & 文件系统(7 个)

     ● 系统权限(3 个)

     ● 关机重启(5 个)

     ● 其他(6 个)

    显示当前操作者名字信息

           ● whoami

    文件 & 目录操作(16 个)

    **ls**

     ● ls -a 查看所有文件,包含隐藏文件

     ● ls -l 简写 ll,查看详细信息

     ● ls -h 文件大小以易读的方式显示

    **cd**

     ● cd ../ 返回上级目录

     ● cd ~ 前往家目录

     ● cd - 返回上一次所在目录

    **cp**

     ● cp -r 复制目录及目录下文件

    **find**

     ● find / -name 'target' 查询根目录下面文件名为 target 的文件

    **mkdir**

     ● mkdir -p /tmp/test 递归创建目录

    **mv**

     ● mv -f source destination 强制

    **pwd**

     ● pwd 显示当前路径

    **rm**

     ● rm -rf / 强制删除根目录及目录下的文件,就是我们通常所说的删库跑路

    **touch**

     ● touch target 创建 target 文件,若文件存在则改变文件时间戳

    **tree**

     ● tree 功能是以树形结构显示目录下的内容

    **basename**

     ● basename /tmp/1 显示文件名

    **dirname**

     ● dirname /tmp/1 显示路径

    **chattr**  

     ● chattr +i /tmp/1 加 i 属性,防止文件被修改

    **lsattr**

     ● lsattr /tmp/1 查看文件的扩展属性

    **file**

     ● file /tmp/1 显示文件类型

    **md5**

     ● md5 /tmp/1 显示文件 MD5 值

    查看文件 & 内容处理(18 个)

    **cat**

     ● cat -n 显示行号

     ● cat file1 file2 打开文件 1 和 2

    **more**

     ● more file1 逐页显示

    **less**

     ● less file1 也是逐页显示,与 more 方向相反

    **head**

     ● head -n file 显示文件头 n 行

    **tail**

     ● tail -n file 显示文件尾 n 行

     ● tailf file 实时显示文件尾 10 行,常用于跟踪日志信息

    **cut**

     ● who|cut -b 1-3,5 输出每行的 1 至 3 个字节和第 5 个字节

     ● who|cut -c -3 输出每行的 1 至 3 个字符

     ● who|cut -c 3- 输出每行的第 3 个字符到行尾

     ● who|cut -d ' ' -f 1 以空格为分隔符,输出第一个域

    **split**

     ● split -b 10k date.file 将文件分割为 10k 的多个子文件

     ● split -b 10k date.file split\_file 指定子文件前缀为 split\_file

    **paste**

     ● psate file1 file2 file3 将 3 个文件按列合并

    **sort**

     ● sort -n 按照数值大小排序

     ● sort -r 倒序排序

     ● sort -t 指定分隔符

     ● sort -u 忽略相同行

    **uniq**

     ● uniq -c 显示出现次数,只有相邻的才算重复

     ● uniq -d 只显示重复的行

     ● unqi -u 只显示不重复的行

    **wc**

     ● wc -l 显示列数

    **diff**

     ● diff file1 file2 比较两个文件差异

    **rev**

     ● rev file 反向输出文件内容

    **grep**

     ● grep 'target' file 过滤输出文件中包含 target 的行

     ● grep -v 'target' file 过滤输出文件中不包含 target 的行

     ● grep -c 'target' file 过滤输出文件中包含 target 的行数

     ● grep -i 'target' file 忽略大小写

     ● egrep '\[1-9\]|a' file 过滤输出正则匹配到的行

     ● seq 10 | grep "5" -A 3 显示匹配某个结果之后的 3 行

     ● seq 10 | grep "5" -B 3 显示匹配某个结果之前的 3 行

     ● seq 10 | grep "5" -C 3 显示匹配某个结果的前三行和后三行

    **join**

     ● join file1 file2 将两个文件中,指定栏位内容相同的行连接起来

    **tr**

     ● cat text | tr '\\t' ' ' 将制表符替换成空格

    **vim**

    **三种模式:**

     ● 编辑模式(命令模式)

     ● 输入模式

     ● 末行模式

    **模式的转换**

    编辑 -> 输入

    123456i: 在当前光标所在字符的前面,转为输入模式;a: 在当前光标所在字符的后面,转为输入模式;o: 在当前光标所在行的下方,新建一行,并转为输入模式;I:在当前光标所在行的行首,转换为输入模式A:在当前光标所在行的行尾,转换为输入模式O:在当前光标所在行的上方,新建一行,并转为输入模式;

    输入 -> 编辑

    1ESC

    编辑 -> 末行:

    1:

    末行 -> 编辑:

    1ESC,ESC

    **打开文件**

    123vim +# :打开文件,并定位于第#行vim +:打开文件,定位至最后一行vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

    **关闭文件**

    12345:q  退出:wq 保存并退出:q! 不保存并退出:w 保存:w! 强行保存

    **移动光标(编辑模式)**

    *   逐字符移动

       

    12345h: 左l: 右j: 下k: 上#h: 移动#个字符

    *   以单词为单位移动

       

    1234w: 移至下一个单词的词首e: 跳至当前或下一个单词的词尾b: 跳至当前或前一个单词的词首#w: 移动#个单词

    *   行内跳转

       

    1230: 绝对行首^: 行首的第一个非空白字符$: 绝对行尾

    *   行间跳转

       

    123#G:跳转至第#行gg: 第一行G:最后一行

    **翻屏**

    1234Ctrl+f: 向下翻一屏Ctrl+b: 向上翻一屏Ctrl+d: 向下翻半屏Ctrl+u: 向上翻半屏

    **删除单个字符**

    12x: 删除光标所在处的单个字符#x: 删除光标所在处及向后的共#个字符

    删除命令: d

    12dd: 删除当前光标所在行#dd: 删除包括当前光标所在行在内的#行;

    **撤消编辑操作**

    1234u:撤消前一次的编辑操作#u: 直接撤消最近#次编辑操作连续u命令可撤消此前的n次编辑操作撤消最近一次撤消操作:Ctrl+r

    **查找**

    1234/PATTERN?PATTERNn 下一个N 上一个

    文件压缩 & 解压缩(3 个)

    **tar**

     ● tar zxvf FileName.tar.gz 解压

     ● tar zcvf FileName.tar.gz DirName 压缩

    **zip**

     ● zip -r html.zip/home/html 递归压缩

    **unzip**

     ● unzip test.zip -d /tmp 解压到指定目录下

    信息显示(11 个)

    **uname**

     ● uname -a 显示系统全部信息

    **hostname**

     ● hostname 显示主机名

    **dmesg**

     ● dmesg 显示开机信息

    **uptime**

     ● uptime 显示系统运行时间及负载

    **stat**

     ● stat 显示文件的状态信息

    **du**

     ● du -sh 显示路径下所有文件大小

     ● du -sh local 显示路径下 local 目录文件大小

     ● du -sh \* 显示路径下所有目录文件大小

    **df**

     ● df -h 显示系统磁盘空间的使用情况

    **top**

     ● top 实时显示系统资源使用情况

    **free**

     ● free -m 以 M 为单位查看系统内存  

    **date**

     ● date +"%Y-%m-%d" 2019-05-28

     ● date -d "1 day ago" +"% Y-% m-% d" 输出昨天日期

     ● date <

     

    :4      :2      执行:1

    权限类型:

    0:  没有权限

    1:  执行

    2:  写

    3:  写、执行

    4:  读

    5:  读、执行

    6:  读、写

    7: 读、写、执行