liunx基础入门了解

1.shell 的掌握

1.1 什么是 Shell.

(1) Shell 是 Linux 系统的用户界面,提供了用户与内核进行交互操作                                

 的一种接口。它接收用户输入的命令并把它送入内核去执行

(2)shell 也被称为 LINUX 的命令解释器(command interpreter)
(3)shell 是一种高级程序设计语言                            图解如下

1.2 基本上 shell 分两大类:

  一:图形界面 shell(Graphical User Interface shell 即 GUI shell)
例如:应用最为广泛的 Windows Explorer (微软的 windows 系列操作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manager (BlackBox 和 FluxBox),以及功能更强大的 CDE、GNOME、KDE、 XFCE。
  二:命令行式 shell(Command Line Interface shell ,即 CLI shell)

  例如 bash shell。

   GNU Bourne-Again Shell(bash) 是 GNU 计划中重要的工具软件之
一,目前也是 Linux 标准的 shell,与 sh 兼容 CentOS 默认。显示当前使用的 shell  echo ${SHELL} 显示当前系统使用的所有 shell cat /etc/shells

2. 命令

2.1 什么是命令

liunx 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存 ·键盘、鼠标,还是用户等都是文件,Linux 系统管理的命令是它正常运行的核心,与之前的 DOS 命令类似。linux 命令在系统中有两种类型:内置 Shell 命令和 Linux 命令。

2.2 命令提示符

+ 命令提示符:prompt            
[root@localhost ~]#         # 管理员 $ 普通用户


 + 显示提示符格式
[root@localhost ~]#echo $PS1


 + 修改提示符格式
PS1="[\u@\h \W]\\$"
\e 或 \033 启用颜色         \u 当前用户
\h 主机名简称                   \H 主机名
\w 当前工作目录              \W 当前工作目录基名
\t 24 小时时间格式            \T 12 小时时间格式
\! 命令历史数                  \# 开机后命令历史数

 

字颜色                                               字背景颜色                         字背景颜色
30: 黑                                                 40: 黑                                   0 关闭所有属性
31: 红                                                 41: 深红                               1 设置高亮度
32: 绿                                                 42: 绿                                   4 下划线
33: 黄                                                 43: 黄色                                5 闪烁
34: 蓝色                                              44: 蓝色                               7 反显
35: 紫色                                              45: 紫色                               8 消隐
36: 深绿                                              46: 深绿
37: 白色                                              47: 白色

例如,。。

PS1="[\[\e[5m\]\u@\h \W\[\e[0m]\$"   实现对主机名颜色改变  ,用户名和主机名 的 闪烁

 

 

 

2.3 执行命令

++ 在Shell中可执行的命令有两类:

 内部命令:由 shell 自带的,而且通过某命令形式提供
help 内部命令列表
enable cmd 启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令   
外部命令:在文件系统路径下有对应的可执行程序文件                                                         区别指定的命令是内部或外部命令   : type COMMAND                   

查看路径:which -a |--skip-alias ; whereis

 

 

++ Hash缓存表
系统初始 hash 表为空,当外部命令执行时,默认会从 PATH 路径下寻找该命令,
找到后会将这条命令的路径记录到 hash 表中,当再次使用该命令时,shell 解释器首先会
查看 hash 表,存在将执行之,如果不存在,将会去 PATH 路径下寻找。利用 hash 缓存表可大
大提高命令的调用速率
• hash 常见用法
hash 显示 hash 缓存
hash –l 显示 hash 缓存,可作为输入使用
hash –p path name 将命令全路径 path 起别名为 name
hash –t name 打印缓存中 name 的路径
hash –d name 清除 name 缓存
hash –r 清除缓存

2.4 命令别名

   

++ 显示当前 shell 进程所有可用的命令别名
alias 定义别名 NAME,其相当于执行命令 VALUE
alias NAME='VALUE'
在命令行中定义的别名,仅对当前 shell 如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bash

编辑配置给出的新配置不会立即生效
• bash 进程重新读取配置文件
source /path/to/config_file
. /path/to/config_file
• 撤消别名:unalias
unalias [-a] name [name ...]
-a 取消所有别名
• 如果别名同原命令同名,如果要执行原命令,可使用
“\COMMAND”
’COMMAND’
/PATH/COMMAND:外部命令

2.5 命令格式

++ COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等
• 注意:
– 多个选项以及多参数和命令之间使用空白字符分隔
– 取消和结束命令执行:Ctrl+c,Ctrl+d
– 多个命令可以用; 符号分开
– 一个命令可以用 \ 分成多行

2.6 简单命令

 

  ++1.date 显示日期和时间
– Linux 的两种时钟
系统时钟:由 Linux 内核通过 CPU 的工作频率进行的
硬件时钟:主板
hwclock,clock: 显示硬件时钟
-s, --hctosys 以硬件时钟为准,校正系统时钟
-w, --systohc 以系统时钟为准,校正硬件时钟
– 时区:/etc/localtime

 


 ++2 .cal 显示日历

 


 ++3.关机:halt, poweroff

重启:reboot

f: 强制,不调用 shutdown
p: 切断电源
 关机或重启:shutdown
shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME: 无指定,默认相当于 +1
now: 立刻, 相当于 +0
+m: 相对时间表示法,几分钟之后;例如 +3
hh🇲🇲 绝对时间表示,指明具体时间

 

 

 

 ++4  / 用户登录信息查看命令:
whoami: 显示当前登录有效用户
who am i: 显示当前的登录会话
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作

 

 

 

++5.screen 命令:
创建新 screen 会话
screen –S [SESSION]
加入 screen 会话
screen –x [SESSION]
退出并关闭 screen 会话
exit
剥离当前 screen 会话
Ctrl+a,d
显示所有已经打开的 screen 会话
screen -ls
恢复某 screen 会话
screen -r [SESSION]

 

 

 

++6.echo 命令
• 功能:显示字符
• 语法:echo [-neE][字符串]
• 说明:echo 会将输入的字符串送往标准输出。输出的字符串间
以空白字符隔开, 并在最后加上换行号
• 选项:
– -E (默认)不支持 \ 解释功能
– -n 不自动换行
– -e 启用 \ 字符的解释功能
• 显示变量
echo "$VAR_NAME" 变量会替换,弱引用
echo '$VAR_NAME' 变量不会替换,强引用

[例] 显示自字符 abc 

 

显示变量的值

 

 

 

 

++7. 启用命令选项 -e,若字符串中出现以下字符,则特别加以 处理,而不会将它当成一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行
\t 插入 tab
\\ 插入 \ 字符
\0nnn 插入 nnn(八进制)所代表的 ASCII 字符
echo -e
"\033[43;31;5mmagedu\033[0m"
注意不打 ]
\xHH 插入 HH(十六进制)所代表的 ASCII 字
如:echo -e "a\013"
或:echo -e "a\x0B" 均表示垂直制表符,即回车

 

 

 

