- 17. thefuck命令(Mac)
- 18. tar命令(Mac)
- 19. alias命令(Mac)
- 20. chmod命令(Mac)
- 21. pv命令(Mac)
- 22. bc命令(Mac)
- 23. uniq命令
- 24. curl命令(Mac)
- 25. top和free命令
- 26. paste命令(Mac)
- 27. cut命令(Mac)
- 28. lsof命令
- 有趣的命令
- 几个好玩的命令(Mac)
命令后带(Mac)标记的,表示该命令在Mac OSX下测试,其它的在Debian下测试。
17. 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 -tf mbadolato-iTerm2-Color-Schemes-a646a1d.tar.gz
显示压缩包中的文件目录,如果文件是用gizp压缩的需要加z参数
范例三: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
表示所有用户。而-,+,=
分别表示删除,增加和设定权限。
范例二:chmod a=rwx function.sh
设定所有类型用户的权限
参考:命令行的艺术
21. pv命令(Mac)
pv命令可以通过管道来显示数据的处理进度
基本格式 pv [option]
-p
显示百分比-t
显示时间-r
传输速率-e
估计的剩余时间-n
用数字代替进度条来显示百分比-L
限制传输速度
范例一:pv ./12怒汉.mkv > ~/Work/Test/angry.mkv
显示拷贝的速度和百分比
范例二:echo 'this is a pv test' | pv -L 2
限制传输速度为2Bytes
22. bc命令(Mac)
bc命令可以用于计算
基本格式 bc [option]
-l
定义数学函数的库,并将初始值scale设定为20
范例一:bc
23. uniq命令
参考:sort命令 uniq命令通常和sort命令合用,用于检查文本中重复出现的行列,但前提是重复行必须是相邻的。
基本格式 uniq [option] [filename] [outputfilename]
-c
显示该行重复出现的次数-d
仅仅显示重复出现的行列-u
仅显示出现一次的行列
范例一:sort sort.txt | uniq -c
等命令结果
一个好玩的命令站点:Commandlinefu
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
下载文件并显示进度条
该命令功能较多,今后将进一步补充
25. top和free命令
top命令实际上就是Linux下的“任务管理器”,能够实时的显示系统中各个进程的资源占用状况,默认刷新频率是5秒一次。
基本格式 top [option]
快捷键:
P
根据CPU占用排序M
根据内存使用大小排序T
根据时间/累计时间排序
范例一: top
显示效果,前五行显示了启动时间,任务数,cpu,内存和交换分区等信息,之后是更详细的各个进程信息。
范例二: free -m
如果只想查看内存占用,同样可使用free
命令,一般选择按MB
显示。
26. paste命令(Mac)
paste命令用于将多个文件的内容合并
基本格式 paste [option] [filename]
-s
串行处理而非平行-d
设定间隔符号
范例:paste -s -d ':' test2 test1
27. cut命令(Mac)
cut命令用于在文件中剪切数据,以每一行为处理对象。
基本格式 cut [option] [filename]
-b
按字节分割,空格算一个字节,汉字三个字节-c
按字符分割-f
按域分割-d
指定域分隔符
范例一: date | cut -b 1-7,9
范例二: date | cut -c 1-5
范例三: 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
进程idUSER
进程所有者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中启动一个jekyll
ctrl+a,d //保存并返回
screen -ls //查看所有的screen
screen -r yourname //返回该screen
范例三:column命令可以用于格式化文本,但仅仅适用于较为简单的文本
范例四:file命令可以查看对象类型
范例五:xargs命令的作用时将参数分段传输给其它命令,后面加-n1表示每次传入一个参数,-n2表示传入两个参数。
范例六:basename命令可用于去除文件的前缀,只获取文件名。
几个好玩的命令(Mac)
范例一:espeak haliluya
文本转语音命令,颇为有趣。Mac下可用brew
安装。
范例二:man ascii
可以方便的显示ascii 表
范例三:time read
计时器,按Ctrl+D
结束