一切皆文件

Linux

  • Linux内一切皆文件;表现之一:硬件设备也通过文件表示
    物理终端:/dev/console
    虚拟终端: /dev/tty#[1,6]
    串行终端:/dev/ttyS#
    伪终端: /dev/pts/#
    注意:在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互,交互式程序有两类:GUI(图形化界面)和CLI(命令行界面)。

    • 查看终端设备:
      ~]# tty
      查看接口程序:
      ~]# echo #SHELL
      启动GUI接口:
      在某一虚拟终端接口运行命令:startx &

命令提示符:

  • [root@magedu ~]# COMMAND
    我们称之为PS1,显示组成部分使用命令:

    echo $PS1
    [\u@\h \W]\$

  • root : 当前登录的用户
    magedu:当前主机的主机名,非完整格式;
    ~:用户当前所在的目录,也成为工作目录;相对路径
    #:命令提示符(#:管理员、$:普通用户)
    注意:生产环境下建议使用普通用户账号登录;
    执行管理操作使用 su 临时切换至管理员,操作完成即退回。

命令的格式:

  • COMMAND [OPTIONS … ] [ARGUMENTS … ]
    命令 选项 参数
    选项:用于启用或关闭命令的某个或些功能。
    参数:命令的作用对象(向命令提供数据的),命令的参数可以有多个。
    注:多个命令放在同一行执行可以使用分号;隔开,但是前面命令执行成功与否跟后面命令没关系。
    \ :命令太长需要换行
    && :如果需要命令同时执行成功
    || :如果有一个命令执行成功 那么其他命令就不再执行
    && 逻辑与 ; || 逻辑或。

Linux命令:

help
  • help COMMAND
    help可以查看:内部命令、外部命令
    内部命令(shell内嵌命令):help COMMAND
    外部命令:
    1、COMMAND –help; COMMAND -h;
    2、man COMMAND
    3、info COMMAND

[s@magedu test]PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/s/bin

注:查找过程时有顺序的,自左向右,直到查找到为止,如果一个命令存在于多个路径中,只匹配第一个找到的路径,所以其先后次序是很关键滴。

man
  • 查看man手册页:man [章节] keyword
    列出所有帮助: man -a keyword
    搜索手册:man -k (使用whatis数据库)
    查看某个命令在哪个章节 (相当于whatis) : man – f keyword
    man配置文件的路径:CentOS 6:/etc/man.config ;CentOS 7:/etc/man db.conf
  • man中有一些符号标记的内容,这些符号的意义:
    [ ] :可选内容
    < > :必须内容
    | :二选一
    … :同类内容可以有多个
    { } :分组

  • man命令的操作方法:

    • /keyword :向下搜索,n向下,N向上
      ?keyword :向上搜索
      b :向文件首部翻屏
      空格 :向文件尾部翻屏
    • #G :回到文件首部
      G :翻至文件尾部
info
  • info [ 命令 ]
    info使用帮助:
    方向键,PgUp,PgDn
    Tab 键,移动到下一个链接
    d 显示主题目录
    Home 显示主题首部
    Enter 进入选定链接
    n/p/u/l 进入下/前/上一层/最后一个链接
    s 文字,文本搜索
    q 退出 info
echo
  • 回显命令
    -e 转义符
    echo -e “\a” ;
    echo -e “good\c” ;
    echo -e “good\tgood” ;
    echo -e “good\ngood”;

echo “$VAR_NAME” 双引号表示弱引用;单引号表示强引用;不加引号默认双引号
echo ‘$VAR_NAME’ 括号、反引号,命令的替换,把结果作为输出;
反引号、( ):命令的替换,把结果作为输出

which
  • which COMMAND
    显示应用程序文件的位置
    如果想看文件本身,而非别名,使用:which –skip-alias COMMAND
whatis
  • 显示命令的帮助信息的位置
    CentOS 6:使用makewhatis 命令可将当前系统上的所有帮助手册及与之对应的关键字创建为一个数据库;
    CentOS 7:使用mandb命令
hash
  • 记录和显示程序的位置(可执行程序的位置)
    -l :显示缓存
    -p :起别名,暂时性
    -t name 打印
    -d name 清除nanme缓存
    -r 清除缓存
    history 管理命令历史,每次执行的命令都会放置在内存的缓存当中,直到退出当前终端后会被保存在命令历史文件当中。家目录下有个隐藏文件 .bash_history,可查看该文件的内容获取历史命令。
history

