zoukankan      html  css  js  c++  java
  • Linux 学习笔记

         linux命令语法
     
              命令_参数_路径文件 ("_"为空格)
     
              rm_-f_/tmp/t.log 
     
         特殊符号
     
              .. 上级目录
              .  当前目录 
              . 代表点号 ( 让一个有意义的字符,脱掉马甲)
               | 管道(把前一个命令结果的输出交给后一个程序继续处理)
              ~ 用户的家目录,针对root ~就代表/root
              ;  分隔符 分割连个不同的命令 
             {} 生成序列包括数值和字符,类似seq, echo stu{001..100}生成stu001 到 stu100的文件         
               !+字母  调用最近以m开头的命令
               !! 表示使用最近一次操作的命令 相当于 向上 按键
              '! +数字' 表示调出历史的第几条命令
               -  用户上次所在的目录
               * 代表0到无穷个数,可自动识别    file*(*=1......)
               ?  代表一个有一定意义的字符       file? file?? file???.....
                 
     
         快捷键
     
         tab 命令或路径补全键
         ctrl+c 终止当前任务命令和程序
         ctrl+d 退出当前用户环境
         ctrl+a 光标移动到最前
         ctrl+e 光标移动到最后
         ctrl+u 剪切光标前的内容
         ctrl+k 剪切光标后的内容
         ctrl+l 清屏 clear
         ctrl+Shift+c ssh客户端SecureCRT里复制的命令
         ctrl+Shift+v ssh客户端SecureCRT里黏贴的命令
         
         操作命令
     
    1. pwd : 显示当前工作目录

        

    1. ls:  显示文件和目录列表。 ls [参数] [文件/目录..]

        

              ls -a : 显示所有文件可目录,包括隐藏文件。
       
         
             
         ls -l : 使用长格式列出信息
         ls -lh: 人性化的展示文件列表 h = human
     
       
      
              ls -c :根据状态改变时间(ctime)排序
              ls -t  :根据最后修改时间(mtime)排序
              ls -u :根据最后访问时间(atime)排序
     
              
              ls -d: 显示目录属性     
              ls -ld: 显示长格式的属性

             [root@sam ~]# ls -ld
             dr-xr-x---. 32 root root 4096 May 4 12:34

     
    1. cd: 切换目录。cd [参数] [目录]
              cd /tmp/dir (绝对路径)
     
        
             
              cd ~ 返回根目录
     
       
     
              cd .. 返回上级目录
     
       
     
              cd ../..  返回上两级级目录  
     
       
             
        cd - 返回上一次查找目录  
              
       
             
     
    1. mkdir :  创建目录。 mkdir [参数] <目录>
              mkdir somepath/
     
       
     
              mkdir -p some/path/dir/ 创建目录树 (-p递归创建目录)
          
            
    1. rmdir: 删除空目录。 rmdir[参数]<目录>
              rmdir somepath/
        
       
     
              rmdir -p some/path/dir/ 删除目录树
     
        
     
    1. rm: 删除文件 rmdir[参数]<文件名/目录>
              rm -f filename 删除文件
     
         
     
          rm -fr directionname 删除目录
       
    1. cp : 复制文件或目录。cp[参数]<源文件><目录>
              cp a.txt b.txt 复制一个文件生成另一个文件
     
       
        
              cp some/dir/file other/dir/file2
     
       
     
              解除cp= 'cp -i' (-i 需要人工确认),进入alias,  /cp 可屏蔽'cp -i'的人工确认
     
    1.  mv : 移动文件或目录、文件或目录改名。mv[参数]<源文件><目录>
               mv /some/dir/file1 /some/dir/file2
     
        
     
               mv file newname_file       
           
               
            
    1. touch: 生成新的空文件或更改现有文件的时间戳。 touch [参数] <文件>
              touch file 
     
           
     
              touch -a file (只更改访问时间)
              touch -m file (只更改访问时间 )
     
              
     
              touch -t 201604281133(时间戳) file
     
        
     
              
    1. ln : 创建链接文件   ln [参数]<被链接的文件><链接文件名>
              ln somefile otherfile
        
       
        
        
        
              ln -s somefile otherfile (创建符号链接,非硬链接)
     
    1. cat : 查看文件内容
              cat file1 从第一个字节开始正向查看文件内容
     
            
     
              tac file1 从最后一行开始反向查看一个文件内容
     
         
     
              cat -n /dir/path 显示行号 查看文件内容
     
       
     
              cat >>test.txt <<EOF: 把内容写入文件中
              
              
              
    1. echo : 打印输出内容 echo 输出内容
              
        
         echo “文件内容" > file  覆盖文件内容
     
        
        
              echo   "文件内容”>> file 追加文件内容到文件尾部
     
        
     
    1. vi / vim<文件名>: 进入记事本模式/emeditor编辑器.
        i,a 进入文本编辑,“Esc”退出文本编辑
              w = write   q = quit  != 强制
        :wq :q :q! :wq! 退出vi/vim
              :set nu显示行号,dd删除当前行, yy拷贝当前行, p黏贴
               G切换到文件尾部, gg切换到文件头部, 行号gg定位改行
     
              vim  .<文件名> 创建一个隐藏文件
     
     
            
     
    1. head: 显示文件头部内容,默认10前行;
               
     
        -n 显示首行到n行数的内容  -行数,
     
         
     
    1. tail : 显示文件尾部内容,默认最后10行
              
     
        -n  显示文件尾部到倒数第n行
        tail -3 test.txt
     
        
       
              head -30 test.txt|tail -11 显示文件第30行到倒数11行的内容
     
        
     
        -f 跟踪显示文件尾部的实时变化
              
    1. more:从文件头到文件尾分屏显示文本
              more file
        
              more +n file 从第行开始显示文本
     
        
     
    1. cut : 纵向切割出文本指定的部分并写到标准输出。cut [参数] <文件>
              cut -b-5 file 分割出每行前五个字节
     
          
     
              cut - c5- file 分割出每行最后五个字节
     
        
     
    1. find : 用于在文件喜用中查找满足条件的文件。
        查找文件 按-type 文件类型查找
     
        ! 取反 , -a(and) 并且, -o (或者)
     
         find /目录/  
        
        
     
              find /目录/ -type f 查找目标 文件
     
             
     
              find /目录/ -type d 查找目标 目录
     
              find /目录/ -type f -exec rm -f {} :  删除目标文件(-exec 处理查找的结果)(rm -f 前面找到的内容进行处理)({} 查找到的内容)(: 转译)
       
              
     
               find /目录/ -type f|xargs rm -f  删除目标文件
     
              
     
              删除指定文件外的其他文件 (!取反值)
     
         find /目录/ -type f ! -name "文件名" -exec rm -f {} :  
        
              find /目录/ -type f ! -name "文件名"|xargs rm -f 
     
        
        
     
    1. sed :(stream editor) 过滤内容,取行,
         
        
     
       -n取消sed默认输出, sed -n '/A/p' test.txt  打印包含'A'的行
            
             
     
       sed -n '2p' test1.txt (-n 取消默认,'2p' 打印第2行)
       sed -n '3p' test1.txt (-n 取消默认,'2p' 打印第3行)
     
       
     
        sed -n '20, 30p' test1.txt (-n 取消默认,'2p' 打印第2至5行)
     
        
     
              -i 改变文件内容
     
              sed -i 's#原内容#替换内容#g' test1.txt 替换文件内容 (-i 修改文件内容)   
     
        
         
              
              
              '/内容/d' d = 删除, p = 打印  
     
              sed '/AA/d' test1.txt 过滤文件中‘AA’的内容
     
        
             
     
              sed 's#原内容#替换内容#g ' test.txt 替换文件内容
        
              s=(查找并替换) g=(globa全局) 
     
              #=分隔符,也可以用其他符号
     
        
     
              
              
             
        查找目录内的指定文本,并替换文本内容。
        
        find/ root/data/ -type f -name "test.txt"|xargs sed -i 's#oldboy#oldgirl#g'
     
              find/ root/data/ -type f -name "test.txt" exec sed -i 's#oldboy#oldgirl#g' {} ;
              
              
     
    1. awk: 过滤内容(取列)
              awk '{print $1}' 打印第一列,分隔符为空格
     
              awk '{print $1""$2"" $NF}' oldboy.txt ($NF 表示最后一行)
     
              
              
              awk -F ":" '{print $1"="$2"="$3}' /etc/passwd  (-F为指定分隔符)
     
              $1第一列 $2第二列 $3第三列 $NF最后一列,$(NF-1)
     
              awk '{if (NR>31 && NR<19) printf $1 " "}' test.txt
     
              NR代表行号,&&(and)并且   回车换行 $1第一列($0 全部内容)
     
              
     
    1.  grep : 过滤器, 把想要的或者不想要的分离开
               grep "内容" 文件名: 截取指定内容
     
        
        
               grep -v "内容" 文件名:截取指定内容外的内容(-v排除)
     
            
     
               grep -i 包括大小写
     
        
     
               grep -E 过滤多个字符串
               grep -E "字符1|字符2" /文件名/
     
        
        
               grep -o 输出精确匹配的字符,非整行
     
        
     
               grep -B  除了显示匹配的一行之外,并且显示该行之 前 的num行
               grep -A  除了显示匹配的一行之外,并且显示该行之 后 的num行
               grep -C  除了显示匹配的一行之外,并且显示该行之 前后各 num行
                   
               grep 30 -B 10 test.txt
               grep 20 -A 10 test.txt
               grep 25 -C 5 test.txt
     
               
              
               cat test.txt|grep -v "oldboy" test.txt 先用cat查找内容,然后grep过滤
     
          
     
    1.  alias: 查看以及定义别名          
              
              
               alias (自定义命令) = (原命令) 定义别名信息
               alias ipconfig = 'ifconfig'
     
              
     
              alias rm ='echo "rm can not be used, pls use mv"'
        
       
        
              别名生效的位置:针对root用户:/root/.bashrc
              所有用户生效: /etc/bashrc 或 /etc/profile定义
              生效souce /etc/profiles
     
    1.  unalias: 取消别名
               unalias (自定义命令) 删除别名
     
               unalias ifconfig 
     
       
              
    1.  tree : 显示目录树
               tree /文件目录/ 
        tree /root/sam/
     
       
     
    1.  yum :linux里包管理器, 帮助解决依赖问题
               yum install tree -y 现在tree包调用rpm安装,并安装其他相关的包
     
           
     
               yum update更新所有软件。
         
    1.  rpm : -ivh (安装、显示输出,人类可读展示)
               rpm -ivh /路径/包名. rpm
     
        rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm 
                -i    表示安装
                -v   可视化
                -h    显示安装进度     
     
               rpm -qa tree (-q query, -a all)
        
        
     
        rpm -e 已安装程序:卸载软件
     
         
    1.  seq: sequence序列  -s 指定序列的分隔符 -w
               seq [首行] [尾行]
               seq [首行] [步长] [尾行]
     
        
     
    1.  xargs : 把前面的结果在后面逐个处理, 相当于 { }的功能
               find /目录/ -type f|xargs rm -f  删除目标文件
     
        
     
    1.  useradd : useradd [用户名]
           查看创建用户信息
               tail -1 /etc/passwd 用户名
               tail -1  /etc/group  用户组名
               tail -1 /etc/shadow 用户密码
     
        
     
    1.  man:  按照手册的章节号的顺序进行搜索的
               man (指令) : 帮助内容比help详细
     
    1.  help:  查看所有Shell内置命令的帮助信息
               help (命令): 帮助内容比man简单
     

        32.  paste : 纵向合并多个文本并写到保准输出。 paste [参数][<文件>]

               paste file1 file2
               paste -s file1 file2 不使用平行的行目输出,每行文件占用一行
               paste -d ' '  file1 file2 (-d ' ' 分隔符)
     
              
     

      33.  sort: 以行为单位对文件进行排序. sort[参数][<文件>]

         sort <文件> 
          
         
        
        sort -n <文件> 按字符串的数值进行排序
     
         
     

      34.  uniq :删除文本文件中相邻的重复的行并写到标准输出

                uniq [参数] [<输入文件>[<输出文件>]]
     
         
     
        unip -d <文件> 只显示重复出现的行。
     
        
     
        unip -u <文件> 只显示出现一次的行。
         
         
     

      35.  wc :统计指定文本文件的行数、字数、字符数。

                wc [参数][<文件>]
     
        
     
        wc -w <文件> 统计字数
     
        
     

      36.  file: 显示文件类型

                file [参数]<文件>   
     
            
     

      37.  history 打印出用户操作命令的历史记录

     
              
     

      38.  uname 查看系统信息

                 uname -r 内核    
                 uname -m 32bit/64bit
                 uname -a 查看所有信息
     
         
     

      39.  hostname 查看主机名

             

      40.  passwd: 修改用户密码

                passwd [用户名]
     
        
     
        passwd -S [用户名] 显示用户口令状态
     
        
     
        passwd -l [用户名] 锁定账户
        
        
     
        passwd -u [用户名] 接触已锁定的账户
     
        
     

      41.  whoami :查看当前用户

         
     

      42.  su [用户名] 切换用户

        

                su - [用户名] 切换用户并切换环境
     
        
     
        

      43.  sudo: 让普通用户执行root权限的命令

                sudo [命令] 
                输入密码     
              
        

      44.  dmesg:显示开机信息

         
               
           

         dmesg | grep eth0 : 查看第一张网卡的信息

        

             
      

      45.  uptime:显示从开机到当前的时间

              
        
     

      46.  stat:显示文件状态信息或文本系统信息

                stat [参数] [<文件>]
     
         stat -f 显示文件系统信息
     
        
     
        stat -t 使用简洁格式输出信息
     
        
               

      47.  du:统计问津的磁盘用量,目录取总用量. du[参数]

                du -c 显示所有项目相加后的总量
     
     
         
     
                du -h 以人类习惯的方式显示
     
        
     
         du --max-depth=N (统计N层目录,N为整数)
     
        
              

      48.  df:查看磁盘剩余情况

                df [参数]
     
        
     
         df -h 以人类理解的方式显示磁盘当前的使用量 
     
        
         

      49.  top:实时显示进程任务

                top [参数]
         
        
     
        top -s 使用安全模式消除互动模式下的潜在威胁
     
        
     

      50.  free:显示内存使用状况

                free [参数]
     
        
           
                free -s<秒速> 持续观测内存状况,<秒>刷新
     
        
     
         free -m 以MB为单位显示内存使用情况
     
        
     
     

      51. LANG 修改系统语言

        LANG = en 使用English解决乱码问题

     

      52.  getenforce: 检查selinux状态

         
          53.  setenforce: 设置selinux状态 1启动 0警告、不启动
         

      54.  runlevel:查看当前系统运行级别

         
      55.  init: 切换运行级别,后面接对应级别的数字
     

      56.  chkconfig: 设定开机启动服务

        

          chkconfig | grep network

        

      

      57.  diff: 比较,接两个文件
     
        
     

      58.  vimdiff: 高级比较,高亮显示两个文件内容区别

        

     
      59.  chown: 改变文件的用户权限
     
                chown [用户/属主].[用户组/属组] <文件名>
     
           
                
        
     

      60.  chmod: 修改文件权限

         chmod [权限] <文件名> 

         

      61.  rev: 把每行的内容翻转

      62. which: 在环境变量PATH设置的目录下查找指定文件的位置  which[参数]<文件>

        which [命令]

        

        which -a [命令] -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称

        

      63.  whereis 在特定目录中查找符合条件的文件

         whereis[参数]<文件>

        -b :只找 binary 格式的文件

        -m :只找在说明档 manual 路径下的文件

        -s :只找 source 来源文件  

         -u :搜寻不在上述三个项目当中的其他特殊文件

        

      64.  locale 显示本地支持的语言系统信息

         locale [参数]

         

        -a: 显示本地支持的语言系统

       65.  locate 查找系统中所有与 被查找内容 相关的档名

              -i :忽略大小写的差异;

        -r :后面可接正规表示法的显示方式

        

      66. 

     

        

        

        

      

        

    SSH Secure Shell Protocol
     
       SSH 是专门问远程登录回话和其他网络服务提供的安全协议
     
       openssh提供SSH服务的程序
     
       openssl视为SSH提供链接加密的程序
     
         
     
        ps -ef|grep ssh 启动ssh服务
              
        SSH服务器 192.168.36.129:22
        SSH客户端  Windows平台 SecureCRT, Xshell, Putty
                    
         ss- lntup|grep ssh
         netstat -lntup|grep 22 启动SSH服务
     
         
     
         ps -ef 查看进程的命令
         netstat -lntup 查看端口的命令
         ifconfig  查看配置IP地址 
         ip add 查看配置 IP地址
     
         SSH服务连通性检查:
     
    1.  物理链路
                   ping server_ip  (ICMP协议,默认64字节包)
                   windows cmd: ping 192.168.11.11 (ip地址)
     
    1.   检查服务器   telnet 192.168.11.11 22 检查服务端是否正常
         
                   
                   
                   不能连通服务器:
     
                   检查物理链路 
                   关闭服务器防火墙             
                   /etc/init.d/iptables stop 
                   检查服务器和客户端是否在同一网段
                   
     
         互传文件
     
         WINDOWS 《====》 LINUX
         ftp/winscp/http/rz-sz
     
         yum install lrzsz-y 安装文件
         yum install telnet lrzsz nmap dos2unix -y
         rz -y 选择上传文件
         sz -y 选择现在文件    
         -y 覆盖同名文件
         
         正则表达式
         
         . 单个任意字符 * 重复前面任意0个或多个字符
         .* 匹配任意字符
         sed -i 's#(可以用正则匹配)#、3#g' oldboy.txt  '( )' 可以用正则匹配
         sed - r 's#(.*)fff#1#g' oldboy.txt
         
         
      
     
     
     
     
     
     
     
     
  • 相关阅读:
    Java正则表达式匹配例子
    python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
    pure-Python PDF library
    搭建nginx反向代理用做内网域名转发
    ASCII、Unicode、UTF-8 字符串和编码
    pdftk
    SQL中distinct 和 row_number() over() 的区别及用法
    使用Python进行AES加密和解密
    python中zip()函数的用法
    查找只出现一次的字符和位置
  • 原文地址:https://www.cnblogs.com/Sam-r/p/5458576.html
Copyright © 2011-2022 走看看