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在输入.

相关推荐
Nerd Nirvana2 小时前
软考—系统架构设计(案例 | 论文)
linux·系统架构·软件工程·软考·计算机基础
勤奋的凯尔森同学3 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
丁卯4043 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo4 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
人间打气筒(Ada)5 小时前
MySQL主从架构
服务器·数据库·mysql
落笔画忧愁e6 小时前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
小冷爱学习!6 小时前
华为动态路由-OSPF-完全末梢区域
服务器·网络·华为
技术小齐7 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风7 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
打不了嗝 ᥬ᭄7 小时前
Linux的权限
linux