查看或设置命令历史相关参数

  • history [-c] [-d offset] [n]
    history -anrw [filename]
    history -ps arg [arg…]
    -d:删除历史命令指定的命令
    -c:清空命令历史
    -a:手动追加当前会话缓冲区的命令历史至命令历史文件中
    -w:保存到文件中
    history # :显示最近#条命令
  • 该命令所对应的环境变量:
    $HISTSIZE 修改history存储条数
    $HISTFILE 指定历史文件的存放位置(~/.bash_history)
    $HISTFILESIZE 指定历史文件的命令的存储条数
    HISTTIMEFORMAT=“%F %T “ 显示每条命令的具体执行时间
    HISTIGNORE= 把某些命令敏感的字符串给屏蔽掉不予显示
    环境变量:HISTCONTROL (在/etc/profile配置文件中控制)
    ignoredups 默认,忽略重复的命令,连续且相同为“重复”
    ignorespace 忽略所有以空白开头的命令
    ignoreboth 相当于ignoredups, ignorespace的组合
    erasedups 删除重复命令
    修改环境变量:export 变量名 = “值”
    export magedu=123 顶一个环境变量
    注:history 默认最多只能记录1000命令
    命令历史一般记录在.bash_history文件中
    当前shell中的历史记录会被记录在内存中,只有退出之后才会保存在.bash_history中

  • 调用历史中的命令:
    ! # :重复执行第#条命令
    !! :重复执行上一条命令
    !string:重复执行最近一次以string开头的命令
    !?string 重复前一个包含string的命令
    ^string 删除上一条命令中的string

  • 调用上一条命令的最后一个参数:
    ! $
    esc . 有些终端还可以使用 Alt+
command !^ : 利用上一个命令的第一个参数做cmd的参数 ls /tmp /opt ls !^
command !$ : 利用上一个命令的最后一个参数做cmd的参数 ls /tmp /opt/ ls !$
command !* : 利用上一个命令的全部参数做cmd的参数 ls /tmp /opt ls !*
command !:n : 利用上一个命令的第n个参数做cmd的参数 ls /tmp /opt ls !:1
command !n:^ 调用第n条命令的第一个参数 ls !505:^
command !n:$ 调用第n条命令的最后一个参数 ls !505:$
command !n:m 调用第n条命令的第m个参数 ls !505:2
command !n:* 调用第n条命令的所有参数 ls !505:*
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数 ls !ls:^
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
[root@CentOS68 ~]# ls /tmp/ /opt/
/opt/:
rh
/tmp/:
epel.repo.bak         huan.txt orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]# ls !ls:$ ls /opt/
rh
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
[root@CentOS68 ~]# ls /tmp/ /opt/
/opt/:
rh
/tmp/:
epel.repo.bak         huan.txt orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]# 
[root@CentOS68 ~]# 
[root@CentOS68 ~]# ls !ls:2 ls /opt/
rh
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
[root@CentOS68 ~]# ls /tmp/ /opt/ /opt/:
rh /tmp/:
epel.repo.bak         huan.txt        orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln  orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]#  [root@CentOS68 ~]# ls !ls:* ls /tmp/ /opt/ /opt/:
rh /tmp/:
epel.repo.bak         huan.txt        orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBf
date、hwclock
  • date [OPTION]… [+FORMAT]
    显示系统时间
    -s 修改系统时间
    date +%F 执行我们的时间格式
    +%Y +%y 年
    +%m 月
    +%d 日
    +%H 时
    +%M 分
    +%S 秒
    date +”%Y-%m-%d”
    –date=”” 生产环境保证时间准确性 ntp 定时同步互联网上的时间服务器
  • hwclock clock :显示硬件时钟
    -s 以硬件时钟为准,校正系统
    -w 以系统时钟为准,校正硬件

原创文章,作者:s,如若转载,请注明出处:http://www.178linux.com/72299

(0)
ss
上一篇 2017-04-01 19:01
下一篇 2017-04-01 19:16

相关推荐

  • DNS原理详解02

    9、子域授权     1、在父域的区域配置文件中增加以下记录,即为增加了子域授权            opt.patrickli.com.         IN      NS     &…

    Linux干货 2016-08-29
  • 第十二周课堂练习下

    6、在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程 1.模块方式安装可见第三节 2.fpm独立守护进程安装 [root@LAMP setup]# tar -xf  php-5.6.23.tar.bz2  ##编译&nb…

    Linux干货 2017-01-03
  • Linux磁盘与文件系统管理

    对于一块磁盘,如果我们想要使用的话,需要对磁盘进行分区并建立文件系统。下面,我们就了解一下Linux中的磁盘与文件系统管理 一、MBR 硬盘的0扇区为MBR扇区,其由以下几部分组成: l  主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 l  出错信息数据区,偏移地址0089H&#8…

    Linux干货 2016-08-28
  • mysql慢查询日志进行按库切割重写文件然后分析

    需求: 把每天的慢查询日志进行按库切割 对每个库的慢查询日志进行分析 思路: 工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql官方自带 mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无 my…

    Linux干货 2015-04-03
  • crm命令行命令详解

    crm -status 显示当前集群状态 -configure 配置集群 a.show xml 显示当前集群配置信息(xml格式) b.property 显示集群可用的全局属性(键入之后按两下Tab) -verifiy 校验 -commit 提交 -node a.online 设置当前节点上线 b.show 显示当前节点状态 c.standby 将当前节点设…

    Linux干货 2017-11-04
  • Linux基本知识之echo命令详解

    该博文以CentOS6.8_x86_64系统为基础,Xshell使用pts/X终端登录CentOS6.8系统,以root身份登录系统。 为什么学习echo命令?     echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。…

    Linux干货 2016-07-29