51学通信论坛2017新版

标题: Linux运维常用命令汇总 [打印本页]

作者: 爱卫生    时间: 2019-5-2 16:36
标题: Linux运维常用命令汇总
来自:https://github.com/liquanzhou/ops_doc。完整版4000多行。非常宝贵的完整收集,特别适合linux运维。
篇幅限制,摘录一部分。完整版请下载附件:[attach]5793[/attach]
  1. 1 文件{

  2.     ls -rtl                                    # 按时间倒叙列出所有目录和文件 ll -rt
  3.     touch file                                 # 创建空白文件
  4.     rm -rf dirname                             # 不提示删除非空目录(-r:递归删除 -f强制)
  5.     dos2unix                                   # windows文本转linux文本
  6.     unix2dos                                   # linux文本转windows文本
  7.     enca filename                              # 查看编码  安装 yum install -y enca
  8.     md5sum                                     # 查看md5值
  9.     ln sourcefile newfile                      # 硬链接
  10.     ln -s sourcefile newfile                   # 符号连接
  11.     readlink -f /data                          # 查看连接真实目录
  12.     cat file | nl |less                        # 查看上下翻页且显示行号  q退出
  13.     head                                       # 查看文件开头内容
  14.     head -c 10m                                # 截取文件中10M内容
  15.     split -C 10M                               # 将文件切割大小为10M -C按行
  16.     tail -f file                               # 查看结尾 监视日志文件
  17.     tail -F file                               # 监视日志并重试, 针对文件被mv的情况可以持续读取
  18.     file                                       # 检查文件类型
  19.     umask                                      # 更改默认权限
  20.     uniq                                       # 删除重复的行
  21.     uniq -c                                    # 重复的行出现次数
  22.     uniq -u                                    # 只显示不重复行
  23.     paste a b                                  # 将两个文件合并用tab键分隔开
  24.     paste -d'+' a b                            # 将两个文件合并指定'+'符号隔开
  25.     paste -s a                                 # 将多行数据合并到一行用tab键隔开
  26.     chattr +i /etc/passwd                      # 不得任意改变文件或目录 -i去掉锁 -R递归
  27.     more                                       # 向下分面器
  28.     locate aaa                                 # 搜索
  29.     wc -l file                                 # 查看行数
  30.     cp filename{,.bak}                         # 快速备份一个文件
  31.     \cp a b                                    # 拷贝不提示 既不使用别名 cp -i
  32.     rev                                        # 将行中的字符逆序排列
  33.     comm -12 2 3                               # 行和行比较匹配
  34.     echo "10.45aa" |cksum                      # 字符串转数字编码,可做校验,也可用于文件校验
  35.     iconv -f gbk -t utf8 source.txt > new.txt  # 转换编码
  36.     xxd /boot/grub/stage1                      # 16进制查看
  37.     hexdump -C /boot/grub/stage1               # 16进制查看
  38.     rename source new file                     # 重命名 可正则
  39.     watch -d -n 1 'df; ls -FlAt /path'         # 实时某个目录下查看最新改动过的文件
  40.     cp -v  /dev/dvd  /rhel4.6.iso9660          # 制作镜像
  41.     diff suzu.c suzu2.c  > sz.patch            # 制作补丁
  42.     patch suzu.c < sz.patch                    # 安装补丁

  43.     sort排序{

  44.         -t                                     # 指定排序时所用的栏位分隔字符
  45.         -n                                     # 依照数值的大小排序
  46.         -r                                     # 以相反的顺序来排序
  47.         -f                                     # 排序时,将小写字母视为大写字母
  48.         -d                                     # 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
  49.         -c                                     # 检查文件是否已经按照顺序排序
  50.         -b                                     # 忽略每行前面开始处的空格字符
  51.         -M                                     # 前面3个字母依照月份的缩写进行排序
  52.         -k                                     # 指定域
  53.         -m                                     # 将几个排序好的文件进行合并
  54.         -T                                     # 指定临时文件目录,默认在/tmp
  55.         -o                                     # 将排序后的结果存入指定的文        

  56.         sort -n                                # 按数字排序
  57.         sort -nr                               # 按数字倒叙
  58.         sort -u                                # 过滤重复行
  59.         sort -m a.txt c.txt                    # 将两个文件内容整合到一起
  60.         sort -n -t' ' -k 2 -k 3 a.txt          # 第二域相同,将从第三域进行升降处理
  61.         sort -n -t':' -k 3r a.txt              # 以:为分割域的第三域进行倒叙排列
  62.         sort -k 1.3 a.txt                      # 从第三个字母起进行排序
  63.         sort -t" " -k 2n -u  a.txt             # 以第二域进行排序,如果遇到重复的,就删除

  64.     }

  65.     find查找{

  66.         # linux文件无创建时间
  67.         # Access 使用时间
  68.         # Modify 内容修改时间
  69.         # Change 状态改变时间(权限、属主)
  70.         # 时间默认以24小时为单位,当前时间到向前24小时为0天,向前48-72小时为2天
  71.         # -and 且 匹配两个条件 参数可以确定时间范围 -mtime +2 -and -mtime -4
  72.         # -or 或 匹配任意一个条件

  73.         find /etc -name "*http*"                                # 按文件名查找
  74.         find . -type f                                          # 查找某一类型文件
  75.         find / -perm                                            # 按照文件权限查找
  76.         find / -user                                            # 按照文件属主查找
  77.         find / -group                                           # 按照文件所属的组来查找文件
  78.         find / -atime -n                                        # 文件使用时间在N天以内
  79.         find / -atime +n                                        # 文件使用时间在N天以前
  80.         find / -mtime +n                                        # 文件内容改变时间在N天以前
  81.         find / -ctime +n                                        # 文件状态改变时间在N天前
  82.         find / -mmin +30                                        # 按分钟查找内容改变
  83.         find / -size +1000000c -print                           # 查找文件长度大于1M字节的文件
  84.         find /etc -name "*passwd*" -exec grep "xuesong" {} \;   # 按名字查找文件传递给-exec后命令
  85.         find . -name 't*' -exec basename {} \;                  # 查找文件名,不取路径
  86.         find . -type f -name "err*" -exec  rename err ERR {} \; # 批量改名(查找err 替换为 ERR {}文件
  87.         find path -name *name1* -or -name *name2*               # 查找任意一个关键字

  88.     }

  89.     vim编辑器{

  90.         gconf-editor           # 配置编辑器
  91.         /etc/vimrc             # 配置文件路径
  92.         vim +24 file           # 打开文件定位到指定行
  93.         vim file1 file2        # 打开多个文件
  94.         vim  -r file           # 恢复上次异常关闭的文件 .file.swp
  95.         vim -O2 file1 file2    # 垂直分屏
  96.         vim -on file1 file2    # 水平分屏
  97.         Ctrl+ U                # 向前翻页
  98.         Ctrl+ D                # 向后翻页
  99.         Ctrl+ww                # 在窗口间切换
  100.         Ctrl+w +or-or=         # 增减高度
  101.         :sp filename           # 上下分割打开新文件
  102.         :vs filename           # 左右分割打开新文件
  103.         :set nu                # 打开行号
  104.         :set nonu              # 取消行号
  105.         :nohl                  # 取消高亮
  106.         :set paste             # 取消缩进
  107.         :set autoindent        # 设置自动缩进
  108.         :set ff                # 查看文本格式
  109.         :set binary            # 改为unix格式
  110.         :%s/str/newstr/g       # 全部替换
  111.         :200                   # 跳转到200  1 文件头
  112.         G                      # 跳到行尾
  113.         dd                     # 删除当前行 并复制 可直接p粘贴
  114.         11111dd                # 删除11111行,可用来清空文件
  115.         r                      # 替换单个字符
  116.         R                      # 替换多个字符
  117.         u                      # 撤销上次操作
  118.         *                      # 全文匹配当前光标所在字符串
  119.         $                      # 行尾
  120.         0                      # 行首
  121.         X                      # 文档加密
  122.         v =                    # 自动格式化代码
  123.         Ctrl+v                 # 可视模式
  124.         Ctrl+v I ESC           # 多行操作
  125.         Ctrl+v s ESC           # 批量取消注释

  126.     }

  127.     归档解压缩{

  128.         tar zxvpf gz.tar.gz  dir                         # 解包指定tar.gz中的内容  不指定目录则全解压
  129.         tar zcvpf /$path/gz.tar.gz *                     # 打包gz 注意*最好用相对路径
  130.         tar zcf /$path/gz.tar.gz *                       # 打包正确不提示
  131.         tar ztvpf gz.tar.gz                              # 查看gz
  132.         tar xvf 1.tar -C dir                             # 解包tar 放到指定目录
  133.         tar -cvf 1.tar *                                 # 打包tar
  134.         tar tvf 1.tar                                    # 查看tar
  135.         tar -rvf 1.tar filename                          # 给tar追加文件
  136.         tar --exclude=/home/dmtsai --exclude=*.tar -zcvf myfile.tar.gz /home/* /etc      # 打包/home, /etc ,但排除 /home/dmtsai
  137.         tar -N "2005/06/01" -zcvf home.tar.gz /home      # 在 /home 当中,比 2005/06/01 新的文件才备份
  138.         tar -zcvfh home.tar.gz /home                     # 打包目录中包括连接目录
  139.         tar zcf - ./ | ssh root@IP "tar zxf - -C /xxxx"  # 一边压缩一边解压
  140.         zgrep str 1.gz                                   # 查看压缩包中文件字符行
  141.         bzip2  -dv 1.tar.bz2                             # 解压bzip2
  142.         bzip2 -v 1.tar                                   # bzip2压缩
  143.         bzcat                                            # 查看bzip2
  144.         gzip A                                           # 直接压缩文件 # 压缩后源文件消失
  145.         gunzip A.gz                                      # 直接解压文件 # 解压后源文件消失
  146.         gzip -dv 1.tar.gz                                # 解压gzip到tar
  147.         gzip -v 1.tar                                    # 压缩tar到gz
  148.         unzip zip.zip                                    # 解压zip
  149.         zip zip.zip *                                    # 压缩zip
  150.         rar a rar.rar *.jpg                              # 压缩文件为rar包
  151.         unrar x rar.rar                                  # 解压rar包
复制代码




作者: huger    时间: 2019-6-10 15:23

作者: admin    时间: 2019-10-21 16:56

再来一个txt版本的,阅读性 也不错。
[attach]5852[/attach]






欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3