Linux 操作技巧

目录

一、shell-命令解释器

二、Linux中的特殊符号

三、命令历史--history


一、shell-命令解释器

shell------壳,命令解释器,负责解析用户输入的命令

------内置命令(shell内置)

------外置命令,在文件系统的某个目录下,有个与命令名称相同的文件

type命令用来查看命令是file、alias还是builtin

type -a 列出当前命令可以如何执行

type -t 仅列出命令按照哪种方式执行

alias命令可以创造属于个人的命令 (命令别名)

格式:alias 新命令 = '命令组合' (每个命令之间用";"隔开)

XML 复制代码
#查看设置的别名
[root@node13 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
......
#删除别名:
[root@node13 ~]#unalias 别名

当我们alias进行自定制命令时,在命令行定义的命令是一次性的,当关闭了命令行,该命令就被删除了

如果需使用永久性的自定义命令,则需要将命令定义在 .bashrc 或 .bash_profile 中

XML 复制代码
#打开配置文件
[root@RHEL ~]# vim .bashrc 

#在文件中 添加自定义命令
...
alias myls='ls -Al'
...

#重新加载配置文件
[root@RHEL ~]# source .bashrc 

每一个用户的家目录都有两个关于用户的配置文件

.bashrc(su可以加载到)

.bash_profile(su -才能加载到)

二、Linux中的特殊符号

|-----------------|---------------------------------------------|--------------------------------------------------------------------------------|
| 特殊符号 | 功能 | 说明 |
| ; | 可使用分号分隔多条命令 | 在一行上输入和执行多条较短的命令,可使用分号来分隔命令 |
| * | 匹配任意零个或多个字符 | 不能用于创建文件 |
| ? | 匹配任意单个字符 | 不能用于创建文件 |
| [] | 匹配方括号中的任意一个字符,表示范围可以用"-" | 不能用于创建文件 |
| [^] [!] | 匹配方括号中的任意一个字符或数字后进行取反 | 用于查找和删除文件,不用于创建文件 |
| {string,string} | 匹配括号中的任意一个字符串,表示一个范围时,字符串之间加上".." | 可用于创建、查看、删除文件 |
| \ | 使\后面的特殊字符失效 | 例:在命令行后加"\",再按回车键并不表示执行该命令,而是表示换行,通过此方式将一个较长的命令分成多行表达,增强命令的可读性。换行后系统自动显示提示符> |
| ` | 反引号,一般用于引用命令,执行的时候反引号里面的命令会被执行,与()作用相同** | | | **'** | **单引号,将单引号内的所有内容都原样输出** | **所有特殊字符在单引号中都会失去特殊含义** | | **"** | **双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出** | **"" 、"\"、 "`"在双引号里仍然保留自己的特殊含义 |

三、命令历史--history

history------可以用来查阅命令历史记录,也可在命令行利用向上或向下光标键来进行查询

语法:history [选项] [参数]

选项:

number 显示最近number条的命令历史

-c 清空当前历史命令

-a [file] 后面没跟文件时,默认将缓冲区中历史命令写入~/.bash_history中(可指定文件,将当前shell缓存命令保存到该文件中)

-r [file] 将历史命令文件中的命令读入当前历史命令缓冲区中(将指定文件的命令读取到shell缓冲区中,如果缺省文件则默认从.bash_history)

-w 将当前历史命令缓冲区命令写入历史命令文件中

XML 复制代码
[root@localhost ~]# history 5
   80  type ls
   81  type cd
   82  cd ..
   83  ll
   84  history 5

!84 将第84条命令再执行一遍
[root@localhost Documents]# !84
history 5
   92  history -10a new_ history.txt
   93  history -10 -a new_ history.txt
   94  cat history.txt
   95  ll
   96  history 5

!!执行上一条命令
[root@localhost Documents]# !!
history 5
   92  history -10a new_ history.txt
   93  history -10 -a new_ history.txt
   94  cat history.txt
   95  ll
   96  history 5

命令行中的其他快捷键:

ctrl+d 输入已结束;也可当做exit

ctrl+c 键盘中断请求,终止当前的命令

Ctrl+a 移动到当前行的开头

Ctrl+e 移动到当前行的结尾

Ctrl+l 清屏==clear

Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身)

Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身)

ctrl+←/→ 光标在命令行中按照单词跳转

引用上一条命令的最后一个参数

方法1:!$

方法2:先按Alt再输入.

方法3:先按Esc在输入.

相关推荐
对你无可奈何1 分钟前
关于Ubuntu的 update造成的内核升级
运维·服务器·ubuntu
qq_3129201125 分钟前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua31 分钟前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm40 分钟前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦41 分钟前
ELK 集群部署实战
运维·jenkins
不掰手腕1 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen1 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉2 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说2 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx