linux基础
Posted yuanhonli-xin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础相关的知识,希望对你有一定的参考价值。
实验环境
[[email protected] ~]#cat /etc/centos-release
CentOS release 6.10 (Final)
[[email protected] ~]#cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
linux用户
root用户:超级用户,拥有至高无上的权限,
普通用户:由root创建,权限有限。
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。
Centos6.10
Centos7.5
终端类型
- 物理终端:控制台console
- 虚拟终端:/dev/tty# #为[1-6],Ctrl+Alt+F[1-6]可以由图形界面切换至虚拟终端,Alt+F[1-6]可以直接在终端之间切换。
- 图形终端:,即图形界面,Alt + F7可以切换。
- 伪终端:/dev/pts/# ,是基于ssh的远程连接。
查看当前终端:
[[email protected] ~]#tty
/dev/pts/0
shell
1. 什么是shell?
shell相当于linux的命令解释器,把用户输入的命令解析为二进制语言,交给内核进行执行,并把结果返回给用户。
CentOS默认使用bash ——GNU Bourne-Again Shell
查看当前系统使用的shell
[[email protected] ~]#echo $SHELL /bin/bash
查看系统支持的所有shell
[[email protected] ~]#cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh
命令提示符——prompt
##### 1. shell命令提示符及颜色是由PS1来配置,可以根据自己的需要定制。
显示提示符格式:
[[email protected] ~]#echo $PS1
[e[1;44;37m][[email protected]h W]$[e[0m]
效果如图所示:
其中PS1常用的参数如下所示:
e 33
u 当前用户
h 主机名简称
H 主机名
w 当前工作目录
W 当前工作目录基名
24小时时间格式
T 12小时时间格式
! 命令历史数
# 开机后命令历史数
$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
2. 颜色配置:
PS1中设置字符颜色的格式为:[e[F;Bm]
其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:
F B
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
在命令行配置后,只是临时生效,重新登录或者重启就会失效,如果想要永久生效,需要修改配置文件,涉及的配置文件有/etc/profile 、 /etc/profile.d/*.sh 、 ~/.bash_profile 、~/.bashrc 、/etc/bashrc,
[[email protected] ~]#vim /etc/profile.d/env.sh
PS1="[e[1;41;33m][[email protected]h W]\\$[e[0m]"
修改完成后重新加载下文件即可生效:source或.
[[email protected] ~]#source /etc/profile.d/env.sh
shell中的命令
1.1 命令格式:
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于实现具体的某个功能;
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等
注意:
- 多个选项以及多参数和命令之间使用空白字符分隔
- 取消和结束命令执行:Ctrl+c,Ctrl+d
- 多个命令可以用;符号分开
- 一个命令可以用分成多行
1.2 分类:
在shell中可以执行的命令有两类,内部命令和外部命令
内部命令:
由shell自带的
查看列表:help或enable
enable –n cmd: 禁用内部命令,禁用后将不能使用,需要注销失效
enable cmd: 启用内部命令
enable –n :查看所有禁用的内部命令,或help查看命令前面带有*,通过enable查看不再显示命令。
外部命令:
在文件系统路径下有对应的可执行程序文件
查看路径:which -a cmd或whereis cmd
1.3 区别指定的命令是内部或外部命令
type 【-a】 cmd
1.4 hash缓存表
当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。
hash常见用法:
hash 显示hash缓存
其中hits是指命令执行的次数,后面是命令具体的路径(注意:默认从PATH路径中查找,顺序为从左向右,直到找到为止,如果一个命令存在于多个路径中,他只匹配到第一个找到的路径,所以先后顺序很关键。)
hash –l 显示hash缓存,可作为输入使用
hash –p path name :将命令全路径path起别名为name
hash –t name :打印缓存中name的路径
hash –d name: 清除name缓存
hash –r 清除缓存
1.5 别名
在使用linux的过程中,有很多配置命令很长,并且需要重复的执行,这时可以使用别名进行简化。
查看别名:alias
定义别名:
alias NAME=‘VALUE‘
即:定义别名“name”,相当于执行命令“value”
取消别名:unalias
unalias [-a] name [name ...]
-a 取消所有别名
在命令行中定义的别名,仅对当前shell进程有效
如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
对于修改后的配置文件不会立即生效,可以通过以下命令使bash进程重新读取配置文件生效:
source /path/to/config_file
. /path/to/config_file
或者建议:修改完配置文件后,在命令行中执行命令生效。
执行原始命令:
————————————————————————————————————
如果别名同原命令同名,并且要执行原命令,可使用
ALIASNAME
“ALIASNAME”
’ALIASNAME’
/path/commmand 命令的绝对路径,适用于外部命令
前三种对于外部命令和内部命令通用,最后一种仅仅适用于外部命令。
如何获取命令帮助?
1.1 内部命令
help COMMAND
man bash
1.2 外部命令
(1) COMMAND --help
对于帮助中的常用的符号,含义如下:
[] 表示可选项
CAPS或 <> 表示变化的数据
... 表示一个列表
x |y| z 的意思是“ x 或 y 或 z “
-abc的 意思是-a -b –c
{ } 表示分组
(2) 使用手册(manual)
语法:man COMMAND
————————————————————————————————————
man章节
————————————————————————————————————man章节:man对于不同的命令以及配置文件有具体的分类,如下所示
?1: 用户命令
?2: 系统调用
?3: C库调用
?4: 设备文件及特殊文件
?5: 配置文件格式
?6: 游戏
?7: 杂项
?8: 管理类的命令
?9:Linux 内核API
建议:对于外部命令查看man帮助时,先使用whatis查看与命令相关的章节,再【man 章节序号 命令 】进行查看,默认打开的是序号最小的章节。
————————————————————————————————————
- man手册格式解读:
————————————————————————————————————
?NAME 名称及简要说明
? SYNOPSIS 用法格式说明
? [] 可选内容
? <> 必选内容
? a|b 二选一
? { } 分组
? ... 同一内容可出现多次
? DESCRIPTION 详细说明
? OPTIONS 选项说明
? EXAMPLES 示例
? FILES 相关文件
? AUTHOR 作者
? COPYRIGHT 版本信息
? REPORTING BUGS bug信息
? SEE ALSO 其它帮助参考
————————————————————————————————————
3.man操作方法
————————————————————————————————————
空格键:向文件尾部翻一屏
回车键:一次向文件尾部翻一行
k:一次向文件首部翻一行
b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
G:跳转至最后一行
NG:跳转至指定行
1G:跳转至文件第一行,首部
/keyword:从文件首部向文件尾部依次查找,不区分大小写
n: 下一个
N:上一个
?keyword:从文件尾部向文件首部依次查找,不区分字符大小写
n: 跟搜索命令同方向,下一个
N:跟搜索命令反方向,上一个
q:退出
————————————————————————————————
4.配置文件
————————————————————————————————
man命令的配置文件:
/etc/man.config(CentOS6)
/etc/man_db.conf(CentOS7)
其中MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
————————————————————————————————
5.man几个使用技巧
————————————————————————————————
查看man手册页
man [章节] keyword
? 列出所有帮助
man –a keyword
? 搜索man手册
man -k keyword 列出所有匹配的页面
使用 whatis 数据库
? 相当于whatis
man –f keyword
? 打印man帮助文件的路径
man –w [章节] keyword
(3) 信息页
info COMMAND
操作方法
?方向键,PgUp,PgDn 导航
?Tab键 移动到下一个链接
?d 显示主题目录
?Home 显示主题首部
?Enter进入 选定链接
?n/p/u/l 进入下/前/上一层/最后一个链接
?s 文字 文本搜索
?q 退出 info
(4) 程序自身的帮助文档
在/usr/share/doc目录中有一些常见软件包的文档:README INSTALL CHANGES
(5) 程序官方文档
例如对于nginx、Apache等,官网最权威
?http://www.nginx.org
?http://tomcat.apache.org
?http://httpd.apache.org
?http://www.python.org
(6) 发行版的官方文档
http://kbase.redhat.com
http://www.redhat.com/docs
http://access.redhat.com
7) Google、百度搜索技巧:
推荐网站:
? http://tldp.org
?http://www.slideshare.net
?http://www.google.com
Openstack filetype:pdf————-指定文档类型
rhca site:redhat.com/docs——————指定搜索站点
以上是关于linux基础的主要内容,如果未能解决你的问题,请参考以下文章