linux的简单命令学习

来源:互联网 发布:mac 虚拟机 win10 好吗 编辑:程序博客网 时间:2024/06/06 04:07
  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为test2cp -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 -- -ftouch ./-f删除-f文件rm -- -frm ./ -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    filename2、创建一个文件:       cat  > filename3、合并几个文件:        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.logtar xvf log.tar打包后以gzip格式压缩、解压tar zcvf log.tar.gz 2017.logtar zxvf log.tar.gz打包后以bzip2格式压缩、解压tar jcvf log.tar.bz2 2017.logtar jxvf log.tar.bz2备份还原文件并且保存其权限tar -zcvpf log.tar.gz 2014.log 2015.log 2016.logtar -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命令