zoukankan      html  css  js  c++  java
  • 「功能笔记」Linux常用Shell命令(终端命令)备忘录

    长期更新,空置、缺漏的部分会逐渐补上。未指明时,均为GNU版本。

    文件命令

    基础操作

    ls

    默认显示非隐藏文件、以文件名进行排序、文件名有颜色(蓝色文件夹、白色一般文件、绿色可执行文件)。

    Cheatsheet:

    ls -al ~ # 显示主文件夹下的所有文件(夹);并显示它们的属性与权限。
    ls -alF --color=never ~ # 同上,并不显示颜色,在文件名末显示该文件名代表的类型。/表示文件夹,*表示可执行文件
    ls -al --full-time ~ # 同1,并显示长时间
    ls -si ~ # 显示主文件夹下的所有文件(夹),以及其所在的i-node号码;并排序文件

    cp

    • -i:若目标文件已经存在,覆盖时会询问。
    • -p:复制属性。
    • -d:若文件为link file,复制link file的属性而非源文件本身。
    • -r:递归复制。
    • -a:等价于-pdr
    • -s:复制为symbolic link。
    • -l:复制为hard link。

    Cheatsheet:

    cp -r /home/zuiho/ /tmp # 复制主文件夹下的所有内容到/tmp下面
    cp -s /path/to/file /new/path/to/dir # 复制文件的symbolic link到新文件夹下。

    rm

    如果想要不可逆转的删除,使用shred。

    • -f忽略不存在的文件,不会出现警告信息。
    • -i删除前会询问。
    • -r 递归删除。会删除目录。

    Cheatsheet:

    rm -i /path/to/an/important/file # 会询问。
    rm -r /path/to/a/dir # 不会询问,删除目录。
    rm ./-aspecialfile- # 删除一个带杠的文件。

    mv

    这个命令其实往往用来重命名。Linux内还有一个专门的批量重命名的命令,为rename

    • -f 强制。
    • -i 若存在,会询问。
    • -u “update”,即源文件比目标文件更新时才会覆盖。

    Cheatsheet:

    mv originfile /path/to/dest
    mv of1 of2 of3 /path/to/dest # 最后一个是文件夹,前面的是文件,则可以批量移动。

    其他命令

    • basename 取得文件名
    • dirname 取得目录名

    touch

    最基础的用法是用来创造一个空文件。
    不过,它是用来修改文件时间的。

    • a 修改访问时间。
    • c 仅修改时间,若文件不存在不创建新文件。
    • d 自定义修改的日期。 长命令形式为--date=<DATE>
    • m 修改mtime,即上一次被修改的时间。
    • t 自定义修改的时间,格式为[YYMMDDhhmm]。

    Cheatsheet:

    touch -d "2 days ago" .zshrc
    touch -t "0805121428" .bashrc #修改时间为一个悲伤的时刻。

    file

    查看文件

    cat & tac & nl

    more & less

    head & tail

    od

    权限管理

    umask

    chattr/lsattr

    查找

    which/whereis/locate

    find

    磁盘管理

    管道命令

    xargs

    综合应用示例

    显示系统目前支持的文件系统

    cat /proc/filesystems

    删除文件夹内所有无后缀名可执行文件并删除之

    find . -type f -perm /u+x -regex "./[^/.]*" | xargs rm -f

    (伪)图形化克隆磁盘

    (pv -n /dev/sda | dd of=/dev/sdb bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0

    监控所有被进程ID:1551 所使用的文件

    pv -d 1551

    fork bomb

    # DO NOT TRY IT IN THE PRODUCTION ENVIROUMENT!!!
    :(){ :|:& };:

    有趣的命令

    牛力与否

    apt moo # And you can try it in openSUSE!!!
    zypper moo
  • 相关阅读:
    PHP Socket 编程详解
    PHPWord生成word实现table合并(colspan和rowspan)
    PhpExcel中文帮助手册|PhpExcel使用方法
    js限制input标签中只能输入中文
    如何巧用.htaccess设置网站的压缩与缓存
    Linux xargs命令
    PHP加密解密类
    2014 年10个最佳的PHP图像操作库
    学习swoft的第二天_注解
    学习swoft的第一天
  • 原文地址:https://www.cnblogs.com/samhx/p/linux-shell-reminder.html
Copyright © 2011-2022 走看看