++8  /tab 键
• 命令补全
内部命令:
外部命令:bash 根据 PATH 环境变量定义的路径,自左而右在每个路径搜寻以给
定命令名命名的文件,第一次找到的命令即为要执行的命令
用户给定的字符串只有一条惟一对应的命令,直接补全
否则,再次 Tab 会给出列表
• 路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开
头的文件名
如果惟一:则直接补全
否则:再次 Tab 给出列表

命令 history
• history [-c] [-d offset] [n]
• history -anrw [filename]
• history -ps arg [arg...]
-c: 清空命令历史
-d offset: 删除历史中指定的第 offset 个命令
n: 显示最近的 n 条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后

 

 

  ++9.bash 的快捷键
• Ctrl + l 清屏,相当于 clear 命令
• Ctrl + o 执行当前命令,并重新显示本命令
• Ctrl + s 阻止屏幕输出,锁定
• Ctrl + q 允许屏幕输出
• Ctrl + c 终止命令
• Ctrl + z 挂起命令

 

Ctrl + a 光标移到命令行首,相当于 Home
• Ctrl + e 光标移到命令行尾,相当于 End
• Ctrl + f 光标向右移动一个字符
• Ctrl + b 光标向左移动一个字符
• Alt + f 光标向右移动一个单词尾
• Alt + b 光标向左移动一个单词首
• Ctrl + xx 光标在命令行首和光标之间移动
• Ctrl + u 从光标处删除至命令行首
• Ctrl + k 从光标处删除至命令行尾
• Alt + r 删除当前整行

 

Ctrl + w 从光标处向左删除至单词首
• Alt + d 从光标处向右删除至单词尾
• Ctrl + d 删除光标处的一个字符
• Ctrl + h 删除光标前的一个字符
• Ctrl + y 将删除的字符粘贴至光标后
• Alt + c 从光标处开始向右更改为首字母大写的单词
• Alt + u 从光标处开始,将右边一个单词更改为大写
• Alt + l 从光标处开始,将右边一个单词更改为小写
• Ctrl + t 交换光标处和之前的字符位置
• Alt + t 交换光标处和之前的单词位置
• Alt + N 提示输入指定字符后,重复显示该字符 N 次