长期更新,空置、缺漏的部分会逐渐补上。未指明时,均为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

「功能笔记」Linux常用Shell命令(终端命令)备忘录的更多相关文章

  1. 「功能笔记」性能分析工具gprof使用笔记

    根据网上信息整理所成. 功能与优劣 gprof实际上只是一个用于读取profile结果文件的工具.gprof采用混合方法来收集程序的统计信息,它使用检测方法,在编译过程中在函数入口处插入计数器用于收集 ...

  2. 「功能笔记」Spacemacs+Evil备忘录

    设置代理 (setq url-gateway-method 'socks) (setq socks-server '("Default server" "127.0.0. ...

  3. [转帖]「日常小记」linux中强大且常用命令:find、grep

    「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...

  4. Linux常用Shell脚本珍藏【转载】

    我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...

  5. 「学习笔记」字符串基础:Hash,KMP与Trie

    「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...

  6. 「学习笔记」Treap

    「学习笔记」Treap 前言 什么是 Treap ? 二叉搜索树 (Binary Search Tree/Binary Sort Tree/BST) 基础定义 查找元素 插入元素 删除元素 查找后继 ...

  7. 「学习笔记」Min25筛

    「学习笔记」Min25筛 前言 周指导今天模拟赛五分钟秒第一题,十分钟说第二题是 \(\text{Min25}​\) 筛板子题,要不是第三题出题人数据范围给错了,周指导十五分钟就 \(\text{AK ...

  8. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  9. 「学习笔记」FFT 快速傅里叶变换

    目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ...

随机推荐

  1. docker 部署django项目(nginx + uwsgi +mysql)

    最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...

  2. 给 Virtualbox 中 Ubuntu 系统设置静态 IP

    虚拟机网络选择 桥接网卡 模式. 主要涉及两个步骤: 1. 修改 /etc/network/interfaces 文件: 2. 修改 dns : 第一步,修改 interfaces 文件: sudo ...

  3. BZOJ1434:[ZJOI2009]染色游戏(博弈论)

    Description 一共n×m个硬币,摆成n×m的长方形.dongdong和xixi玩一个游戏,每次可以选择一个连通块,并把其中的硬币全部翻转,但是需要满足存在一个硬币属于这个连通块并且所有其他硬 ...

  4. 20155314 2016-2017-2 《Java程序设计》第3周学习总结

    20155314 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封 ...

  5. Docker删除/停止容器

    应用场景:某个相关的业务需要重启,容器太多了,一个一个通过命令行来关闭太麻烦了,直接一条命令直接搞定. 命令如下: $ docker ps // 查看所有正在运行容器 $ docker stop co ...

  6. NSPredicate的使用

    简述 NSPredicate谓词条件过滤器,一般用于过滤数组数据,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 常用函数 创建谓词 + (NSPredicate *)predic ...

  7. 多线程之并发容器ConcurrentHashMap

    这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步 ...

  8. R函数-时间序列ETS参数说明

    alpha\beta\gamma分别代表水平.趋势.季节分量的平滑参数α.β.γ.这三个参数我们希望接近于0,以便于更平滑,即越小越平滑.在乘法模型的情况下,参数需要非常低,否则模型会对噪声太敏感. ...

  9. PAT乙级1009

    1009 说反话 (20 分)   给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干 ...

  10. Debian 8 时间同步

    每天执行一次 sudo ntpdate ntp.ubuntu.com 逐渐觉得麻烦了,有没有自动执行的方法? 在Linux中用户可以执行例行性的工作,使用crontab这个命令. 步骤: 1.在终端中 ...