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:mm: 绝对时间表示,指明具体时间

 

 

 

 ++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次

 

posted @ 2018-07-12 20:08  2号  阅读(303)  评论(0编辑  收藏  举报