linux的简单命令学习

  1. linux命令之 ls

     -l   --list
           use a long listing format  
           列出文件的名称,权限,所有者,文件大小等详细信息
     -r   --reverse
           reverse order while sorting
           相反顺序排序
     -R  --recursive
           list subdirectories recursively
           循环列出子目录
      -i   --
           查看一个文件或者目录的inode
    
  2. linux命令之 cd

    cd       :进入用户家目录
    cd   /   :进入系统根目录
    cd  ../  :进入上一级目录  
    cd  -    :返回进入此目录之前所在的目录
    cd  !$   :将上一个命令的参数作为cd参数使用
    
  3. linux命令之 mv (move/rename files)

    -b    --backup
          make a backup of each existing destination file
          如果目标文件已存在,覆盖前先备份
    -f    --force 
          do not prompt before overwriting
          如果目标文件已存在,不会询问直接覆盖
    -i    --interactive(交互式,默认)
          prompt before overwrite
          如果目标文件已存在,会询问是否覆盖
    

    eg:

    mv  log1.txt  log2.txt        
    (修改名称,如果已存在log2.txt则会询问是否覆盖)
    mv  log2.txt  Desktop/   
    (移动文件到桌面,如果桌面已存在log2.txt则会询问是否覆盖)
    mv  dir1        dir2         
    (如果目录dir2不存在则将dir1改名为dir2否则将dir1移动到dir2中)
    mv  *              ../                
    (将当前目录下所有内容移到用户当前所在目录的上一级目录中(pwd + ../))
    mv  test1/*  test2            
    (将当前目录一个子目录里的所有文件移动到另一个子目录中)
    
  4. linux命令之 cp

    -r      --recursively
            copy directories recursively
            复制目录
    -p      --preserve
            preserve the specified attributes
            (default:mode,ownership,timestamps),
            if possible additional
            attributes: context, links, xattr, all
            同时复制文件属性
    -d      --dereference
            当复制符号连接时,把目标文件或目录也建立为符号连接,
            并指向与源文件或目录连接的原始文件或目录。 
    -a      --archive
            包含以上所有选项,相当于-rpd
    

    eg:

    cp   log.log   test  
    复制单个文件到目标目录,如果目标目录中存在同名文件会询问是否覆盖(带-a参数两个文件时间戳一致,不带参数则不一样)
    cp  -a  test1 test2
    复制或者重命名整个目录
    目标目录test1存在则放到目标目录下
    目标目录test1不存在则修改目录名test1为test2
    cp -s log.log log_link.log
    为log.txt建立一个链接、快捷方式(不懂-l的应用)
    
  5. linux命令之输出

    标准输出          >  /  >>      
    标准错误输出      2>  /  2>>
    将内容覆盖或者追加到指定文件中
    
  6. linux命令之 mkdir(创建目录,结合-p可以一次性创建父子多目录)

    -m    --mode
          set permission mode (as in chmod), not rwxrwxrwx umask
          设定文件读写权限
    -p    --parents
          no error if existing, make parent directories as needed
          一个路径串,系统将自动创建那些尚不存在的路径。
    -v,   --verbose
          print a message for each created directory
          每次创建目录都显示信息
    

    eg:

    mkdir -m 777 test1
    创建目录test1,同时指定目录具有读写执行权限
    mkdir -p test1/test2
    创建父子目录
    mkdir -v test3
    创建test3目录,创建完成后会提示创建信息
    
  7. linux命令之 rmdir (只能删除空目录)

    -p, --parents
          Remove DIRECTORY and its ancestors. 
          当子目录删除后其父目录为空时也一并删除(递归删除空目录)
    
    
    -v, --verbose
          output a diagnostic for every directory processed
    
  8. linux命令之 rm (删除命令,预设只能删除文件,删除目录需要加上参数 -r)

    -f, --force
          ignore nonexistent files, never prompt
          忽略不存在的文件,从不提示(强制删除,不需要询问,非交互式删除)
    -i, --interactive(交互式)
          prompt before any removal
          每次删除都询问是否删除
    -r, -R, --recursive
          remove directories and their contents recursively
          递归删除参数中列出的所有目录以及子目录
    

    eg:

    rm     log.log   
    交互式删除
    rm -i  *.log     
    交互式删除所有.log文件
    rm -f  log.log 
    不询问直接删除
    rm -r  test1
    递归删除test1目录下的文件(交互式)
    rm -rf test1
    递归删除test1目录下的文件(非交互式)
    
    
    "-"是一个特殊标识,如果要创建或者删除以"-"开头的文件需要使用"--"或者"./"转义
    创建-f文件
    touch -- -f
    touch ./-f
    删除-f文件
    rm -- -f
    rm ./ -f
    
  9. linux命令之 touch (建立空文件)

  10. linux命令之 cat (一次性显示文件全部内容,连接显示多个文件内容)

    -n,   --number
          number all output lines
          从1开始对输出的所有行编号
    -b,   --number-nonblank
          number nonblank output lines
          从1开始对非空输出行编号
    -E,   --show-ends
          display $ at end of each line
          每行结尾处显示$ 
    -s,   --squeeze-blank
          never more than one single blank line
          将连续两行以上的空白行代换为一行的空白行
    -T,   --show-tabs
          display TAB characters as ^I
          将跳格字符显示为^I
    主要用途:
    1、一次性显示整个文件:  cat    filename
    2、创建一个文件:       cat  > filename
    3、合并几个文件:        cat file1 file2 > file
    

    eg:

    cat -n file1 > file2   
    把file1文档的内容加上行号后输入到file2文档中
    cat -b file1 file2 >> file3 
    把file1和file2的内容加上行号(空白行不加)之后将内容附加到file3中
    
  11. linux命令之 nl(将输出的文件内容加上行号)

    -b,  --body-numbering=STYLE
         use STYLE for numbering body lines
         指定行号的指定方式,主要有两种
         -b a
         不论是否空行,都列出行号(和cat -n相同)
         -b t
         若有空行,空行不列出行号(默认)
    -n,  --number-format=FORMAT
         insert line numbers according to FORMAT
         行号的表示格式,主要有三种
         -n ln
         行号在栏位的最左方显示
         -n rn
         行号在栏位最右方显示,不加0
         -n rz
         行号在栏位最右方显示,加0
    -w,  --number-width=NUMBER
         use NUMBER columns for line numbers
         行号栏位的占用位数
    
    与cat -n相比,nl有更多的显示格式,位数与自动补齐0等
    

    eg:

    nl  a.txt               
    标准输出,空白行不加行号
    nl  -ba   a.txt             
    空白行也加行号输出
    nl -ba  -nrz   a.txt        
    行号前面自动补零输出(只有rz才可以补零,lz不仅无意义还会出错)
    nl -ba -nrz -w3 a.txt   行号前面自动补零,行号占用位数为3位
    
  12. linux命令之 more(分页显示文件,但预加载整个文件)

    +n,  -- +num  
         Start at line number num.
         从第n行开始显示
    -n,  -- -num  
         This option specifies an integer which is the screen size (in lines).
         定义屏幕大小为n行
    +/,  -- +/pattern 
         The +/ option specifies a string that will be searched 
         for before each file is displayed.
         在显示文档内容前搜索指定字符串,
         并从该字符串前两行的位置开始显示文本内容
    -c,  -- clear
         显示内容前先清屏
    -p   --
         Do not scroll.  Instead, clear the whole screen and 
         then display the text.
         空格下一页的时候不滚屏,直接清屏显示下一个内容
    -s,  -- Squeeze (挤,压榨)    
         Squeeze multiple blank lines into one.
         将连续多个空行显示为一行
    -u   --
         Suppress underlining. (抵制,镇压,废止)
         去除内容中的下划线
    
    相比cat,more具有搜索、下一页等功能
    
    **常用命令:**
    Enter    向下n行,需要定义,默认为1行
    空格键    向下滚动一屏
    Ctrl+F   向下滚动一屏
    Ctrl+B   返回上一屏
    =        输出当前行号
    :f       输出文件名和当前行号
    V        调用vi编辑器
    !       调用Shell,并执行命令
    q        退出more
    

    eg:

    more +3 a.txt       
    从第3行开始显示内容
    more +/xxx a.txt    
    从文件中查找第一次出现"xxx"字符串的行,并从该处前两行开始显示输出
    more -5             
    每屏/每页显示的5行内容
    ls -l | more -5      
    和管道结合使用more命令,并且每页显示5行ls -l结果
    
  13. linux命令之 less

  14. linux命令之 head/tail

    tail:  查看文件后n行
       -f 刷新文件,实时监控
    
  15. linux命令之 which/whereis/locate/find

  16. find命令详解

    -name 
        ~ 代表了家目录
        . 代表了当前目录
        / 代表了系统根目录
    -perm
        按照文件权限模式查找文件
    -prune
        忽略某个目录
    
  17. linux命令之上传下载

    rz:  上传文件至linux当前目录
    sz:  [filename]:从linux下载该文件
         -a, --ascii
         -b, --binary
             用binary的方式上传下载,不解释字符为ascii
         -e, --escape
             强制escape所有控制字符,比如Ctrl+x,DEL等
    
        rar,gif等文件采用-b用binary的方式上传
        文件比较大而上传出错的话,采用参数-e
    
  18. Linux命令之 ln(为文件在另一个位置创建一个同步链接)

    -b  删除,覆盖以前建立的链接
    -d  允许超级用户制作目录的硬链接
    -f  强制执行
    -i  交互模式,文件存在则提示用户是否覆盖
    -n  把符号链接视为一般目录
    -s  软链接(符号链接:Symbolic Link)
    -v  显示详细的处理过程
    
    一: 软链接(ln -s)
         以路径的形式存在
         可以跨文件系统(硬链接不可以)
         可以对一个不存在的文件名进行链接
         可以对目录进行链接(硬链接不可以)
    二:硬链接(默认)
         以文件副本的形式存在,但不占用实际空间
         只有在同一个文件系统中才可以创建
         不能建立指向目录的硬链接
    

    eg:

        ln    源文件      目标文件
        ln -s 源文件/目录  目标文件/目录
    
  19. Linux命令之 tar(-将多个文件打包,便于压缩)

    -c 打包
    -x 解包
    -t 显示包中内容
    -v 显示操作过程
    -p 保留原本文件的属性(读写权限等)
    -f 指定文件
    -z 支持gzip压缩、解压
    -j 支持bzip2压缩、解压
    

    eg:

    打包、解包
    tar cvf log.tar 2017.log
    tar xvf log.tar
    打包后以gzip格式压缩、解压
    tar zcvf log.tar.gz 2017.log
    tar zxvf log.tar.gz
    打包后以bzip2格式压缩、解压
    tar jcvf log.tar.bz2 2017.log
    tar jxvf log.tar.bz2
    备份还原文件并且保存其权限
    tar -zcvpf log.tar.gz 2014.log 2015.log 2016.log
    tar -zxvpg log.tar.gz
    在文件夹中比某个日期新的文件才备份
    tar -N "2017/02/08" -zcvf log.tar.gz 2017.log
    排除部分文件后备份文件夹内容
    tar --exclude scf/service -zcvf scf.tar.gz scf/*
    
  20. Linux命令之压缩、解压

    1、  gzip:
            -d 解压文件
            -v 显示执行过程
            -l 列出压缩文件详细信息
    2、  zip:压缩文件为zip后缀
    3、  unzip:解压zip后缀文件
    
  21. Linux命令之 df (检查linux服务器的文件系统的磁盘占用情况)

    -h 以易读的方式显示
    
  22. Linux命令之 du(检查linux服务器的文件和目录的磁盘占用情况)

    -h 以易读的方式显示     
    du :显示目录或者文件所占空间
    du 2017.log :显示指定文件或者目录所占空间
    du 2014.log 2015.log :显示多个文件所占空间
    
  23. Linux命令之 diff ——比较两个文件的差异

  24. Linux命令之 date(显示或设定系统的日期与时间)

  25. Linux命令之 cal (查看日历等时间信息)

    -1 显示一个月的日历(默认)
    -3 显示3个月的日历(上个月/当前月/下个月)
    -s 显示星期天为一周的第一天(默认)
    -m 显示星期一为一周的第一天
    -j 显示在当年中的第几天(从1月1号算起)
    -y 显示当前年份的日历
    
  26. Linux命令之cut (取出我们需要的数据)

    -d, --
        后面跟分割字符,与-f一起使用
    -f, --
        依据-d的分隔字符将一段信息切割成数段,用-f表示取出第几段的意思
    -c, --
        以字符的单位取出固定字符区间
    

    eg:

        echo $PATH | cut -d ':' -f 3,5 取出以‘:’分割后的第3和第5段内容
        export | cut -c 12- 取出第12个之后的所有字符
        export | cut -c 12-20 取出第12-20的字符
    
  27. Linux命令之 grep(取出需要数据所在的行)

    -c:计算出找到关键字的次数
    -i:忽略大小写
    -n:输出行号
    -v:反向选择,查找没有关键字的行
    -f:参数是文件,取出文件中的关键字备用
    grep可以用作文本搜索工具,使用正则表达式搜索
    

    eg:

    grep  -f   test1   test2
    查找test2中包含test1关键字的行
    grep -v -f  test1  test2
    查找test2中不包含test1关键字的行
    cat test2 | grep -nf test1     
    查找test2中含有从test1中读取出的关键词并且显示内容行号
    grep 'linux' test1             
    从test1中查找'linux'关键词
    grep 'linux' test1 test2 -n    
    从多个文件test1 test2中查找关键词'linux'且显示内容行
    cat test1 |grep ^u             
    找出test1中以u开头的行
    cat test1 |grep ^[^u]          
    找出test1中非u开头的行
    cat test1 |grep hat$           
    找出test1中以hat结尾的行
    cat test1 |grep -E 'linux|Red' 
    找出test1中包含linux或者Red的行
    grep '[a-z]\{7\}' *.txt        
    找出当前目录下所有txt文件中字符串大于7的行
    
  28. Linux命令之 wc (统计指定文件中的字节数、字数、行数,并将统计结果显示输出)

    -c 统计字节数
    -l 统计行数
    -m 统计字符数
    -w 统计字数
    -L 打印最长行的长度
    
  29. Linux命令之 ps(-列出系统中当前运行的进程)

    ps命令列出的是执行命令那个时刻的进程快照,如果想要动态的显示进程信息,使用top命令
    
  30. Linux命令之 top

    类似于Windows下的任务管理器,实时显示系统中各个进程的资源占用情况
    
  31. 一些实用的命令

    last:查询这个月份哪些用户登录了主机
    man命令查看命令的解释
    apropos<description> 命令查找需要的命令
    history 列出所有运行过的命令,使用!+编号调用该命令
    su:切换登录用户,
    sudo:允许普通用户执行一些或者全部的root命令
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值