命令的语法通用格式:

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

  #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. JetBrains IntelliJ IDEA汉化

    JetBrains IntelliJ IDEA汉化 开启 IntelliJ IDEA,点击右下角Configure菜单,选择 Plugins.在弹出的 Plugins窗口里,切换至 Marketpla ...

  2. python 字符串和时间格式(datetime)相互转换-

    2019-03-17 11:00:00格式转化 import datetime # str转时间格式: dd = '2019-03-17 11:00:00' dd = datetime.datetim ...

  3. 【Linux】解压分卷压缩的zip文件

    例如linux.zip.001, linux.zip.002, linux.zip.003. 1. cat linux.zip* > linux.zip #合并为一个zip包. 2. unzip ...

  4. ASP .Net Core 在 CentOS8 ARM 下连接 SQL Server 2008 R2(Hypervisor)

    本文主要记录在 ARM 系统下无法连接SQL Server 2008 R2 的解决过程. 解决方案是使用 ODBC 的方式连接数据库,进行操作. 手上有公司的华为鲲鹏云计算 ARM 架构的 CentO ...

  5. CF1290E Cartesian Tree

    考虑笛卡尔树的意义: 一个点在笛卡尔树中的子树,代表以他为最小/最大值的区间. 所以一个点的子树大小,一定是类似到达序列边界或者被一个比他更大的数隔离. 考虑记录 \(l_i,r_i\) 为第 \(i ...

  6. Atcoder Regular Contest 096 C - Everything on It(组合数学)

    Atcoder 题面传送门 & 洛谷题面传送门 简单题,由于这场 arc 的 F 是 jxd 作业而我不会做,所以只好来把这场的 E 水掉了. 我们记 \(f(i)\) 为钦定 \(i\) 个 ...

  7. STM32 BootLoader升级固件

    一.知识点 1.BootLoader就是单片机启动时候运行的一段小程序,这段程序负责单片机固件的更新,也就是单片机选择性的自己给自己下程序.可以更新,也可以不更新,更新的话,BootLoader更新完 ...

  8. IDEA+maven+javafx(java 1.8)入坑记录

    序 好久没写博客了,主要是因为懒,写博客真的是个难坚持的事.但今天登上来看了看,之前记录ctf写的wp竟然点击量这么多了,突然让我有了继续写下去的动力. 这段时间遇到了好多事,中间也有想过写几篇文章记 ...

  9. 11.13python第一周周末练习

    2.请输出你的基本个人信息 3.结合逻辑判断,写一个不同学生分数,输出良好,优秀,分数不及格 循环输出 字符串的替换. 以什么开头startwith 以什么结尾endwith 列表转为字符串 字符串转 ...

  10. 1小时学会Git玩转GitHub

    版权声明:原创不易,本文禁止抄袭.转载,侵权必究! 本次教程建议一边阅读一边用电脑实操 目录 一.了解Git和Github 1.1 什么是Git 1.2 什么是版本控制系统 1.3 什么是Github ...