Linux基础篇--linux基础和帮助用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础篇--linux基础和帮助用法相关的知识,希望对你有一定的参考价值。
Linux基础篇--linux基础和帮助用法
本章概要
- 用户登录
- 终端
- Shell介绍
- 执行命令
- 简单命令
- Tab键补全
- 命令行历史
- bash快捷键
- 使用gnome-terminal
- whatis
- command--help
- manandinfo
- 本地帮助文档/usr/share/doc/
- 官网在线文档
- 其它网站和搜索
用户登录
- root用户
一个特殊的管理帐户
也被称为超级用户
root已接近完整的系统控制
对系统损害几乎有无限的能力
除非必要,不要登录为root - 普通用户
权限有限
造成损害的能力比较有限
终端类型terminal
- 设备终端
键盘鼠标显示器 - 物理终端(/dev/console )
控制台console - 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
tty可有n个,Ctrl+Alt+F[1-6] - 图形终端(/dev/tty7 )startx, xwindows
CentOS 6: Ctrl + Alt + F7
CentOS 7: 在哪个终端启动,即位于哪个虚拟终端 - 串行终端(/dev/ttyS# )
ttyS - 伪终端(pty:pseudo-tty,/dev/pts/# )
pty, SSH远程连接 - 查看当前的终端设备命令:#tty
交互式接口
- 交互式接口:启动终端后,在终端设备附加一个交互式应用程序
- GUI:Graphic User Interface
X protocol, window manager, desktop
Desktop:
GNOME (C, 图形库gtk),
KDE (C++,图形库qt)
XFCE (轻量级桌面) - CLI:Command Line Interface
shell程序:sh(bourn 史蒂夫·伯恩)cshtcshksh(korn)bash (bourn again shell)GPL zsh
shell
- Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
- 也被称为LINUX的命令解释器(command interpreter)
- shell是一种高级程序设计语言
bash shell
- GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容
- CentOS默认使用
- 显示当前使用的shell
${SHELL} - 显示当前系统使用的所有shell
cat /etc/shells[[email protected] ~]#echo $SHELL /bin/bash [[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
[[email protected]~]#
# 管理员$ 普通用户 - 显示提示符格式
[[email protected]~]#echo $PS1 - 修改提示符格式
PS1="[e[1;5;41;33m][[email protected]h W]\$[e[0m]"
e 33 u 当前用户
h 主机名简称 H 主机名
w 当前工作目录 W 当前工作目录基名
24小时时间格式 T 12小时时间格式
! 命令历史数 # 开机后命令历史数
执行命令
- 输入命令后回车
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来 - 在shell中可执行的命令有两类
内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表
enable cmd启用内部命令
enable –n cmd禁用内部命令
enable –n 查看所有禁用的内部命令
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias; whereis - 区别指定的命令是内部或外部命令
type COMMAND
执行外部命令
- 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 清除缓存
注意:如果在将外部命令执行过一次的情况下,把该命令的路径进行更改,那么该命令将无法执行。
原因:因为在执行命令,shell会首先查看hash缓存,会根据缓存中的路径执行该命令,但此时该命令的路径已经改变,因此会发生错误。
解决方法:清除缓存即可
命令别名
- 显示当前shell进程所有可用的命令别名
alias - 定义别名NAME,其相当于执行命令VALUE
alias NAME=‘VALUE‘ - 在命令行中定义的别名,仅对当前shell进程有效
- 如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc - 编辑配置给出的新配置不会立即生效
- bash进程重新读取配置文件
source /path/to/config_file
. /path/to/config_file - 撤消别名:unalias
unalias[-a] name [name ...]
-a 取消所有别名 - 如果别名同原命令同名,如果要执行原命令,可使用
ALIASNAME
“ALIASNAME”
’ALIASNAME’
command ALIASNAME
/path/commmand
注意:别名、内部命令、外部命令优先级:从大到小分别是别名、内部命令、外部命令
命令格式 - COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
参数:命令的作用对象,比如文件名,用户名等 - 注意:
多个选项以及多参数和命令之间使用空白字符分隔[[email protected] ~]#ls /etc/fstab /etc/issue
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用;符号分开[[email protected] ~]#ls /etc/fstab;cat /etc/issue /etc/fstab S Kernel on an m
一个命令可以用分成多行
[[email protected] ~]#host> na> me centos7.localdomain
日期和时间date
- linux系统的两种时钟
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板 - 相关命令:
date 显示和设置时间和日期
date -u 显示格林尼治时间
date 月日时分年秒(时间格式) 设置时间
date +%Y%m%d或+%F 显示年月日
date +%H%M%S或+%T 显示时分秒
date +“%F %T” 选项带有空格,需用引号
date -d ‘-2 day’ 显示前天时间
date -d ‘2 day’ 显示后天时间
date -d ‘-2 day’ +%F 只显示前天的年月日
date -d ‘-2 day’ +%a(或%u) 只显示前天是星期几
date -f 文件 批量处理文件
date -d “具体日期” +%s 将1970年1月1日到该具体日期的时间转换为秒 date -d @秒数 +“%F %T” 把秒数转换为时间和日期
clock,hwclock 显示硬件时间
-s 以硬件时间为准,更改系统时间
-w 以系统时间为准,更改硬件时间 - 时区:/etc/localtime
cat /etc/localtime 查看时区
设置时区:
timedatectl set-timezones (centos7系统)
tzselect (centos6系统) - cal 显示日历
-m 显示当月日历
-y 显示当年日历
知识扩展:
更改数量较多设备的时间
ntpdate 时钟服务器ip地址 校准服务器时间
时钟服务器需要做配置才能使用ntpdate命令,在后面会提到这方面内容
linux趣事:
cal 09 1752 1752年9月份少了12天
[[email protected] ~]#cal 09 1752
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
简单命令
- 关机:halt,poweroff
- 重启:reboot
-f:强制重启,不调用shutdown
-p:切断电源 - 关机或重启:shutdown
- 用法:
shutdown [OPTIONS...] [TIME] [WALL...]
即shutdown 选项 关机时间 关机提示
-r:reboot
-h:halt
-c:cancel 取消关机
TIME:无指定,默认相当于+1,单位为分钟
now:立刻关机,相当于+0
+m:相对时间表示法,几分钟之后;例如+3
hh:mm:绝对时间表示,指明具体关机时间
如:shutdown -h 18:30 “the system will be halt”
系统在18:30关机并发出提示“the system will be halt”
备注:系统提示(“the system will be halt”)只有在关机前15分钟内才会出现。 - 用户登录信息查看命令:
whoami:显示当前登录有效用户
who:系统当前所有的登录会话
w:系统当前所有的登录会话及所做的操作 -
nano文本编辑
- screen命令:
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
知识扩展:
使用screen命令解决断网中断正在操作的程序或命令问题
screen 开启会话
screen -r 恢复某会话 此命令只对单个会话有用,即当前会话没有加入其它用户
以下命令针对两个用户连接到同一台机器上才能使用
screen -S [session](会话名) 创建新会话 [[email protected] ~]#screen -S help
screen -ls 查看当前开启的全部会话
[[email protected] ~]#screen -ls
There is a screen on:
3485.help (Attached)
1 Socket in /var/run/screen/S-root.
screen -x [session](会话名) 加入会话
当连接在同一台设备上的两个用户加入同一个会话以后,两个终端显示画面一致。
ctrl+a,d 剥离当前会话
exit 退出并关闭screen会话
- echo 显示字符
- 用法:echo [-neE][字符串]
- 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
- 选项:
-E:(默认)不支持解释功能
-e:启用字符的解释功能
-n:不自动换行 - 显示变量
echo “$环境变量”
‘ ’(单引号) 既不识别变量,又不识别命令 最傻
" "(双引号) 只能识别变量,不识别命令 一般
` `(反向单引号)相当于$() 既识别变量,又识别命令 最聪明 - 启用命令选项-e,即echo -e ,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
a 发出警告声
退格键
c 最后不加上换行符号
换行且光标移至行首
回车,即光标移至行首,但不换行
插入tab
\插入字符