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

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/cxc1357/p/8999574.html
Copyright © 2011-2022 走看看