长期更新,空置、缺漏的部分会逐渐补上。未指明时,均为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. 将一个文件中的内容,在另一个文件中生成. for line in f1, \n f2.write(line)

    将一个文件中的内容,在另一个文件中生成. 核心语句: for line in f1: f1中的所有一行 f2.write(line)                                  ...

  2. APP案例分析-摩拜单车app

    第二次作业-App案例分析 本次案例分析选用的是 摩拜单车IOS5.7.5版本 测试环境为 IPhone 6s (IOS11.0.1,含有3DTOUCH功能).本次案例分析仅针对APP 而言,并不涉及 ...

  3. postGresql关键字字段重名

    在postGresql中如果关键字和自定义的字段重名 即使使用[  ](中括号)或者 ' '(单引号)都没有用,经本人实验. 如果使用" "(双引号),则可以.

  4. nodejs11安装教程(升级最新版本)

    nodejs需要不断升级,那么电脑如何安装nodejs11呢,下面将通过亲身实践来详细介绍   工具/原料   电脑 nodejs11安装包 方法/步骤     访问node11官网,下载安装包,如下 ...

  5. 1015. [JSOI2008]星球大战【并查集】

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  6. HBase学习之路 (九)HBase phoenix的使用

    HBase phoenix的下载 下载地址http://mirror.bit.edu.cn/apache/phoenix/ 选择对应的hbase版本进行下载,测试使用的是hbase-1.2.6版本

  7. linux下ab网站压力测试命令

    http://domain:代表压测域名.   get方法压测:        1)一般get方法压测简单,直接后缀url就ok了,参数直接挂在url后面的?a=1&b=2,         ...

  8. Centos7安装elasticsearch、logstash、kibana、elasticsearch head

    环境:Centos7, jdk1.8 安装logstash 1.下载logstash 地址:https://artifacts.elastic.co/downloads/logstash/logsta ...

  9. 解决MAC下修改系统文件没权限的问题

    问题 用brew在mac上可以轻松的管理软件, 不过最新的mac系统升级后, brew执行update命令时会报权限不足的错误, 而且会提示执行命令sudo chown -R $(whoami) /u ...

  10. Golang并行判断素数

    ## Golang多核判断素数方式 package main import ( "bufio" "fmt" "os" "runti ...