命令的语法通用格式:

------------------------------------------------

  #COMMAND OPTIONS ARGUMENTS

    发起命令:请求内核将某个二进制程序运行为一个进程:

      程序 --》 进程

      静态 --》 动态(有生命周期)

    命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件:

      多数系统程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

        普通命令:/bin, /usr/bin, /usr/local/bin

        管理命令:/sbin, /usr/sbin, /usr/local/sbin

      共享库:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

        32bit的库:/lib, /usr/lib, /usr/local/lib

        64bit的库:/lib64, /usr/lib64, /usr/local/lib64

      注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件

    命令必须遵循特定格式规范:exe, msi, ELF(Linux)

命令分为两类:

  由shell程序的自带命令:内置命令(builtin)

  独立的可执行程序文件,文件名即命令名:外部命令

shell程序是独特的程序,负责解析用户提供的命令:

  环境变量:

    PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件:

      ~]# echo $PATH
      /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

      查找次序:自左而右

查看命令类型:

  tpye COMMAND

OPTIONS:

  指定命令的运行特性:

  选项有两种表现形式:

    短选项:-C, 例如-l, -d

      注意:有些命令的选项没有-;

      如果同一命令同事使用多个短选项,多数可合并:-l -d = -ld

    长选项:--word, 例如--help, --human-readable

      注意:长选项不能合并;

    注意:有些选项可以带参数,此成为选项参数;

ARGUMENTS:

  命令的作用对象:命令对什么生效;

  注意:不同的命令的参数;有些命令可同事带多个参数,多个之间以空白字符分隔;

例如:ls -ld /var /etc

常用命令:

  pwd:printing working directory

    显示工作目录

  cd: change directory

    cd [/PATH/TO/SOMEDIR]

      cd:切换回家目录

        注意:bash中,~表示家目录;

      cd ~:切换回自己的家目录

      cd ~USERNAME:切换至指定用户的家目录;

      cd -:在上一次所在目录与当前目录之间来回切换;

        相关的环境变量:

          $PWD:当前工作目录

          $OLDPWD:上一次的工作目录

  ls:list,列出指定目录下的内容

    ls [OPTION]... [FILE]...

      -a: 显示所有文件,包括隐藏文件;

      -A;显示除了.和..之外;

      -l:--long,长格式列表,即显示文件的详细信息:

        -rw-r--r--. 1 root root 1757 Nov  8 16:40 /var/log/boot.log

        -:文件类型,-, d, b, c, l, s, p

        -rw-r--r--

          rw-:文件属主的权限;

          r--:文件的属主的权限;

          r--:其他用户(非属主、属组)的权限;

        1:数字表示文件被硬链接的次数;

        root:文件的属主;

        root:文件的属组;

        1757:数字表示文件的大小,单位是字节;

        Nov  8 16:40:文件最近一次被修改的时间;

        /var/log/boot.log:文件名

      -h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值

      -d:查看目录自身而非其内部的文件列表;

      -r:reverse,逆序显示;

      -R:recurseve,递归显示;

  cat:concatenate

    文本文件查看工具;

    cat [OPTION]... [FILE]...

      -n:给显示的文本编号;

      -E:显示行结束符$;

  tac:(与cat的显示相反)

    文本文件查看工具;

    cat [OPTION]... [FILE]...

      -n:给显示的文本编号;

      -E:显示行结束符$;

  file:查看文件内容类型:

    file [FILE] ...

  echo:回显

    echo [SHORT-OPTION]... [STRING]...

      -n:不进行换行;

      -e:让转义符生效;

        \n:换行

        \t:制表符

      STRING可以使用引号,单引号和双引号均可引用;

        单引号:强引用,变量引用不执行替换;

          ~]# echo '$SHELL'

        双引号:弱引用,变量引用会被替换;

          ~]# echo “$SHELL”

    注意:变量引用的正规符号

      ${name}

  关机或重启命令:shutdown

    shutdown [OPTION]...  TIME [MESSAGE]

      OPTIONS:

        -h:halt

        -r:reboot

        -c:cancel

      TIME:

        now

        hh:mm

        +m

          +0=now

      MESSAGE=wall “message”

  日期相关的命令:

    Linux:系统启动时从硬件读取日期和时间信息:读取完成以后,就不再与硬件关联;

      系统时钟

      硬件时钟

    date:系统时钟

      显示系统日期时间:date [OPTION]... [+FORMAT]

        FORMAT:格式符

          %F

          %T

          %Y

          %m

          %d

          %H

          %M

          %S

          %s:从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻的秒数;

          ...

      设定系统日期时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

        

    clock/hwclock:硬件时钟

      显示或设定硬件时钟

        -s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;

        -w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;

    cal:日历

      cal [[month] year]

    

    type COMMAND:

      内部:builtin

      外部:显示为命令文件路径;

        注意:命令可以有别名;别名可以与原名相同,此时原名被隐藏;此时如果要运行原命令,则使用\COMMAND;

    alias:命令别名

      获取所有可用别名的定义:

        ~]# alias

      定义别名:

        ~]# alias NAME=‘COMMAND’

        注意:仅对当前shell进程有效

      撤销别名:

        ~]# unalias NAME

    which:显示命令完整路径

      which [options] [--] programname [...]

        --skip-alias:忽略别名

    whereis:

      locate the binary, source, and manual page files for a command

      whereis [options] [-BMS directory... -f] name...

        -b:仅搜索二进制程序路径;

        -m:仅搜索使用手册文件路径;

    who:

      show who is logged on

      who [OPTION]... [ FILE | ARG1 ARG2 ]

        -b:系统此次启动的时间;

        -d:显示死亡的进程

        -l:显示系统登录进程

        -u:显示谁登录

        -r:运行级别

    

    w:

      Show who is logged on and what they are doing

      w [options] user [...]

