一切皆文件

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

相关推荐

  • 马哥教育网络班21期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 建立或处理请求:接受请求或拒绝请求; 接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程; 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息; 访问资源:获取请求报文中请求的资源; 构建相应报文; 发送响应报文; 记录日志 2、httpd所支持的处理模型有哪些,他们分别适用于哪些环境。 …

    Linux干货 2016-10-24
  • 文件系统管理&raid&脚本编程之参数、算数运算练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; (1) ~]# fdisk /dev/sdb Welcome to…

    Linux干货 2016-11-08
  • grep命令

    grep命令:grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;grep搜索的结果被送到屏幕,不影响原文件内容。Unix的grep家族包括grep、egrep和fgrep…

    Linux干货 2016-08-08
  • CentOS 系统启动流程

    CentOS 系统启动流程 一、Linux系统的组成部分:内核+根文件系统 1.内核: 进程管理:进程之间的通信为:IPC(Inter Process Communication)机制,有消息队列、semerphor、shm、socket(跨主机之间的通信) 内存管理; 网络管理; 文件系统; 驱动程序; 安全功能; 2.运行中的系统环境可分为两层:内核空间…

    Linux干货 2016-09-13
  • CentOS 6系统启动流程

    Linux系统的组成 内核+根文件系统 内核功能:     进程管理、内存管理、文件系统管理、网络管理、安全功能、驱动程序 运行中的系统环境可分为两层:内核空间、用户空间     用户空间:应用程序(进程或线程)     内核空间:内核代码…

    Linux干货 2016-09-15
  • 正则表达式基础知识及grep、egrep详解

    什么是正则表达式     在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们…

    Linux干货 2016-08-08