shell-终端常用命令记录

  • 时间
date 显示系统的当前日期和时间
cal  显示日历 cal 8 1996
time 统计程序的执行时间
  • ls
-w 显示中文,-l 详细信息, -a 包括隐藏文件
  • mv移动文件
  • nano和vim都是文本编辑
  • pwd当前目录详情
  • 文件夹操作
mkdir 创建一个目录 mkdir dirname
rmdir 删除一个目录 rmdir dirname
mvdir 移动或重命名一个目录 mvdir dir1 dir2
  • rm删除文件 rmdir删除空文件夹 rm -r 删除非空文件夹(文件夹内的文件也将被删除)
$ rm 文件名
$ rmdir 空文件夹名
$ rm -r 非空文件夹名
  • ls和tree的区别
houjianan:Shell集> ls
001打印            004参数传递        ex002
002执行脚本        005运算符        ex003
003变量            ex001猜数字游戏        macSystem
houjianan:Shell集> tree
.
├── 001?\211\223?\215?
├── 002?\211??\214?\204\232?\234?
├── 003?\217\230?\207\217
├── 004?\217\202?\225?传?\200\222
├── 005?\220?\227符
├── ex001?\214\234?\225??\227游?\210\217
├── ex002
├── ex003
└── macSystem
0 directories, 9 files
houjianan:Shell集> 
  • cp和cp -r
cp 复制文件
cp -r 复制文件夹
Eg:
    cp test testCopy
    cp -r a aCopy
  • ln和ln -s
ln 创建硬连接 (复制一个,并且同步更新)
ln -s 创建软连接 (创建替身)
Eg:
    ln test testLink 
    ln -s test testLinks
  • cp和ln的区别:link和copy 不同之处是后者是同步更新,前者则不然,复制之后两者不再相关
  • echo > 和 echo >>
echo "2" > test     # 将引号的内容写入、并创建test文件(如果test存在将被覆盖)
echo "2" >> test    # 将引号的内容追加到test文件中 (如果test文件不存在,将创建一个)
  • 执行读一个文件(test文件)
while read LINE; do echo $LINE; done < test
  • read
read命令 -p -n -t -s
-p: 提示文案。
-n: 后面接数字(不需要空格) 一共可以输入多少个字符。
-t: 后面接数字(需要空格)等待时间,到时间没输入跳出。
-s: 输入的内容不显示出来。输入密码。
eg:
if read -n1 -s -t 10 -p "input name:" name
then 
    echo $name 
else
    echo "赶紧输入name"
fi
  • 压缩/解压缩
#压缩生成test.tar文件 test文件保留
tar -cf test.tar test  
#解压缩test.tar文件 
tar -xf test.tar

#压缩生成test.gz文件 test消失
gzip -9 test
#解压缩生成test文件 test.gz消失
gunzip test

#压缩生成test.bz2文件 test消失
 bzip2 test
#解压缩生成test文件 test.bz2消失
bunzip2 test.bz2 

#压缩生成test.tar.bz2文件 test文件保留
tar -jcf test.tar.bz2 test
#解压缩test.tar.bz2文件 
tar -jxf test.tar.bz2 
  • 其他命令
uname 显示操作系统的有关信息 uname -a
clear 清除屏幕或窗口内容 clear
env 显示当前所有设置过的环境变量 env
who 列出当前登录的所有用户 who
whoami 显示当前正进行操作的用户名 whoami
tty 显示终端或伪终端的名称 tty
stty 显示或重置控制键定义 stty -a
du 查询磁盘使用情况 du -k subdir
df /tmp 显示文件系统的总空间和可用空间
w 显示当前系统活动的总信息
  • 截屏相关 screencapture
screencapture 命令可以截图。和cmd + shift + 3 或 cmd + shift + 4 热键相似。
抓取包含鼠标光标的全屏幕,并以 image.png 插入到新邮件的附件中: 
$ screencapture -C -M image.png
用鼠标选择抓取窗口(及阴影)并复制到剪贴板:
$ screencapture -c -W
延时10秒后抓屏,并在Preview中打开之:
$ screencapture -T 10 -P image.png
用鼠标截取一个矩形区域,抓取后存为pdf文件:
$ screencapture -s -t pdf image.pdf
更多用法请参阅 screencapture --help 
  • say
say 是一个文本转语音(TTS)的有趣的工具,引擎和OS X使用的一样也是VoiceOver。如果不加其他选项,则会简单的语音朗读你给定的字符串: 
$ say "Never trust a computer you can't lift."
用 -f 选项朗读特定文本文件,-o 选项将朗读结果存为音频文件而不是播放: 
$ say -f mynovel.txt -o myaudiobook.aiff

say 命令可以用于在脚本中播放警告或提示。例如你可以设置Automator或Hazel脚本处理文件,并在任务完成时用 say 命令语音提示。

你可能感兴趣的:(shell-终端常用命令记录)