Linux基础命令

本文主要介绍:1、修改命令提示符 2、执行命令(内部,外部) 3、命令别名 4、命令history

一、修改命令提示符

1、查看提示符格式:echo $PS1

 

2、修改提示符格式:

  • PS1=“\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]”
  • 1 :字体高亮       5 :闪烁      41  :红色背景
  • 33 :字体颜色(30黑31红32绿33黄34蓝35紫36青37白)
  • \h主机名简称                \H 主机名全称
  • \w当前工作目录           \W当前工作目录基名
  • \$提示字符:#root用户     $普通用户
  • \[\e[0m\]提示符颜色到此结束(否则后续输出的命令也会改变颜色)

 

3、保存:

  • 在/etc/profile.d目录下创建一个后缀为.sh的文件(例如:/etc/profile.d/env.sh),将对 PS1的修改保存在该文件下,source /etc/profile.d/env.sh重新读取配置文件。

 

 

二、执行命令(1.内部命令,2.外部命令)

 

  • 区别指定命令是内部或外部:type command,外部命令会显示路径。

 

1、内部命令:由shell自带

  • help command;command –help 可获得帮助列表
  • enable -n cmd 禁用内部命令
  • enable cmd 启用内部命令
  • enable -n 查看所有禁用的内部命令

 

2、外部命令:记录在hash缓存表中

  • 查看路径:which –skip-alias command;whereis
  • hash 显示hash缓存
  • hash -l 显示hash缓存,可作为输入使用
  • hash -p path name 将命令全路径path 起别名为name
  • hash -t cmd 打印缓存中cmd的路径
  • hash -d cmd 清楚cmd缓存
  • hash -r 清除缓存

 

 

三、命令别名  alias

 

  • alias 显示当前shell进程所有可用的命令别名
  • alias name=cmd 给cmd定义别名为name
  • unalias 撤销别名
  • unalias -a取消所有别名
  • 若想永久保存别名,定义在配置文件中:1.仅对当前用户:~/.bashrc; 2.对所有用户用户有效:/etc/bashrc
  • bash进程中重新读取配置文件source 或.
  • 如果别名与原命令同名(例aliasname),想要执行原命令,使用:\aliasname 、“aliasname” 、‘ aliasname’ 、command aliasname 、/path/command

四、命令history:记录历史的文件~/.bash_history

 

1、history(管理历史命令)

  • 语法:history  (选项)  (参数)
    选项:
    n    列出最近的 n条命令
    -c    清空所有历史命令
    -d  n   删除历史命令中指定的编号n的命令
    -a    追加本次会话中的新执行的命令历史列表到历史文件
    -n    读取历史文件中未读过的行到命令历史列表
    -w   保存历史列表到指定的历史文件,把历史文件另备份
    -p    展开历史参数成多行,但不存在历史列表中
    -s     展开历史参数成一行,附加在历史列表后

2、运行特定的历史命令:

  • 语法说明: [!number] [!command] [!!]
    参数说明:
    number :第几个指令的意思;
    command :命令或命令开头几个字母
  • 用法介绍:
    !n     执行history命令输出对应序号n的命令
    !-n    执行history历史中倒数第n个命令
    !string     重复前一个以“string”开头的命令
    !?string    重复前一个包含string的命令
    !string:p   仅打印命令历史,而不执行
    !$:p   打印输出(上一条命令的最后一个参数)的内容
    !*:p   打印输出 (上一条命令的所有参数)的内容
    ^string   删除上一条命令中的第一个string
    ^string1^string2   将上一条命令中的第一个string1替换为string2
    !:gs/string1/string2   将上一条命令中所有的string1都替换为string2
  • 使用up(向上)和down(向下)键来上下浏览从前输入的命令
    ctrl+r:在命令历史中搜索命令(reverse-i-search):
    ctrl+g:从历史搜索模式退出

3、调用历史参数

  • 调用前一个命令中最后一个参数:!$
  • Esc, .(点击Esc键后松开,然后点击 . 键)
    Alt+ .(按住Alt键的同时点击 . 键)
    command !^  利用上一个命令的第一个参数做cmd的参数
    command !$   利用上一个命令的最后一个参数做cmd的参数
    command !*  利用上一个命令的全部参数做cmd的参数
    command !:n   利用上一个命令的第n个参数做cmd的参数
    command !n:^   调用第n条命令的第一个参数
    command !n:$   调用第n条命令的最后一个参数
    command !n:m   调用第n条命令的第m个参数
    command !n:*   调用第n条命令的所有参数
    command !string:^   从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
    command !string:$   从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
    command !string:n   从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
    command !string:*   从命令历史中搜索以 string 开头的命令,并获取它的所有参数

4、命令历史相关环境变量:

 

  • HISTSIZE    命令历史记录的条数,默认1000
  • HISTFILE    指定历史文件,默认为~/.bash_history
  • HISTFILESIZE    命令历史文件记录历史的条数
  • HISTTIMEFORMAT=“%F %T “ 历史记录显示时间
  • HISTIGNORE=“str1:str2*:… “ 忽略str1命令以及str2开头的所有命令

 

  • HISTCONTROL环境变量:

ignoredups 默认,忽略重复的命令,连续且相同为“重复”

ignorespace 忽略所有以空白开头的命令

ignoreboth 相当于ignoredups, ignorespace的组合

history命令相关的配置文件存放在 /etc/profile 或 ~/.bash_profile,更改之后永久有效

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94194

(2)
bican813bican813
上一篇 2018-04-01
下一篇 2018-04-01

相关推荐

  • 创建配置格式文件的格式 C语言源代码安装三步骤 yum

    创建配置文件的格式: [base] name= centos cdrom mirrorlist=file:///root/baselist gpgkey=file:///mnt/cdrom/rpm-gpg-key-centos-7     [epel] name=epel baseurl=https://mirrors aliyun.co…

    Linux笔记 2018-04-22
  • Linux-vim

    vim简介 vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个Vim编辑器的图形版本   打开文件 # vim [OPTION]&#8…

    2018-04-08
  • 第三周作业

    作业

    Linux笔记 2018-04-05
  • centos 7.4 实现二进制安装mariadb-10.2.15-linux-x86_64.tar.gz mysql 数据库

    实验:centos 7.4 实现二进制安装mariadb-10.2.15-linux-x86_64.tar.gz mysql 数据库 1,检查相应的坏境 查看下防火墙iptables和selinux 是否关闭,没关闭先关闭。 再查看下原来主机上是否已有 mariadb 数据库,如果有先卸载在进行安装。 2,下载对应的二进制文件 3,准备用户账号,mysql,…

    Linux笔记 2018-06-05
  • 第四周作业

    第四周作业
    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2018-06-07
  • bash脚本进阶

    过程式编程语言:顺序执行选择执行if判断if 判断条件;那么条件为真的分支代码fi if 判断条件;then条件为真的分支代码else条件为假的分支代码fi多分支if 判断条件1; then条件为真的分支代码elif 判断条件2; then条件为真的分支代码elif 判断条件3; then条件为真的分支代码else以上条件都为假的分支代码ficase 变量引…

    2018-05-11