美文网首页
shell-终端常用命令记录

shell-终端常用命令记录

作者: GA_ | 来源:发表于2019-07-30 18:22 被阅读0次
    • 时间
    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-终端常用命令记录

          本文链接:https://www.haomeiwen.com/subject/cgcorctx.html