zoukankan      html  css  js  c++  java
  • linux日常命令记录

    文本处理

    • sed命令

    替换:sed 's/被替换字符/替换字符/g' file_name

    删除文件所有空行:sed '/^$/d' file_name

    删除文件所有注释:sed '/*#/d' file_name

    • echo命令

    查看第一行的第一栏:echo a b c | awk '{print $1}'

    查看一行的第一和第三栏:echo a b c | awk '{print $1,$3}'

    • paste命令

    合并两个文件或两栏的内容:paste file1 file2

    合并两个文件或两栏的内容用“+”号区分:paste -d '+' file1 file2

    • sort命令

    排序两个文件的内容:sort file1 file2 

    取出两个文件的并集(重复的行只保留一份):sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)

    删除交集,留下其他的行:sort file1 file2 | uniq -u 删除交集,留下其他的行

    取出两个文件的交集(只留下同时存在于两个文件中的文件):sort file1 file2 | uniq -d 

    • comm命令

    比较两个文件的内容只删除 'file1' 所包含的内容:comm -1 file1 file2 

    比较两个文件的内容只删除 'file2' 所包含的内容:comm -2 file1 file2 

    比较两个文件的内容只删除两个文件共有的部分:comm -3 file1 file2 

    字符设置和文件格式转换

    将一个文本文件的格式从MSDOS转换成UNIX:dos2unix filedos.txt fileunix.txt 

    将一个文本文件的格式从UNIX转换成MSDOS:unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS

    将一个文本文件转换成html:recode ..HTML < page.txt > page.html 将一个文本文件转换成html

    显示所有允许的转换格式:recode -l | more 

    各种备份命令

    • dump命令

    制作一个 '/home' 目录的完整备份:dump -0aj -f /tmp/home0.bak /home 

    制作一个 '/home' 目录的交互式备份:dump -1aj -f /tmp/home0.bak /home 

    还原一个交互式备份:restore -if /tmp/home0.bak 

    • rsync命令

    同步两边的目录:rsync -rogpav --delete /home /tmp 

    通过SSH通道rsync:rsync -rogpav -e ssh --delete /home ip_address:/tmp 

    通过ssh和压缩将一个远程目录同步到本地目录:rsync -az -e ssh --delete ip_addr:/home/public /home/local 

    通过ssh和压缩将本地目录同步到远程目录:rsync -az -e ssh --delete /home/local ip_addr:/home/public 

    • dd命令

    通过ssh在远程主机上执行一次备份本地磁盘的操作:dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 

    备份磁盘内容到一个文件:dd if=/dev/sda of=/tmp/file1 

    做一个将 MBR (Master Boot Record)内容复制到软盘的动作:dd if=/dev/hda of=/dev/fd0 bs=512 count=1 

    从已经保存到软盘的备份中恢复MBR内容:dd if=/dev/fd0 of=/dev/hda bs=512 count=1 

    • tar命令

    执行一次对 '/home/user' 目录的交互式备份操作:tar -Puf backup.tar /home/user 

    通过ssh在远程目录中复制一个目录内容:( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 

    通过ssh在远程目录中复制一个本地目录:( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 

    本地将一个目录复制到另一个地方,保留原有权限及链接:tar cf - . | (cd /tmp/backup ; tar xf - ) 

    从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录:find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 

    查找所有以 '.log' 结尾的文件并做成一个bzip包:find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 

    文件的特殊属性

    • chattr命令

    使用 "+" 设置权限,使用 "-" 用于取消

    只允许以追加方式读写文件:chattr +a file1 

    允许这个文件能被内核自动压缩/解压:chattr +c file1 

    在进行文件系统备份时,dump程序将忽略这个文件:chattr +d file1 

    设置成不可变的文件,不能被删除、修改、重命名或者链接:chattr +i file1 

    允许一个文件被安全地删除:chattr +s file1 

    一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘:chattr +S file1 

    若文件被删除,系统会允许你在以后恢复这个被删除的文件:chattr +u file1 

    显示特殊的属性:lsattr 

    用户设置

    设置用户口令的失效期限:chage -E 2016-4-22 user1 

    检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户:pwck 

    检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组:grpck 

    登陆进一个新的群组以改变新创建文件的预设群组:newgrp group_name 

    工作常用

    检查进程运行状态:ps -ef | grep 进程名称

    杀死进程:kill -9 进程号 如:ps aux|grep zabbix |awk '{print $2}' |xargs kill -9

    查看某个时间段到现在日志:sed  -n  '/2016-04-23 09:00:00/,$p'   system.log.2016-04-23  |  less

    根据条件查找文件:grep server_name *.conf --color=auto

    批量替换:find . -type f -name "*.conf"|xargs perl -pi -e 's|listen       80|#listen       80|g'

    a,b机器之间文件传输:

      a机器:python -m SimpleHTTPServer(默认端口是8000)  #需要在当前文件执行

      b机器:wget http://ip_add:8000/文件的名字

    获取Java堆栈信息:

      sudo -u user1 /usr/local/java/bin/jstack 进程号(top查看最高的java进程) > a.txt

    找到最高的JAVA线程

            top -H -p 进程号

    把线程号转成16进制

            printf "%x" 327

            147

    去a.txt里面查找147

            vim a.txt   /147

    jstat -gcutil 23116 1000 5

    git常用

    查看版本:git remote -v

    拉取用户的代码:git fetch user1

    切换并创建新的分支:git checkout -b 创建的分支名  分支

    删除分支:git branch -D 分支

    查看分支:git branch

    切换分支:git checkout 分支名称

  • 相关阅读:
    (一)基础配置
    (一)Zookeeper全分布式搭建
    Go性能测试
    Go单元测试
    Go C连接(keep-alive/websocket) D连接 C轮询 D轮询
    Go UDP
    Go TCP 粘包
    Go Once用法 goroutine协程 chanel通道
    Go strconv包
    Go 反射reflect包
  • 原文地址:https://www.cnblogs.com/allan-king/p/5422105.html
Copyright © 2011-2022 走看看