• Linux命令指南(一)常用命令【上】


    Linux下的常用命令分为几类:

    1、文件及目录操作

    2、文件查看及编辑

    3、文件查找及统计

    4、文件解压与压缩

    5、用户与文件权限

    6、资源监控与管理

    ps:Linux中一切皆是文件,cpu、内存、磁盘、外设、驱动等等,都是以文件形式存在我们的Linux系统中。

    Linux中常用的快捷键

    Enter 执行命令。输入命令后记得回车,命令才生效。

    Tab 自动补全。在写文件夹路径的时候,打出首字母直接将后续名称补全,遇到首字母相同的文件夹会展示出列表

    ↑ 使用方向键的up键,可以找回上个执行的命令,并且可以一直向上查找历史命令,想查看所有历史命令使用 history命令

    ctrl + c 中断命令。在linux上执行命令遇到卡死、报错等执行不下去又无法退出的情况,请使用此命令。

    ctrl + z 中断命令。一般ctrl + c 无法进行中断操作的时候可以尝试下此命令。

    ctrl + insert 复制。复制选中内容。

    shift + insert 粘贴。粘贴剪切板中内容。

    ctrl + Backspace 向前删除。
    在输入命令时,有时退格键Backspace无法删除字符,它本身被当做一个字符输入了,使用此命令进行退格删除操作

    delete 向后删除。

      另外在查看滚动文件时有两个好用的命令,一般在查看日志文件时使用:

    ctrl + s 停止滚屏

    ctrl + q 恢复滚屏

      

      帮助命令:

      man 全方位的帮助命令,使用方式为 man [命令],如

    man ls

      使用 :q 命令退出帮助界面

      

      历史命令查看:

    history # 查看已经敲过的命令

    #对于history命令来说,历史命令会被保存到目录中的.bash_history 文件中。可以使用命令:cat ~/.bash_history查看 ,默认是保存1000条

    history -c #清除history记录

    一  文件及目录操作

    ps:

    # 小技巧:使用“;”分号可以一次性执行多个命令

    # 注意:查看和创建带有空格的文件时,使用引号括起来

    1.1   关于路径和切换:cd、ls、ll、pwd

    以下是命令简释:

    cd /
    # 进入主机根目录
     
    cd ~
    # 进入用户根目录
     
    cd ..
    # 返回父级(上级)目录
     
    cd ../..
    # 返回爷爷(上级的上级)目录,可以以此类推。
     
    cd -
    # 返回上次目录
     
    cd /yaomaomao/tao/123/456
    # 使用绝对路径,从根目录开始,一层层找到456这个目录。/ 为根目录
      
    ls
    # 横向展示当前目录下所有文件及目录
    ls
    -l(等同于ll,一般直接用ll) # 纵向展示当前目录下所有文件及目录,及权限信息 ll -a # 显示隐藏文件 + ll命令展示的内容 ll -h # 将文件大小从单位bit转换为合适的单位展现,如kb、Mb、Gb,根据实际大小来。 # -h 这个参数在linux中很有用,基本所有需要统计大小的命令中都可以用它,如df -h, du -h,free -h。 pwd # 查看当前所在路径

    1.2 文件创建  :touch、mkdir

    创建文件

    touch tao.txt
    # 在当前目录下创建一个tao.txt空文件
    
    touch /var/www/mydream{01..10}.html
    # 批量创建空文件

    创建目录

    mkdir [目录名]
    # 在当前目录下创建一个空目录
    
    mkdir taotao tt 123 456
    # 多个目录同时创建,目录间以空格隔开,创建同级的多个目录
    
    # 如果想要创建一个多级子目录怎么办,那就使用下面的mkdir -p。
    
    mkdir -p /taotao/tao/123/456
    # 多层目录同时创建,一次性在当前目录下创建taotao目录,在taotao目录下创建wfy目录,在tao目录下创建123目录,在123目录下创建456目录。

    1.3 复制、移动和删除:cp、mv、rm

    cp [待拷贝文件名] [拷贝后文件名]
    # 将前者拷贝一份出来,变为后者。
    
    cp [待拷贝目录] [目标目录]
    # 将前者拷贝一份出来,变为后者。文件如此,目录也是如此。
    # 但是有时候目录下还有子目录,这个命令就不好用了,得用下面这个命令,cp -r/R。
    
    cp -r [待拷贝目录] [目标目录]
    # -r/R 是什么意思?即递归。无限寻找当前目录下所有子目录。倾其所有,拷贝到目标路径下。
    
    
    
    mv [待拷贝文件名] [拷贝后文件名]
    # 将前者的文件名改为后者的文件名
    
    mv [待移动目录] [目标目录]
    # 将前者的文件名改为后者的文件名
    
    
    rm [文件名] # 删除文件。文件不存在会有报错提示。 rm
    -f [文件名] # 删除文件。-f,忽略信息,不提示。 rm -rf [目录名] # 递归删除目录 rm -rf [文件1] [文件2] [目录1] [目录2] # 删除多个文件和目录 rm -rf *.log # 删除当前目录所有.log后缀结尾的文件 rm -i *.log # 删除所有log文件时会一一询问,这个命令一般不会用到,但有些情况下可能会需要。 # 询问时,按 y 确认删除,n 不删除。

    二   文件查看与编辑

    cat [文件名]
    # 输出文件所有内容到屏幕上
    
    cat [文件1] [文件2]
    # 输出文件1、文件2所有内容到屏幕上
    
    cat [文件1] [文件2] > [文件3]
    # 将文件1、文件2合并,输出到文件3中,如果没有文件3会自动生成一个新的文件3
    
    cat -n [文件名]
    # 输出文件内容时加上行号
    
    cat -A [文件名]
    # 输出文件内容时显示所有隐藏字符

    2.1 tail 一般用来查看日志使用,显示文件最新追加的内容

    tail 一般用来查看日志使用,显示文件最新追加的内容

    tail -f a.log
    # 不停地追加显示log文件的最后10行
    
    tail -fn 1000 a.log
    # 加上-n参数,不停地追加显示log文件的最后1000行

    tail 一般用来查看日志使用,显示文件最新追加的内容

    tail -fn 1000 a.log b.log

    如果显示文件不止一个,则在显示的每个文件前面加一个文件名标题

    ![tail -fn 1000 xxx.log xxx2.log](D:Linux2	ail -fn 1000 xxx.log xxx2.txt log.png)

    与tail 相对的还有个head,是从开头显示文件内容,一般用法为 head -n [文件名],用法与tail差不多。

    2.2 文件编辑 vi/vim

    vim有几种模式,即normal模式、编辑模式、命令模式。(vim是vi的增强版)

    vim [文件名]
    # 默认进入normal模式

    normal模式下按下i、a、o、s,进入编辑模式

    i 
    # insert,光标当前字符前插入
    
    a 
    # append, 光标当前字符后插入
    
    o 
    # 下一行插入
    
    s
    # 不常用,删除当前字符并插入

    光标移动

    # 向左移动# 向下移动# 向上移动# 向右移动
    
    ctrl + f
    # 向下翻页
    
    ctrl + b
    # 向上翻页
    
    0
    # 行首
    
    $
    # 行尾
    
    space
    # 空格键,一直向下移动一个字符。跟左方向键(→)的区别是,左方向键(→)只能在本行移动。

    也可以:可以在normal模式下,使用h、j、k、l键依次进行左、下、上、右操作。

    退出、保存

    :q
    # 退出不保存
    
    :q!
    # 强制退出不保存
    
    :wq 
    # 退出保存
    
    :wq!
    # 强制退出保存

    :w
    #将编辑的数据写入硬盘文件中(常用)

    :w!
    #文件属性为『只读』时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关!

    :w [filename]
    #将编辑的数据储存成另一个文件(类似另存为新文件)

    :r [filename]
    #在编辑的数据中,读入另一个文件的数据。亦即将 『filename』 这个文件内容加到游标所在行后面

    :n1,n2 w [filename]
    #将 n1 到 n2 的内容储存成 filename 这个文件


    normal模式下的一些快捷键

    G 
    # 大写g,移动到文末。
    
    nG
    # n,数字,代表行号。100G则是移动到第100行。1G则是行首。
    
    gg
    # 移动到文首。同样效果还有1G。
    
    H、M、L
    # 分别代表high、middle、low,即移动当前屏幕页的最上方、中间、最下方。
        
    dd
    # 删除当前行,可连续按d删除。
    
    ndd
    # n,数字,代表行号。ndd,删除当前行及之后的多少行,如100dd,删除当前及之后的100行
        
    u
    # 撤销操作。如果上面使用dd删除错了,可按一下u进行撤销。编辑模式下撤销需要按Esc进入normal模式,按 u 撤销。
    
    y
    进入复制模式。
    
    yy
    # 复制当前行。
    
    nyy
    # n,数字,代表行号。聪明的你相比已经知道了,如16yy,即复制当前行至16行的内容。
    
    p
    # 粘贴当前vim剪切板中内容。
    
    yyp
    # 常用组合键,即在上面使用yy复制后,可立即使用p粘贴,或者移动到指定地点后按个 p,即把刚才的内容粘贴过来了。
    
    ggyG
    # 全选复制。看这个命令,到行首,按y进入复制模式,再移动光标到文末,然后可以按p粘贴了。当然,如果你的光标已经移动到相应位置,可以直接ggyGp。
    # 这里有个缺陷,这样的复制内容只能在vim中进行粘贴,一旦退出vim,剪切板中则无此内容了。那怎么办呢? 看下面这个命令。
    
    gg"*yG、gg"+yG
    # 这两个全选复制的命令,可以将内容带出到vim之外。当然,一般用不到,只有某些特殊情况下会用到。

    normal模式下输入 / 或 ?

    /tao
    # 即向下寻找tao这个字符串。按n会一直向下找。
    
    ?涛
    # 即向上寻找 涛 这个字符串。按n会一直向上找。
    
    n、N
    # 配合/、?则会很有趣,/ + n,一直向下找,/ + N,一直向上找, ? + n,一直向上找, ? + N,一直向下找。

    normal模式下替换

    # 全局替换,将old字符替换成new
    :%s/old/new/g
    #如果不想全局替换,而是指定行数,可以使用此命令:
    :[n1],[n2]s/old/new/g

    #从第N行到最后一行的
    :[n1],%s/old/new/g

    注释:

    添加注释。

    使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)

    取消注释:

    使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)

    :10,20s#^#//#g
    #在 10 - 20 行添加 // 注释
    
    
    :10,20s#^//##g
    #在 10 - 20 行删除 // 注释
    
    
    :10,20s/^/#/g
    #在 10 - 20 行添加 # 注释
    
    
    :10,20s/#//g
    #在 10 - 20 行删除 # 注释

    总结下几种模式的切换:

    2.3  more、less

    这两个命令类似cat,不过是以一页一页的方式显示阅读。

    more可以显示百分比,一般从头排查问题日志可以用more。

    而less则在查看大文件时有奇效,据说是部分加载到内存中。

    more

    more [文件名]
    
    more -f [文件名]
    # 加参数f,-f 参数的含义为计算行数时,以实际上行数为准(有些单行字数太长的会被认为两行或以上)

    使用more查看文件或日志的快捷命令

    空格键
    # 向下滚动一屏,f键效果一样,但一般使用空格键,比较方便
    
    b
    # 向上滚动一屏
    
    =
    # 查看当前行号
    
    :f
    # 输出当前文件名 及 行号
    
    q
    # 退出more命令, ctrl + c也可以退出

    指定行查看

    more +[num] [文件名]
    # 查看指定行号以后的内容
    
    more -[num] [文件名]
    # 查看指定行号以前的内容,这个命令一般不用,主要用+num。这个命令如果用的话一般会作为导出使用。

    less

    less的好处是查看文件之前不会加载整个文件,所以在查看大文件时有奇效。如果文件特别大,例如超过1G,可以使用less,提高效率。

    less [文件名]
    # 基本查看命令
    
    less -m [文件名]
    # 类似more命令,显示百分比
    
    less -N [文件名]
    # 显示行号

    与more 命令相似,less也有相同的快捷键,只是不能用ctrl + c退出

    q
    # 退出less命令
    
    d
    # 向下移动半屏
    
    u
    # 向上移动半屏
    
    j
    # 向下移动一行
    
    k
    # 向上移动一行
    
    空格键
    # 向下滚动一屏,f键效果一样,但一般使用空格键,比较方便
    
    b
    # 向上滚动一屏
    
    =
    # 输出当前文件名 及 行号、百分比
    
    : f
    # 输出当前文件名 及 行号、百分比

    并且less不只是more可以查看,还可以用使用vi编辑器的查找命令

    /[查找字符]
    # 配合n键,从上往下查所有
    
    ?[查找字符]
    # 配合n键,从下往下查所有

    2.4 不打开文件也能编辑:sed  增删改查

    sed [参数选项] [sed内置命令字符 更新内容] [输入文件]

     增

    sed -i '$a 你好吗'  a.txt
    #在件末尾追加
    
    
    sed -i 'li 你好吗'  a.txt
    #在文件第一行,前一行插入字符
    
    sed -i '20a 你好吗'  a.txt
    #在指定行,下面一行追加
    
    sed -i '20i 你好吗'  a.txt
    #在指定行,上面一行追加
    
    
    sed -i 'a 你好吗'  a.txt
    #在每一行下一行追加
    
    sed -i 'i 你好吗'  a.txt
    #在每一行上一行追加

    改:内置命令字符s

    sed 's/tao/taotao/' file
    # 替换文本中的字符串
    
    sed -n 's/taotao/tao/p' file
    # -n选项和p命令一起使用表示只打印那些发生替换的行
    
    sed -i 's/taotao/tao/g' file
    # 直接编辑文件选项-i,会匹配file文件中每一行的第一个book替换为books

    删:内置命令字符d

    sed -i '2d' file
    # 删除第2行
    sed -i '1,3d' a.txt
    # 删除1到3行
     
    sed -i '//sbin/nologin/d' passwd
    # 删除不能登录的用户
    
    sed -i '/^taotao/,/$2111/d' passwd
    # 删除以 “taotao” 开头一直到以 2111结尾的行

    总结:

    无参数,只显示修改后内容在终端,不修改真实文件内容,一般可与管道符“|”一同使用作为输入源。

    参数 -i,必须品,加上此参数才能真正修改文件。

    参数 -n,一般与内置命令字符p共用,显示修改行。

    内置命令字符 i、a,插入、追加。

    内置命令字符 s、d,替换、删除。

    $代表文件末尾,^代表文件开头。

    三 文件查找与统计

    3.1  du常用命令

    du -sh
    # 统计当前文件夹内容总大小
    
    du -sh [文件夹1] [文件1] 
    # 统计当前目录下的文件夹或文件大小
    
    du -sh /usr/local
    # 显示指定目录大小
    
    du -a
    # 显示当前目录下所有文件所占空间(含隐藏文件)
    
    du -s
    # 显示当前目录总大小
    
    du -h
    # 展示当前目录下所有文件及目录(包含子目录下内容)大小,-h会换算成K、M、G等人类易读结果
    
    du -h *
    # 统计当前目录下,非隐藏文件及目录的大小 
    
    du -h --max-depth=1 [目录]
    # 只显示指定目录下第一层目录的大小
    
    du -h --max-depth=2 [目录]
    # 只显示指定目录第一、二层目录的大小

    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 重复计算硬件链接的文件。

    3.2 文件排序: du + sort + head 常用命令

    du -a /nginx/www | sort -n -r
    #  按照文件大小倒序排序(含隐藏文件)
    du -h /nginx/www | sort -n -r | head -n 10
    # 非隐藏文件,筛选前10,可读方式展现文件大小; 
    # sort -n -r 也可以写作 sort -rn;
    # -n:依照数值的大小排序;
    # -r:以相反的顺序来排序;
    du -h --max-depth=1 /nginx/www | sort -n -r | head -n 10
    # 指定目录第一层,筛选前10,可读方式展现文件大小

    sort参数总结:

    # sort基本参数如下
    
    -n:依照数值的大小排序;
    -r:以相反的顺序来排序;
    -o<输出文件>:将排序后的结果存入制定的文件;
    
    -b:忽略每行前面开始出的空格字符;
    -c:检查文件是否已经按照顺序排序;
    -f:排序时,将小写字母视为大写字母;
    -m:将几个排序号的文件进行合并;
    
    # 以下几个参数与 -n 排序方式互斥
    -i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
    -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
    -M:将前面3个字母依照月份的缩写进行排序;

    3.3 查找文件 find:

    3.3.1 find常用查找命令

    find / -name 'a.txt'
    # 从根目录下开始查找文件wfy.txt
    
    find . -name '*.txt'
    # 当前目录下,查找.txt后缀的文件
    # “.”表示当前目录,"*"表示任意长度字符
    
    find / -type f -size +500M
    # 从根目录开始查找,500M以上文件
    # / :根目录
    # . : 当前目录
    # -type f: f为普通文件类型,f改为d则是目录文件,l则是符号链接文件,-type 还有其他参数,不在这里一一列举
    # -size +500M :500MB以上 
    # 一般磁盘空间不够,删除垃圾文件时会使用到此命令
    
    find . -type f -size +1k
    # 查找当前文件夹下超过1k的文件,注意k是小写。
    
    find . -type f -mtime -30
    # 查找当前目录下30天之内修改过的文件
    # -mtime:代表修改时间,最常用,类似参数有-atime、-ctime
    # -atime:代表访问时间,查看过就算
    # -ctime:文件状态改变时间
    # -30:代表30天以内,30为n,数字自己填写
    # +30:30天以前
    # 30:距今第30天
    
    find /var/log/ -mtime +30 -name '*.log'
    # 查找指定目录/var/log/ 下30天以前的log文件
    
    find /etc ! -type f  
    # 查找 /etc 目录下不是普通文件的 文件
    # "!":感叹号,取反
    
    find /etc ! -type l -mtime -30
    # 查找/etc 目录下不是符号链接文件,并在30天内被修改过的文件
     
    find /etc -maxdepth 1 ! -type l -mtime -30
    # 查找/etc 第一层目录下不是符号链接文件的文件,并在30天内被修改过
    # -maxdepth : 前面du学过,指定目录层级,-maxdepth 1代表第1层,-maxdepth 2代表延伸到第二层

    3.3.2 使用find组合命令:统计与删除

     先用wc -l来统计下log数量

    find / -name '*.log' -mtime +300 | wc -l
    # 从根目录下开始搜索300天之前的log文件,并统计数量
    # “|”:管道符,将前面查到的数据作为输入源给后面的命令

    第一种删除:

    find / -name '*.log' -mtime +300 -exec rm {} ;
    # 查找30天以前的log文件,使用-exec加rm将其删除
    # 再使用上面的命令重新查看一次
    find / -name '*.log' -mtime +300 | wc -l

    第二种删除:

    find / -name '*.log' -mtime +200 -ok rm {} ;
    # -ok : 询问删除,y删除,n不删除,回车默认不删除

    第三种删除方式:xargs

    依次执行查看结果:

    find / -name '*.log' -mtime +100 | wc -l
    
    find / -name '*.log' -mtime +100 | xargs rm -f
    # xargs : 命令传递参数过滤器,与管道符“|”一同使用,将前面的命令传递给后面的命令使用
    
    find / -name '*.log' -mtime +100 | wc -l

    3.3.3 find与xargs的组合使用

    对于50天前的log文件进行详情查看

    find / -name '*.log' -mtime +50 | xargs ls -l
    # 利用xargs + ls -l 命令来进行文件的详细属性查看

     移除50天前的文件

    mkdir /logback
    # 创建根目录下的 /logback文件夹
    
    find / -name '*.log' -mtime +50 | xargs -i mv {} /logback
    # 将50天前的所有log文件移动到 /logback 文件夹下
    # xargs -i + {},将前面查找到的文件都作为参数给mv命令执行
    
    ls -l /logback
    # 查看 /logback 下所有文件详情

    3.3.4 find下xargs与exec的区别

    区别一:
    
    -exec,是将查找到的结果文件名逐个传递给后面的命令执行,文件多会导致效率低;
    
    xargs,则是一次性传递,效率较高,并可使用-n参数控制传递文件个数。
    
    区别二:
    
    -exec,文件名有空格等特殊字符也照常处理;
    
    xargs,处理特殊的文件名(例如文件名有空格)需要采用特殊的处理方式(find . -name "*edu" -pringt0| xargs -0 ls -l)

     区别验证一

    find /logback -name '*.log'  -exec echo taotao {} ;
    
    
    find /logback -name '*.log'  | xargs echo taotao 

    #-exec每次获得一个文件输出一次,xargs则只输出了一行。

    xargs还可以用-n参数控制每次输出的文件个数,不足的行输出剩下的。

    find /logback -name '*.log'  | xargs -n5 echo yaomaomao 

    3.4 字符查找grep

    grep -n '' a.txt
    # 查找wfy.txt文件中含有“不用”的字符行
    # -n 显示行号
    # -i 不区分大小写
    # -v 反向过滤
    # -c 统计匹配行

     grep同时查找多个文件

    grep -n '涛' a.txt b.txt
    # 查询多个文件中包含“不用”字符的文件内容,并显示行号
    # 直接在末尾跟上多个参数

    grep递归查找

    grep -rn '' *
    #注意:这里必须要使用-r,否则将查询不到

    grep查找对应字符前后n行

    grep -A10 '涛涛' a.txt
    # 查看“涛涛”字符行后10行数据
    # -A : after
    grep -B5 '涛涛' a.txt
    # 查看“5你”字符行前5行
    # -B:before
    grep -A1 -B1 '7你' a.txt
    # 查看"涛涛"字符前后各1行数据

    grep组合命令

    history|grep rm
    # 查找历史命令中执行了哪些删除命令
    rpm -qa |grep yum
    # 查询linux下是否有安装过此rpm包
    
    ps -ef|grep java
    # 此命令为一般运维中最常用命令,查询linux进程中是否运行了此程序
    
    pgrep -java
    # 查找java进程,与上面查找功能相同,但是只显示进程号
    
    pgrep -l java
    # 查找java进程,与上面查找功能相同,但是显示进程号及进程名
    
    kill –9 'pgrep java'
    # 批量关闭java进程
    # pgrep:查找正在运行的程序;pgrep是grep的扩展功能,同样的还有egrep、fgrep,用的不多了解下就行  
    # egrep:扩展正则表达式
    # fgrep:不识别正则表达式
    
    ps -ef |grep $ORACLE_SID|grep -v grep|awk '{print $2}' | xargs kill -9
    # 得到所有oracle进程并关闭

    3.5 wc

    wc -l /etc/inittab 
    # 统计文件内容行数
    # -l :统计行数
    # -w :统计单词数
    # -m :统计字符数
    # -c : 统计字节数
    # -L : 打印最长行的长度
    
    # 全部执行下看看
    wc -l /etc/inittab;wc -c /etc/inittab; wc -m /etc/inittab;wc -w /etc/inittab; wc -L /etc/inittab
    
    wc /etc/inittab
    # 不加参数则默认输出行数、单词数、字节数
    # 等同参数为-lwc
    
    # 字节数跟字符数怎么一样的?因为都是英文,我们加个中文字进去看看
    
    sed -i '1a #好' /etc/inittab
    
    wc -lcmwL /etc/inittab
    # 注意:输出内容并不是按照我们敲出的命令行中参数来排序的,它有其固定顺序--> lwmcL
    # 按照lwmcl的顺序排列后,可以看到字节数比字符数多了两位,因为一个#符号1字节,一个英文字符代表2字节,一个中文字符4字节,我们添加了#中,所以是添加了5字节,但是只增加了2字符。

    wc最常用命令一般为组合命令

    ls | wc -l
    # 统计当前文件夹下有多少文件
    
    ls *.txt | wc -l
    #统计当前文件夹下以.txt结尾的有多少文件 find .
    -maxdepth 1 -name '*.txt' | wc -l # 统计当前文件夹、第一层目录下所有的txt文件数量 # 上面两个命令都可以
  • 相关阅读:
    每日记载内容总结33
    华为机试-尼科彻斯定理
    华为机试-求最大连续bit数
    华为机试-合法IP
    华为机试-票数统计
    华为机试-等差数列
    华为机试-自守数
    中序表达式转后序表式式
    华为机考 给你一个N*M的矩阵,每个位置的值是0或1,求一个面积最大的子矩阵,这个矩阵必须是一个正方形,且里面只能由1构成,输出最大的正方形边长。其中n,m<=400;
    华为机试-求解立方根
  • 原文地址:https://www.cnblogs.com/aikutao/p/12108538.html
Copyright © 2020-2023  润新知