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

相关推荐
白狐_7982 分钟前
硬核实战:从零构建飞书 × OpenClaw 自动化情报站(五)
运维·自动化·飞书
va学弟8 小时前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
幸福指北9 小时前
我用 Tauri + Vue 3 + Rust 开发了这款跨平台网络连接查看工具PortView,性能炸裂!
运维·网络·监控
V__KING__10 小时前
systemd-remount-fs,fstab之间的渊源
linux·服务器·网络
酿情师10 小时前
Windows Subsystem for Linux (WSL, Ubuntu)安装教程(详细)
linux·windows·ubuntu
Titan202411 小时前
Linux环境变量个人笔记
linux·服务器·c++
zx_zx_12311 小时前
传输层协议tcp (2)
服务器·网络·tcp/ip
青柠代码录11 小时前
【Linux】路径区分:testdir、testdir/、testdir/*
linux·运维·服务器
7yewh11 小时前
jetson_yolo_deployment 02_linux_dev_skills
linux·python·嵌入式硬件·yolo·嵌入式
supersolon11 小时前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js