Shell解释器
查看系统默认的shell:echo $SHELL
查看系统支持的shell:cat /etc/shells
shell命令分为两种,分别是内部命令和外部命令。
可以使用type命令区分是内部命令还是外部命令。
控制台
w显示当前登入系统的用户信息以及他们正在执行的程序。
- 控制台终端(/dev/ttyn)
- 虚拟终端(/dev/pts/n)
命令行提示标识的含义
[当前用户@主机名 工作目录]
- 若当前用户是
root,则最后一个字符为# - 若当前用户是普通用户,则最后一个字符为
$ ~为家目录
whoami查看用户
su - 用户名切换用户
命令行的一般格式
基本用法:命令字 [选项]… [参数1] [参数2]…
查看主机名和IP信息
查看主机名:hostname
查看IP信息:ifconfig或者ip addr
关机及重启操作
重启:reboot
关机:shutdown
快速编辑技巧
快捷键:
| 快捷键 | 功能 |
|---|---|
| Ctrl + Insert | 复制 |
| Shift + Insert | 粘贴 |
| ctrl+l | 清空屏幕或者clear |
| ctrl+c | 退出某个正在执行中的操作 |
| ctrl+d | 退出shell或者exit退出 |
| ctrl+a | 将光标移到行首 |
| ctrl+e | 将光标移到行尾 |
| ctrl+u | 删除光标前的字符 |
| ctrl+k | 删除光标后的字符 |
| ctrl+w | 删除光标前空格为界线的单词 |
| ctrl+左右箭头 | 以单词为单位移动光标 |
| ctrl+r | 搜索历史命令 |
| tab键补全 | 可补齐命令字、选项、参数、文件路径、软件名、服务名 |
获取帮助:
man帮助--help帮助
管理/调用曾经执行过的命令:
history //查看历史命令列表
history -c //清空历史命令
!n //执行命令历史中的第n条命令
!str //执行最近一次以str开头的历史命令
目录和文件管理
树状目录结构
Linux系统的目录组成类拟一个倒置的树型结构,它以一个名为根(“/”)的目录开始向下延伸,一切皆文件。
查看树状目录:tree
常见目录
| 目录 | 存放内容 |
|---|---|
| /bin | 存储常用用户指令 |
| /boot | 存放用于系统引导时使用的各种文件 |
| /dev | 存放用于系统引导时使用的各种文件 |
| /etc | 存放系统、服务的配置目录与文件 |
| /home | 存放用户家目录 |
| /lib | 存放库文件,如内核模块、共享库等 |
| /usr | 存放系统应用程序目录 |
常见命令
List查看目录:ls
格式:ls [OPTION]... [FILE]...
常用命令选项:
-a显示所有文件及目录 (包括以“.”开头的隐藏文件)
-A同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-l使用长格式列出文件及目录信息
-h以人类可读的形式展示,添加可读单位k
-r将文件以相反次序显示(默认依英文字母次序)
-t根据最后的修改时间排序
-R递归列出所有子目录
以人类可读的长格式显示目录中的内容:ls -lh /boot/
以人类可读的长格式显示目录本身信息:ls -lhd /boot/
Print Working Directory查看当前工作目录:pwd
Change Directory切换工作目录:cd
格式:cd [目标文件夹位置]
参数:
~进入用户主目录
-返回进入此目录之前所在的目录
.表示目前所在的目录
..返回上级目录
Make Directory创建目录mkdir
格式:mkdir [OPTION]... DIRECTORY...
递归创建多级目录:mkdir -p /a/b/c/d
创建文件touch
格式:touch [OPTION]... FILE...
创建多个文件:touch a b c
批量创建文本文件:touch file{1..50}.txt
查看文档内容cat
格式:cat [OPTION]... [FILE]...
-n或--number:由 1 开始对所有输出的行数编号。
Copy复制cp
格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用参数:
-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
-p保留源文件或目录的所有属性
-r递归复制文件和目录
-l对源文件建立硬连接,而非复制文件
-s对源文件建立符号连接,而非复制文件
-b覆盖已存在的文件目标前将目标文件备份
拷贝到当前目录:cp /etc/passwd .
拷贝到当前目录并改名字:cp /etc/passwd mima
递归拷贝y目录:cp -r y a/
递归拷贝y目录下的所有内容:cp -r y/* a/
Move移动或者剪切mv
格式:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用参数:
-i若存在同名文件,则向用户询问是否覆盖
-f覆盖已有文件时,不进行任何提示
-b当文件存在时,覆盖前为其创建一个备份
-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
将文件file_1重命名为file_2:mv file_1 file_2
将文件file移动到目录dir中:mv file /dir
将目录dir1移动目录dir2中:mv dir1/ dir2/
将目录dir1下的所有内容移动目录dir2中:mv dir1/* dir2/
Remove删除rm
格式:
rm [OPTION]… [FILE]…
常用参数:
-f忽略不存在的文件,不会出现警告信息-i删除前会询问用户是否操作-r/R递归删除
强制递归删除dir1:rm -rf dir1/
通配符
*匹配任意(0个或多个)字符或字符串,包括空字符串。
?匹配任意1个字符,有且只有一个字符。
[abcd]匹配abcd中任何一个字符,abcd也可以是其他任意不连续字符。
[a-z]匹配a到z之间的任意一个字符,字符前后要连续,也可以用连续数字,即[1-9]。
[!abcd]表示不匹配括号里面的任何一个字符,也可以写为[!a-d],这里的!号可以用^替代,即[^abcd]。
别名
查看已设置的别名:alias [别名名称]
定义临时新的别名:alias 别名名称 = '实际执行的命令行'
取消已设置的别名:unalias [别名名称]
永久定义别名需要修改配置文件:
vim ~/.bashrc
source ~/.bashrc
echo "alias ld='ls -ld'" >> ~/.bashrc
source ~/.bashrc
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/279221.html