zoukankan      html  css  js  c++  java
  • Linux 命令2

    clear命令

    clear 命令用于清除终端屏幕上现有的文字内容,将之上滚:

    wget命令

    wget:从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

    语法:wget(选项)(URL)
    选项:
            -a<日志文件>:在指定的日志文件中记录资料的执行过程;
    	-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
    	-b:进行后台的方式运行wget;
    	-B<连接地址>:设置参考的连接地址的基地地址;
    	-c:继续执行上次终端的任务;
    	-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
    	-d:调试模式运行指令;
    	-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
    	-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
    	-h:显示指令帮助信息;
    	-i<文件>:从指定文件获取要下载的URL地址;
    	-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
    	-L:仅顺着关联的连接;
    	-r:递归下载方式;
    	-nc:文件存在时,下载文件不覆盖原有文件;
    	-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
    	-q:不显示指令执行过程;
    	-nh:不查询主机名称;
    	-v:显示详细执行过程;
    	-V:显示版本信息;
    	--passive-ftp:使用被动模式PASV连接FTP服务器;
    	--follow-ftp:从HTML文件中下载FTP连接文件。    
    例子:下载并以不同的文件名保存
        wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
    

    which命令

    which:查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    语法:which(选项)(命令)
    选项:
        -n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
        -p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径;
        -w:指定输出时栏位的宽度;
        -V:显示版本信息。
    例子:which pwd
    

    ln命令

    ln:用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。

    语法:ln(选项)(参数)
    选项:
            -b或--backup:删除,覆盖目标文件之前的备份;
    	-d或-F或——directory:建立目录的硬连接;
    	-f或——force:强行建立文件或目录的连接,不论文件或目录是否存在;
    	-i或——interactive:覆盖既有文件之前先询问用户;
    	-n或--no-dereference:把符号连接的目的目录视为一般文件;
    	-s或——symbolic:对源文件建立符号连接,而非硬连接;
    	-S<字尾备份字符串>或--suffix=<字尾备份字符串>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字符串是符号“~”,用户可通过“-S”参数来改变它;
    	-v或——verbose:显示指令执行过程;
    	-V<备份方式>或--version-control=<备份方式>:用“-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用“-S”参数变更,当使用“-V”参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串;
    	--help:在线帮助;
    	--version:显示版本信息。
    参数:
        源文件:指定连接的源文件。如果使用-s选项创建符号连接,则“源文件”可以是文件或者目录。创建硬连接时,则“源文件”参数只能是文件;
        目标文件:指定源文件的目标连接文件。
    例子:将目录/usr/mengqc/mub1下的文件m2.c链接到目录/usr/liu下的文件a2.c
        cd /usr/mengqc
        ln /mub1/m2.c /usr/liu/a2.c
    

    whereis命令 

    whereis:用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

    find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

    语法:whereis(选项)(参数)
    选项:
        -b:只查找二进制文件;
        -B<目录>:只在设置的目录下查找二进制文件;
        -f:不显示文件名前的路径名称;
        -m:只查找说明文件;
        -M<目录>:只在设置的目录下查找说明文件;
        -s:只查找原始代码文件;
        -S<目录>只在设置的目录下查找原始代码文件;
        -u:查找不包含指定类型的文件。
    参数:
        指令名:要查找的二进制程序、源文件和man手册页的指令名。
    实例:将相关的文件都查找出来
        whereis tomcat
    

    locate命令slocate命令

    locate命令slocate命令都用来查找文件或目录。

    locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

    语法:locate/slocate(选项)(参数)
    选项:
        -i:忽略大小写
        -d<目录>或--database=<目录>:指定数据库所在的目录;
        -u:更新slocate数据库;
        --help:显示帮助;
        --version:显示版本信息。
    参数:
        查找字符串:要查找的文件名中含有的字符串。
    实例:搜索用户主目录下,所有以m开头的文件,并且忽略大小写:
        locate -i ~/m
        
    

    du命令 

    du:查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    语法:du [选项][文件]
    选项:
            -a或-all 显示目录中个别文件的大小。
    	-b或-bytes 显示目录或文件大小时,以byte为单位。
    	-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    	-k或--kilobytes 以KB(1024bytes)为单位输出。
    	-m或--megabytes 以MB为单位输出。
    	-s或--summarize 仅显示总计,只列出最后加总的值。
    	-h或--human-readable 以K,M,G为单位,提高信息的可读性。
    	-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    	-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
    	-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
    	-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
    	--exclude=<目录或文件> 略过指定的目录或文件。
    	-D或--dereference-args 显示指定符号链接的源文件大小。
    	-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
    	-l或--count-links 重复计算硬件链接的文件。
    实例:显示目录或者文件所占空间:
        [root@localhost test]# du
    

    diff命令

    diff:比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

    语法:diff(选项)(参数)
    选项:
            -<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用;
    	-a或——text:diff预设只会逐行比较文本文件;
    	-b或--ignore-space-change:不检查空格字符的不同;
    	-B或--ignore-blank-lines:不检查空白行;
    	-c:显示全部内容,并标出不同之处;
    	-C<行数>或--context<行数>:与执行“-c-<行数>”指令相同;
    	-d或——minimal:使用不同的演算法,以小的单位来做比较;
    	-D<巨集名称>或ifdef<巨集名称>:此参数的输出格式可用于前置处理器巨集;
    	-e或——ed:此参数的输出格式可用于ed的script文件;
    	-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处;
    	-H或--speed-large-files:比较大文件时,可加快速度;
    	-l<字符或字符串>或--ignore-matching-lines<字符或字符串>:若两个文件在某几行有所不同,而之际航同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异;
    	-i或--ignore-case:不检查大小写的不同;
    	-l或——paginate:将结果交由pr程序来分页;
    	-n或——rcs:将比较结果以RCS的格式来显示;
    	-N或--new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录,文件A 若使用-N参数,则diff会将文件A 与一个空白的文件比较;
    	-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称;
    	-P或--unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较;
    	-q或--brief:仅显示有无差异,不显示详细的信息;
    	-r或——recursive:比较子目录中的文件;
    	-s或--report-identical-files:若没有发现任何差异,仍然显示信息;
    	-S<文件>或--starting-file<文件>:在比较目录时,从指定的文件开始比较;
    	-t或--expand-tabs:在输出时,将tab字符展开;
    	-T或--initial-tab:在每行前面加上tab字符以便对齐;
    	-u,-U<列数>或--unified=<列数>:以合并的方式来显示文件内容的不同;
    	-v或——version:显示版本信息;
    	-w或--ignore-all-space:忽略全部的空格字符;
    	-W<宽度>或--width<宽度>:在使用-y参数时,指定栏宽;
    	-x<文件名或目录>或--exclude<文件名或目录>:不比较选项中所指定的文件或目录;
    	-X<文件>或--exclude-from<文件>;您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件;
    	-y或--side-by-side:以并列的方式显示文件的异同之处;
    	--help:显示帮助;
    	--left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容;
    	--suppress-common-lines:在使用-y参数时,仅显示不同之处。
    参数:
        文件1:指定要比较的第一个文件;
        文件2:指定要比较的第二个文件。
    例子:将目录/usr/li下的文件"test.txt"与当前目录下的文件"test.txt"进行比较,输入如下命令:
        diff /usr/li test.txt     #使用diff指令对文件进行比较
    

    free命令

    free:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

    语法:free(选项)
    选项:
        -b:以Byte为单位显示内存使用情况;
        -k:以KB为单位显示内存使用情况;
        -m:以MB为单位显示内存使用情况;
        -o:不显示缓冲区调节列;
        -s<间隔秒数>:持续观察内存使用状况;
        -t:显示内存总和列;
        -V:显示版本信息。
    实例:
    free -m
                      total       used       free     shared    buffers     cached
    Mem:          2016       1973         42          0        163       1497
    -/+ buffers/cache:        312       1703
    Swap:         4094          0       4094
    
    第一部分Mem行解释:
        total:内存总数;
        used:已经使用的内存数;
        free:空闲的内存数;
        shared:当前已经废弃不用;
        buffers Buffer:缓存内存数;
        cached Page:缓存内存数。
    第二部分(-/+ buffers/cache)解释:
        (-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached
        (+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached
    第三部分是指交换分区。
    

    df命令

    df:显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    语法:df(选项)(文件)
    选项:
        -a或--all:包含全部的文件系统;
        --block-size=<区块大小>:以指定的区块大小来显示区块数目;
        -h或--human-readable:以可读性较高的方式来显示信息;
        -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
        -i或--inodes:显示inode的信息;
        -k或--kilobytes:指定区块大小为1024字节;
        -l或--local:仅显示本地端的文件系统;
        -m或--megabytes:指定区块大小为1048576字节;
        --no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
        -P或--portability:使用POSIX的输出格式;
        --sync:在取得磁盘使用信息前,先执行sync指令;
        -t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
        -T或--print-type:显示文件系统的类型;
        -x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
        --help:显示帮助;
        --version:显示版本信息。
    实例:
        df -h
    

    输出输入重定向

    >:覆盖输出
    >>:追加输出

    2>:重定向错误输出
    2>>;追加错误输出

    &>;重定向标追输出或错误输出至同一个文件(重定向所有输出)


    <:输入重定向
      cat < /etc/fstab

    <<:Here Document 此处文档
      cat << END
      aaa
      END
      cat >> a.txt << EOF
      aaa
      bbb
      ccc
      EOF

    管道

    管道:前一个命令的输出,作为后一个命令的输入
    命令1 | 命令1 | 。。。。 # 命令1的输出当作命令2的输入

    文件查找:grep,egrep,fgrep

    grep:根据模式,搜索文本,并将符合模式的文本行显示出来。

    -i:忽略大小写
    -V:反向查找,显示没有被模式匹配到的行
    -o:只显示被模式匹配到的字符串
    --color或--colour:添加颜色
    -E:使用扩展正则表达式

    正则表达式

    元字符:

    .:任意单个字符
    []:匹配指定范围内的任意单个字符
    [^]:匹配指定范围外的任意单个字符

    匹配次数(贪婪模式):

    *:匹配其前面的字符仁意次数
        a,b,ab,aab,acb,adb
        a*b 匹配出:ab aab
    .*:任意长度的任意字符
    ?:匹配其前面的字符1次或0次
    {m,n}:匹配其前面的字符至少m次,至多n次
        {1,}        {0,10}

    位置锚定:

    ^:锚定行首,此字符后面的任意内容必须出现在行首
    $:锚定行尾,此字符后面的任意内容必须出现在行尾
    ^$:空白行
    <或:其后面的任意字符必须作为单词首部出现
    >或:其前面的任意字符必须作为单词尾部出现

    分组:()

    (ab)*
    后向引用
    1:引用第一个左括号以及与之对应的右括号所包括的所有内容    
        例:a.txt 文件里 有hellohello,hello字符出匹配出hellohello
        grep --color "(hello)1" a.txt # 1就是()里的内容
    23:

    sed(流编辑器)基本用法:

    语法:sed [选项] "地址命令" 文件1 文件2 ...
    选项:
        -n:静默模式,不再默认显示模式空间中的内容
        -i:直接修改原文件
        -e:可以同时执行多个脚本
            -e SCRIPT -e SCRIPT -e SCRIPT
        -f:多个脚本写在一个文件里,指定文件
            -f /PATH/TO/SED_SCRIPT
        -r:表示使用扩展正则表达式

    1. 地址:

    1. 起始行,结束行
        比如1,100 第一行到100行
        $:最后一行
    
    2. /RegExp/:模式需要加//
        /^root/
    3. /pattern1/,/pattern2/
        第一次被/pattern1/匹配到的行开始,到第二次被/pattern2/匹配的行结束。
    4. LineNumber
        指定的行
    5. StartLine,+N
        从StartLine开始,向后的n行

    2. 命令:

    d:删除符合条件的行
    p:显示符合条件的行
    a:a string:在指定的行后面追加新行,内容为string
        
    :换行
    i:i string:在指定的行前面添加新行,内容为string
    r:r file:将指定的文件内容添加至符合条件的行处
    w:w file:将指定范围内的内容另存至指定的文件中;
    s:s/pattern/string/修饰符:将/pattern/
    s///:s###,s@@@, #s分隔符,可以中#,@
    &:表示引用模式匹配到的整个串
        例:把aa.txt 文件里的 like,love 替换成 liker,lover。
        sed 's#l..e#&r#g' aa.txt
        例2:后向引用
            把aa.txt 文件里的 hello,like,love 替换成 hello,Like,Love
            sed 's#l(..e)#L1#g' aa.txt

    3. 查找的字符串,替换成string字符串,默认只替换每行中第一次被我时匹配到的字符

    加修饰符:
    g:全局替换
    i:忽略字符大小写

     

    逻辑运算:与(&)、或(|)、非(!)、异或

    1:真
    0:假

    与:两者都为真,结果才为真
        1 & 0 = 0
        0 & 1 = 0
        0 & 0 = 0
        1 & 1 = 1
    或:一个为真,结果为真
        1 & 0 = 1
        0 & 1 = 1
        0 & 0 = 0
    非:取返
        !假 = 真
        !真 = 假
    异或:操作数相同则为0,否则为1
        1 异或 1 = 假
        0 异或 0 =1 异或 0 = 真
        0 异或 1 = 真
  • 相关阅读:
    Spring IoC和AOP使用扩展(二)
    Spring核心概念(一)
    MyBatis的动态SQL(五)
    MyBatis的SQL映射文件(四)
    初始myBatis(三)
    初始myBatis(二)
    微信小程序学习九 事件系统
    微信小程序学习八 wxs
    微信小程序学习七 视图层wxml语法
    微信小程序学习六 模块化
  • 原文地址:https://www.cnblogs.com/smile1/p/11967225.html
Copyright © 2011-2022 走看看