zoukankan      html  css  js  c++  java
  • [linux] Shell常用命令

    1 基础知识

    1.1 基本概念

    • 挂载 Mount:将硬盘存储空间指向操作系统目录的操作,通过该目录即可访问存储空间
    • 内建命令 / 外建命令:Shell的一部分,运行即加载,不需创建子进程,执行速度快 / 实用程序命令,需要时调用,速度较
    • 程序 Program / 进程 Process / 线程 thread:进程(动态)是程序(静态)的一次活动;进程 / 线程的关系相当于:工厂里的车间 / 车间里的工人。每个CPU同一时刻只有一个进程在进行,一个进程可以由CPU调度、分配到多个线程执行,线程间共享进程的所有资源
    • 变量的作用域:即变量的有效范围(比如一个函数中、一个源文件中或者全局范围),在该范围内只能有一个同名变量。一旦离开则该变量无效。
    • 环境变量:环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。环境变量PATH中保存了linux命令对应的可执行文件的路径。
    • Shell:UNIX/Linux 操作系统下用户交互的界面(Ubuntu下为GNOME),同时也是控制系统的脚本语言(Ubuntu 下为 bash)。
    • 标准输出 stdout:程序在默认情况下输出结果,通常指向显示器。
    • 输出重定向:把程序的输出转移到另一个地方的操作。
    • 管道:将前面每一个进程的输出直接作为下一个进程的输入。通常用于进程间的通信(也可通过socket进行网络通信)。

    1.2 常用缩写

    • FHS(Filesystem Hirearchy Standard) 文件系统层次结构标准
    • APT(Advanced Package Tool)高级软件包工具RE(Regular Expression)正则表达式PCRE(Perl Compatible Regular Expression)Prel语言兼容正则表达式

    1.3 常用命令速查

    • cat:查看文本内容
    • cd:切换目录
    • mkdir:创建目录
    • cp:复制文件到指定目录
    • dir:列出目录内容
    • export:将自定义变量导出为环境变量
    • file:文件类型
    • find:在指定范围内查找文件
    • grep:查找文件内容
    • join:合并(相同字段)
    • less:阅读文本摘要
    • ls:查看文件
    • man:帮助文件
    • mv:移动文件
    • rm:删除
    • sort:排序
    • touch:创建文件
    • tr:删除
    • paste:合并
    • pwd:当前目录

    1.4 快捷键

    • ctrl+c:中止命令
    • ctrl+d:退出终端
    • ctrl+a:移动光标到行头
    • ctrl+e:移动光标到行末
    • ctrl+k:删除从光标位置到行末
    • Tab:补全命令/文件路经

    2 命令实现

    2.1 用户

    # 创建新用户lilei
    $ sudo adduser lilei

    # 切换登陆
    $ su -l lilei

    # 查看用户所在用户组
    $ groups lilei

    # 退出登陆(或ctrl+D)
    $ exit

    # 删除用户
    $ sudo deluser lile

    2.2 文件

    # 更新与安装
    $ sudo apt-get update $ sudo apt-get install tree

    # 绝对路径与相对路径
    $ cd /usr/local/bin
    $ cd ../../usr/local/bin

    # 上级目录
    $ cd ..

    # 查看硬盘使用情况
    $ df -h

    # 为文件添加内容
    $ echo "echo \"

    # 在当前文件夹中查找包含“ay”字符串的文件
    $ ls | grep ay

    # 在文件day中查找包含un的行
    $ grep un day

    # 创建压缩文件
    $ zip -r -q -o homework.zip /home/homework


    # 删除“hello world”中的“o”
    $ echo 'hello world' | tr -d 'o'

    # 将“hello”中的ll,去重为一个l
    $ echo 'hello' | tr -s 'l'

    #将输入文本转换成大写
    $ echo 'hello world' | tr '[:upper:]'

    # 查看大小
    $ du -h homework.zip
    # 解压缩文件
    $ unzip homework.zip
    $ unzip -O GBK 中文压缩文件.zip

    # 下载文件
    $ wget http://...

    # 获取帮助
    $ man pwd

    # 查看文件所有权
    $ ls -l homework

    # 修改所有权(属主xiaoming,属组classmate)
    $ sudo chown xiaoming:classmate homework

    #改变文件权限(增加属主对文件的执行权限)
    $ chomd u+x homework

    2.3 变量

    # 创建变量
    $ declare tmp

    # 读取变量的值(注意变量前加"$")
    $ echo $tmp

    参考

    别出心裁的linux命令学习法

    https://www.cnblogs.com/rocedu/p/4902411.html

    cat 命令使用方法

    https://www.cnblogs.com/xuxiuxiu/p/6945424.html

    tldr

    https://blog.csdn.net/tcliuwenwen/article/details/109548043

    https://www.cnblogs.com/zi-wang/p/12334862.html

    echo

    https://www.zsythink.net/archives/96

    重定向

    https://blog.csdn.net/qq_32224047/article/details/107345350

    https://www.runoob.com/linux/linux-shell-io-redirections.html

  • 相关阅读:
    Custom Roles Based Access Control (RBAC) in ASP.NET MVC Applications
    How To Display Variable Value In View?
    How do negative margins in CSS work and why is (margin-top:-5 != margin-bottom:5)?
    Async/Await FAQ (Stephen Toub)
    Async and Await (Stephen Cleary)
    Change Assembly Version in a compiled .NET assembly
    C# Under the Hood: async/await (Marko Papic)
    Bootstrap form-group and form-control
    Infralution.Localization.Wpf
    cocos2d-x 图形绘制
  • 原文地址:https://www.cnblogs.com/cxc1357/p/8999574.html
Copyright © 2011-2022 走看看