目录管理类命令:

  mkdir, rmdir

  mkdir:make directories

    mkdir [OPTION]... DIRECTORY...

      -p:自动按需创建父目录;

      -v:verbose,显示详细过程;

      -m MODE:直接给定权限;

      注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;

  rmdir:remove empty directories

    rmdir [OPTION]... DIRECTORY...

      -p:删除某目录后,如果其父目录为空,则一并删除;

      -v:显示过程

  tree:

    tree [options] [directory]

      -L level:指定要显示的层级;

    

【Linux】【Commands】基础概念及常用基础命令的更多相关文章

  1. [基础学习]MySQL常用语句命令总结

    前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽 ...

  2. 『与善仁』Appium基础 — 4、常用ADB命令(一)

    目录 1.启动和关闭ADB服务 2.查看ADB版本 3.指定adb server的网络端口 4.查询已连接设备/模拟器 5.获取安卓系统版本 6.为命令指定目标设备 7.发送文件到手机 8.从手机拉取 ...

  3. Linux文件和目录管理常用重要命令

    一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝 ...

  4. 『与善仁』Appium基础 — 5、常用ADB命令(二)

    目录 9.查看手机运行日志 (1)Android 日志 (2)按级别过滤日志 (3)按 tag 和级别过滤日志 (4)日志格式 (5)清空日志 10.获取APP的包名和启动名 方式一: 方式二: 11 ...

  5. Linux系列(18) - 常用压缩命令(1)

    常用压缩格式 .zip .gz .bz2 .zip格式压缩/解压缩 命令格式 压缩 zip [压缩文件名] [源文件]:压缩文件 zip -r [压缩文件名] [源目录]:压缩目录 解压缩 unzip ...

  6. Linux Web服务器网站故障分析常用的命令

    系统连接状态篇: 1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ { ...

  7. Linux系列(19) - 常用压缩命令(2)

    常用压缩格式 .tar.gz .tar.bz2 上述两个原理:先用tar进行打包,打完包再用gz或者bz2进行压缩 打包命令tar 命令格式 tar -cvf [打包文件名] [源文件1] [源文件2 ...

  8. linux下svn版本控制的常用命令大全

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:s ...

  9. 通信技术:SSE设计方案(一)--- 前端Server-Sent Events概念讲解和基础类库完善发布

    好了,开篇还是要扯扯的,否则感觉这个技术讲的么有那么冻人,嗯,这个晚上是有点冷了,秋衣秋裤大家都该加起来了,反正我不帮你买,妹子除外,嘻嘻. 之前几篇博客,研究前端通信技术的第一层ajax技术,从最基 ...

随机推荐

  1. node 中第三方模块的加载过程原理

    node 中第三方模块的加载过程原理 凡是第三方模块都必须通过 npm 来下载 使用的时候就可以通过require('包名') 的方式来进行加载才可以使用 不可能有任何一个第三方包和核心模块的名字是一 ...

  2. 使用 SSL 加密的 JDBC 连接 SAP HANA 数据库

    近期客户为满足安全要求,提了让业务应用使用 SSL 方式连接 SAP HANA 数据库的需求.本人查询 SAP官方文档 发现数据库支持 SSL 连接,有参数直接加到 JDBC 的 URL 后边就行了, ...

  3. 一个疏忽损失惨重!就因为把int改成Integer,第2天被辞了

    1 故事背景 一个程序员就因为改了生产环境上的一个方法参数,把int型改成了Integer类型,因为涉及到钱,结果上线之后公司损失惨重,程序员被辞退了.信不信继续往下看.先来看一段代码: public ...

  4. 【数据结构&算法】12-线索二叉树

    目录 前言 线索二叉树的概念 线索二叉树的实现 线索二叉树的寻点思路二 类双向链表参考图 参考代码 中序遍历线索化 前言 在<大话数据结构>P190 页中有一句话:其实线索二叉树,就等于是 ...

  5. Part 30 AngularJS routeparams example

    Here is what we want to do : When we navigate to /students, the list of student names must be displa ...

  6. 解决一个无聊的问题,如何处理Java用户在dos被收集信息时拷贝带换行符的文本信息造成的while的多次循环(java解决Scanner.next在接收用户输入时出现多个换行的形况)[解决方案一]

    问题描述: 用户在dos窗口输入的时候(web项目不会出现这样的问题,所以这个问题日常碰不到),摁下回车时,Scanner对象的next()扫描用户输入的文本,后面就可以根据输入的字符串进行判断,并执 ...

  7. [cf1305G]Kuroni and Antihype

    对整个过程构造一张有向图,其中$(x,y)\in E$当且仅当$x$把$y$加入,且边权为$a_{x}$ 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点$a_{0}=0$,将其向所有入度 ...

  8. [gym102220I]Temperature Survey

    (为了方便,以下记$a_{0}=0,a_{n+1}=n$​​,并将$n$​​加上1) 构造一个$n$行的网格图,从上到下第$i$行有$a_{i}$个格子,格子左对齐 记第$i$行第$j$个格子为$(i ...

  9. Jetpack架构组件学习(2)——ViewModel和Livedata使用

    要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 原文地址:Jetpack架构组件学习(2)--ViewModel和Livedata使用 | Stars-One ...

  10. java番外茶余饭后闲聊

    java番外茶余饭后闲聊 **本人博客网站 **IT小神 www.itxiaoshen.com 今天聊点题外话没事时可以作为平时沟通交流的谈资,接下来一起简单了解下个人知晓对Java界开发产生深远影响 ...