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
     
     
  
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/Sam-r/p/5458576.html