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

相关推荐
wowocpp5 分钟前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君17 分钟前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维21 分钟前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源23 分钟前
Elasticsearch-linux环境部署
linux·elasticsearch
萨格拉斯救世主27 分钟前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试37 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
龙哥说跨境1 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip