任务102 Ubuntu之终端命令行

作者: ryyou | 来源:发表于2016-12-02 11:28 被阅读49次

    1、终端

    提起命令行,首先要想到的是输入命令行的终端。所以先介绍一下最常用的两种终端:
    bashzsh

    bash.png zsh.png

    从这两张图片就能看出一些基础的区别:

    1. bash会显示电脑的名称及型号,而zsh则相对简洁一些
    2. 在使用上来看,zsh相对更好用一些,eg: 在进行目录跳转时,zsh可以利用tab键进行补全,但是bash并不可以,还有在zsh下如果使用git会显示所在的分支,对开发者来说非常方便。

    安装 zsh

    命令行安装

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    

    切换

    $ zsh   //在bash下输入,即跳转至zsh
    $ bash   //在zsh下输入,即跳转至bash
    

    ps:介绍一款更好用的终端工具(guake)
    安装

    $ sudo apt-get update
    $ sudo apt-get install guake
    

    设置guake为默认的终端使用

    $ sudo update-alternatives --config x-terminal-emulator
       //然后输入guake所在的序号
    

    2、 命令行操作

    1. 文件及目录操作
    • cd — 切换目录
    $  cd  /home    //进入home文件夹下
    $  cd    //回到主文件夹下
    $  cd ..   //回到上一层
    
    • mkdir — 创建文件夹
    $ mkdir  demo   //创建一个名字为demo的文件夹
    
    • touch — 创建文件
    $ touch demo.*  //创建一个名字为demo的文件,其中后缀名可以自己填写,如.c 、.txt等等
    
    • cp — 复制
    $ cp  demo1.txt demo   //复制demo1.txt到demo文件夹下
    

    更多关于cp的命令可利用cp --help来查找

    • rm — 移除
    $ rm demo1    //删除文件demo1
    $ rm demo2 -r  // 删除文件夹demo2
    $ rm demo3 -rf  //强制删除文件夹demo3
    
    • pwd — 查看当前所在目录


      pwd.png
    • ls — 查看当前文件夹下所含有有文件及文件夹
     $ ls //显示当前文件夹下的文件及文件夹
     $ ls -a //显示当前文件夹下所有文件(包括隐藏文件)
     $ ls -l //或直接可以用ll来代替该命令,显示每一个文件的属性,通常包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。
    

    执行结果如下图:


    ls.png
    • tar — 打包
     $ tar -cf Demo.tar *.jpg //将所有.jpg的文件打成一个名为Demo.tar的包。-c是表示产生新的包,-f指定包的文件名。
    $ tar -rf Demo.tar *.gif //将所有.gif的文件增加到Demo.tar的包里面去。-r是表示增加文件的意思。
     $ tar -uf Demo.tar logo.gif //更新原来tar包Demo.tar中logo.gif文件,-u是表示更新文件的意思。 
    $ tar -tf Demo.tar //列出Demo.tar包中所有文件,-t是列出文件的意思 
    $ tar -xf Demo.tar //解出Demo.tar包中所有文件,-x是解开的意思
    
    • zip — 压缩
    $ zip -r demo.zip 1.c 2.c 3.c //创建一个demo.zip并将1.c、2.c、3.c三个文件添加到demo.zip中
    $ unzip demo.zip //解压demo.zip
    $ unzip *.zip // 解压所有以.zip结尾的压缩包
    $ unzip -v demo.zip  //当我不想解压,只想看压缩包中有什么时,执行这条命令
    
    • find — 查找
    $ find [目录名] -name  "*.c" //在该目录下找到所有以.c结尾的文件
    $ find [目录名] -perm   //按照文件权限来查找文件
    $ find [目录名] -user    //按照文件属主来查找文件 
    
    • grep
      grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户
    • less 和 more — 查看文件内容
    $ less demo.c
    $ more  demo.c
    

    less和more的区别:

    more只能向后查看文件,且会显示百分比
    less可以上下翻看

    • tail
    $ tail -n number 文件名   //查看文件倒数第number行内容
    $ tail -n +number 文件名  //从第number行开始查看文件内容
    $ tail -f  文件名  //循环查看文件内容
    
    1. 帐号相关操作
    • su — 切换进root权限
    • sudo — 切换为管理员
    • woami — 查看当前用户
    • passwd — 修改当前用户的密码
    1. 包管理 — 相关操作

    apt-cache search package 搜索软件包
    apt-cache show package 获取包的相关信息,如说明、大小、版本等
    sudo apt-get install package 安装包
    sudo apt-get install package --reinstall 重新安装包
    sudo apt-get -f install 修复安装
    sudo apt-get remove package 删除包
    sudo apt-get remove package --purge 删除包,包括配置文件等
    sudo apt-get update 更新源
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    apt-cache depends package 了解使用该包依赖那些包
    apt-cache rdepends package 查看该包被哪些包依赖
    sudo apt-get build-dep package 安装相关的编译环境
    apt-get source package 下载该包的源代码
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get check 检查是否有损坏的依赖

    1. 进程相关
    • **ps **
    $ ps  
    
    ps结果显示.png
    结果显示为四列:这些信息在显示时未排序
    PID: 运行着的命令(CMD)的进程编号
    TTY: 命令所运行的位置(终端)
    TIME: 运行着的该命令所占用的CPU处理时间
    CMD: 该进程所运行的命令
    $ ps -ax  //显示所有当前进程
    $ ps -u you  //根据用户过滤进程
    $ ps -aux --sort -pcpu | less  //根据 CPU 使用来升序排序
    $ ps -aux --sort -pmem | less  //根据 内存使用 来升序排序
    $ ps -C 进程名   // 通过进程名和PID过滤
    
    • kill — 杀死进程
    $ kill -l   //列出信号名称
    $ kill 进程号   //杀死该进程
    $ kill -9 进程号  //彻底杀死该进程
    
    1. 系统信息相关
    • top
    $ top -h  //help显示帮助
    $ top -v  //version显示版本
    $ top -u you //显示指定用户的进程
    $ top -p  进程名 //显示指定进程
    $ top -n  //number进入top后,top会定时刷新状态,这个值就是设置刷新几次
    $ top -d  //delay进入top后,top会定时刷新状态,这个值就是设置几秒刷新一次
    $ top -b  //Batch mode,top刷新状态默认是在原数据上刷新,使用这个参数后,会一屏一屏的显示数据。结合重定向功能和计划任务,这个参数在记录服务器运行状态时非常有用。
    
    • df
    $ df -a //显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统
    $ df -k //以k字节为单位显示
    $ df -i //显示i节点信息,而不是磁盘块
    $ df -t //显示各指定类型的文件系统的磁盘空间使用情况
    $ df -x //列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)
    $ df -T //显示文件系统类型 
    
    • uname — 显示当前操作系统名称
    $ uname   //显示操作系统名称
    $ uname  -a  //显示指定的所有信息
    
    uname.png
    1. 网络相关
    • ping — 用来测试与目标主机的联通性
    • telnet — 通常用来远程登录
    • curl — 是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具
    • netstat — 用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等
    • 修改hosts请看 host翻墙

    相关工具与资源

    相关文章

      网友评论

      • 谭雅翔:其实bash或者zsh的前缀都是可以设置的
        ryyou:@谭雅翔 这个可以尝试一下,以前一直是使用的默认的 :smiley:

      本文标题:任务102 Ubuntu之终端命令行

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