一切皆文件

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
下一篇 2017-04-01

相关推荐

  • 文本编辑工具vim

                             vim +#: 打开文件直接处在#行 +/PATTERN:打开文件直接处在第一次匹配到行 vim + file :打开文件直接处在最后行 vim –b file :以二进制打开文件…

    Linux干货 2016-08-12
  • 20160808课堂练习(sed工具)

    练习: 1、  删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符 # sed 's@^[[:space:]]\+@@' /etc/grub2.cfg                    2、删除/etc/…

    Linux干货 2016-08-10
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • Linux百科

    百度百科摘

    Linux干货 2018-03-26
  • 冥界之王-第8周作业

       1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥:网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,        &nbs…

    Linux干货 2016-10-23
  • 任务计划

    所谓计划任务就是指某一个时间系统自动做一件事情如输入指令或者保存文件等等 计划任务分两种:一次性计划任务命令(at)和周期性计划任务命令(crontab)at的用法:如果当前时间为2017年6月6日 at 18:00 2017-06-6 w > /root/who.txt init 0 (输入ctrl+d结束编辑…

    Linux干货 2017-06-07