命令后带(Mac)标记的,表示该命令在Mac OSX下测试,其它的在Debian下测试。
- thefuck命令(Mac)
thefuck命令就是用在你想说fuck的时候,它能够自动尝试修复有错误的命令
基本格式 fuck [option]
需要在~/.bashrc中设置eval $(thefuck --alias)
范例一:git brnch后回车再输入fuck
18. tar命令(Mac)
tar命令用于文件的解压或压缩
基本格式 tar [main option] [accessibility options] [filename or dir]
main option 主选项 三者有且只能有一个
-c 创建新的文件,相当于打包
-x 释放文件,相当于拆包
-t 列出档案文件的内容,查看已经备份了哪些文件
accessibility options 辅助选项
-z 是否需要用gzip压缩或解压,一般格式为.tar.gz或者.tgz
-j 是否需要用bzip2压缩或解压,一般格式为.tar.bz2
-v 压缩过程中显示文件
-f 使用文档名
--exclude FILE 压缩过程中不要将File打包</code>
-C dir 切换工作目录,参考:Linux下使用tar命令**
范例一:tar -xzvf mbadolato-iTerm2-Color-Schemes-a646a1d.tar.gz 解压到当前文件夹
范例三:tar -cjvf ./test.bz2 ./mbadolato-iTerm2-Color-Schemes-a646a1d 压缩文件
19. alias命令(Mac)
alias命令用来设定指令的别名,可以使用该命令将较长的命令简化。
基本格式 alias newCmd='originCmd [option]'
范例一:alias或者alias -p显示已经定义的别名,可用unalias命令删除别名
范例二:alias ll='ls -lhaS'可以缩短命令长度,如果要使该alias长期有效,需要写在系统环境变量中。
20. chmod命令(Mac)
chmod命令用于设定文件或目录的权限,可以用数字或符号的方式进行设定,这里推荐用符号的方式
基本格式 chmod [option] [filename|dirname]
-R递归的持续变更
范例一:chmod u-x,g+w,o=rwx function.sh其中u表示文件所有者,g表示组用户,o表示其它用户,a表示所有用户。而-,+,=分别表示删除,增加和设定权限。
参考:命令行的艺术**
- pv命令(Mac)
pv命令可以通过管道来显示数据的处理进度
基本格式 pv [option]
-p 显示百分比
-t 显示时间
-r 传输速率
-e 估计的剩余时间
-n 用数字代替进度条来显示百分比
-L 限制传输速度
范例一:pv ./12怒汉.mkv > ~/Work/Test/angry.mkv 显示拷贝的速度和百分比
22. bc命令(Mac)
bc命令可以用于计算
基本格式 bc [option]
-l 定义数学函数的库,并将初始值scale设定为20
范例一:bc
参考:sort命令** uniq命令通常和sort命令合用,用于检查文本中重复出现的行列,但前提是重复行必须是相邻的。
基本格式 uniq [option] [filename] [outputfilename]
-c 显示该行重复出现的次数
-d 仅仅显示重复出现的行列
-u 仅显示出现一次的行列
范例一:sort sort.txt | uniq -c等命令结果
24. curl命令(Mac)
curl命令是一个非常强大的文件传输工具,利用,利用URL规则它支持文件的上传和下载。curl支持包括HTTP,HTTPS,Ftp等多种协议,同时支持Post,cookies,限速,认证等众多功能。
基本格式 curl [option] [params]
-A 设置用户代理
-c [file] 命令执行结束后将cookie写入到某个文件中
-C [offset] 断点续传
-e 设定来源网址
-s 寂寞模式,不输出任何东西
-S 显示错误
-T [file] 上传文件
-u 设置用户名和密码
-o [filename] 将文件写入到某个文件中
-O 将文件写入到本地文件,保存原始文件名
范例一:curl http://man.linuxde.net/test.iso** -o filename.iso --progress 下载文件并显示进度条
- top和free命令
top命令实际上就是Linux下的“任务管理器”,能够实时的显示系统中各个进程的资源占用状况,默认刷新频率是5秒一次。
基本格式 top [option]
快捷键:
P 根据CPU占用排序
M 根据内存使用大小排序
T 根据时间/累计时间排序
范例一: top 显示效果,前五行显示了启动时间,任务数,cpu,内存和交换分区等信息,之后是更详细的各个进程信息。
26. paste命令(Mac)
paste命令用于将多个文件的内容合并
基本格式 paste [option] [filename]
-s 串行处理而非平行
-d 设定间隔符号
范例:paste -s -d ':' test2 test1
cut命令用于在文件中剪切数据,以每一行为处理对象。
基本格式 cut [option] [filename]
-b 按字节分割,空格算一个字节,汉字三个字节
-c 按字符分割
-f 按域分割
-d 指定域分隔符
范例一: date | cut -b 1-7,9
范例三: date | cut -d " " -f 1-5 testColumn
28. lsof命令
在Linux中,一切都以文件的形式存在,包括常规数据,网络连接和硬件。而lsof(list open files)命令能够列出当前系统打开的文件,通过该命令可以查看进程和文件的占用关系。
基本格式 lsof [option] [filename]
-c 显示进程打开的文件
-p 显示某进程号的进程打开的文件
-i [46][TCP|UDP][@hostname|hostaddr][:service|port] 显示符合条件的进程情况
显示的内容:
COMMAND 进程名称
PID 进程id
USER 进程所有者
FD 文件描述符
DEVICE 指定磁盘的名称
SIZE 文件大小
NODE 索引节点(文件在磁盘的标志)
NAME 打开文件的确切名称(带绝对路径)
范例一:lsof -i:5000 该命令的作用类似于netstat -anp | grep 5000,可以根据端口号,查看是哪个进程占用了5000端口。
范例二:lsof catlina.out 查看tomcat的logs文件中的日志文件被占用情况
有趣的命令
范例一:cal -j 2 2016显示2016年2月份的日历,标注当天为一年中的第几天
范例二:screen在一个窗口中开启多个虚拟链接,适用于在screen的虚拟链接中运行脚本,不用再开新的窗口
screen -S yourname //创建一个名为yourname的虚拟链接jekyll serve //在yourname中启动一个jekyllctrl+a,d //保存并返回screen -ls //查看所有的screenscreen -r yourname //返回该screen
范例三:column命令可以用于格式化文本,但仅仅适用于较为简单的文本
范例四:file命令可以查看对象类型
范例五:xargs命令的作用时将参数分段传输给其它命令,后面加-n1表示每次传入一个参数,-n2表示传入两个参数。
范例六:basename命令可用于去除文件的前缀,只获取文件名。
几个好玩的命令(Mac)
范例一:espeak haliluya 文本转语音命令,颇为有趣。Mac下可用brew安装。
范例二:man ascii 可以方便的显示ascii 表
范例三:time read计时器,按Ctrl+D结束
网友评论