Linux命令大全 Part Two

Mar 21, 2016


命令后带(Mac)标记的,表示该命令在Mac OSX下测试,其它的在Debian下测试。

17. thefuck命令(Mac)

thefuck命令就是用在你想说fuck的时候,它能够自动尝试修复有错误的命令

基本格式 fuck [option]

需要在~/.bashrc中设置eval $(thefuck --alias)

范例一:git brnch后回车再输入fuck

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_xzvf

范例二:tar -tf mbadolato-iTerm2-Color-Schemes-a646a1d.tar.gz 显示压缩包中的文件目录,如果文件是用gizp压缩的需要加z参数

tar_tf

范例三:tar -cjvf ./test.bz2 ./mbadolato-iTerm2-Color-Schemes-a646a1d 压缩文件

tar_jcvf


19. alias命令(Mac)

alias命令用来设定指令的别名,可以使用该命令将较长的命令简化。

基本格式 alias newCmd='originCmd [option]'

范例一:alias或者alias -p显示已经定义的别名,可用unalias命令删除别名

alias

范例二:alias ll='ls -lhaS'可以缩短命令长度,如果要使该alias长期有效,需要写在系统环境变量中。

alias_ll


20. chmod命令(Mac)

chmod命令用于设定文件或目录的权限,可以用数字或符号的方式进行设定,这里推荐用符号的方式

基本格式 chmod [option] [filename|dirname]

  • -R递归的持续变更

范例一:chmod u-x,g+w,o=rwx function.sh其中u表示文件所有者,g表示组用户,o表示其它用户,a表示所有用户。而-,+,=分别表示删除,增加和设定权限。

chmod_ugo

范例二:chmod a=rwx function.sh设定所有类型用户的权限

chmod_a

参考:命令行的艺术


21. pv命令(Mac)

pv命令可以通过管道来显示数据的处理进度

基本格式 pv [option]

  • -p 显示百分比
  • -t 显示时间
  • -r 传输速率
  • -e 估计的剩余时间
  • -n 用数字代替进度条来显示百分比
  • -L 限制传输速度

范例一:pv ./12怒汉.mkv > ~/Work/Test/angry.mkv 显示拷贝的速度和百分比

pv

范例二:echo 'this is a pv test' | pv -L 2 限制传输速度为2Bytes

pv_L


22. bc命令(Mac)

bc命令可以用于计算

基本格式 bc [option]

  • -l 定义数学函数的库,并将初始值scale设定为20

范例一:bc

bc


23. uniq命令

参考:sort命令 uniq命令通常和sort命令合用,用于检查文本中重复出现的行列,但前提是重复行必须是相邻的。

基本格式 uniq [option] [filename] [outputfilename]

  • -c 显示该行重复出现的次数
  • -d 仅仅显示重复出现的行列
  • -u 仅显示出现一次的行列

范例一:sort sort.txt | uniq -c等命令结果

uniq

一个好玩的命令站点:Commandlinefu

command


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 下载文件并显示进度条

curl_o

该命令功能较多,今后将进一步补充


25. top和free命令

top命令实际上就是Linux下的“任务管理器”,能够实时的显示系统中各个进程的资源占用状况,默认刷新频率是5秒一次。

基本格式 top [option]

快捷键:

  • P 根据CPU占用排序
  • M 根据内存使用大小排序
  • T 根据时间/累计时间排序

范例一: top 显示效果,前五行显示了启动时间,任务数,cpu,内存和交换分区等信息,之后是更详细的各个进程信息。

top

范例二: free -m 如果只想查看内存占用,同样可使用free命令,一般选择按MB显示。

free


26. paste命令(Mac)

paste命令用于将多个文件的内容合并

基本格式 paste [option] [filename]

  • -s 串行处理而非平行
  • -d 设定间隔符号

范例:paste -s -d ':' test2 test1

paste


27. cut命令(Mac)

cut命令用于在文件中剪切数据,以每一行为处理对象。

基本格式 cut [option] [filename]

  • -b 按字节分割,空格算一个字节,汉字三个字节
  • -c 按字符分割
  • -f 按域分割
  • -d 指定域分隔符

范例一: date | cut -b 1-7,9

cut_b

范例二: date | cut -c 1-5

cut_c

范例三: date | cut -d " " -f 1-5 testColumn

cut_f


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 -i port

范例二:lsof catlina.out 查看tomcat的logs文件中的日志文件被占用情况

lsof file

有趣的命令

范例一:cal -j 2 2016
显示2016年2月份的日历,标注当天为一年中的第几天

cal

范例二:screen在一个窗口中开启多个虚拟链接,适用于在screen的虚拟链接中运行脚本,不用再开新的窗口

screen -S yourname //创建一个名为yourname的虚拟链接
jekyll serve //在yourname中启动一个jekyll
ctrl+a,d //保存并返回
screen -ls //查看所有的screen
screen -r yourname //返回该screen

screen

范例三:column命令可以用于格式化文本,但仅仅适用于较为简单的文本

column

范例四:file命令可以查看对象类型

file

范例五:xargs命令的作用时将参数分段传输给其它命令,后面加-n1表示每次传入一个参数,-n2表示传入两个参数。

xargs

范例六:basename命令可用于去除文件的前缀,只获取文件名。

basename


几个好玩的命令(Mac)

范例一:espeak haliluya 文本转语音命令,颇为有趣。Mac下可用brew安装。

范例二:man ascii 可以方便的显示ascii 表

ascii

范例三:time read计时器,按Ctrl+D结束

time


上一篇博客:胡思乱想
下一篇博客:Spring学习