/** 5.4 Shell基础知识(bash)*/
1.bash简介
2.bash命令
//格式:[Shell命令][选项][参数]
例子:[root@server ~]#
root:用户身份
server:主机名
~:文件所在的位置
#:提示符
只有root(超级用户)的提示符是#
其他身份的用户的提示符是$
例子2:[root@rhel ~]# ls -l/root
//ls:将目录内容显示;-l:长列表格式;root是参数
3.常用控制组合键
Ctrl+D:输入结束或者注销当前用户身份
【添加新的用户身份:[root@server ~]# useradd 用户名(use1)
【切换新的用户身份:[use1@server ~]$ su - 用户名(use1)
【注销新的用户身份:[use1@server ~]$ logout 或者直接Ctrl+D
Ctrl+C:终止命令(即命令终止运行)
Ctrl+L:清屏
4.常用光标操作
Ctrl+A:移动光标到命令行首
Ctrl+E:移动光标到命令行尾
5.特殊字符
~:用户主目录
$:变量取值
|:管道
&:后台进程工作
<:输入重定向
>:输出重定向
>>:追加重定向
/:路径分隔符
;:命令分隔符
6.通配符
?:代表任何单一字符(a?:只能是第一位是a,之后的?只代表一个任意字符)
*:代表任何字符(a*:只要第一位是a,后边是任何一个或者多个字符都行)
[字符组合]:在中括号中的字符都符合
[!字符组合]:不在中括号中的字符都符合
/** 5.5 Shell使用功能*/
1.命令行自动补全
1>.命令名(文件名)的首字母+tab键,即可补全命令名(文件名)
如若有重复首字母的命令名(文件名)可以按2次tab键,从中找到所需的命令名(文件名)
2>.对路径的补齐(一直按tab键)
3>.对变量的自身补齐,【变量前缀都是大写】
2.历史命令记录
以·开头的文件都是隐藏文件
[root@server ~]# echo $HISTFILE
3.命令排列
4.命令替换
5.命令别名
例:将ls -l/boot 创建别名为ok
[root@server ~]# alias ok='ls -l/boot'
查看ls -l/boot
[root@server ~]# ok
取消别名
[root@server ~]# unalias ok
/**5.6 重定向(重要)*/
0 键盘 stdin(标准输入)
1 屏幕 stdout(标准输出)
2 屏幕 stderr (错误输出)
例1:[root@server ~]# cat 【cat就把标准输入和标准输出联系在一起】
aaas
aaas
asd
asd
qwe
qwe
[root@server ~]#【Ctrl+D】结束命令
1.输出重定向 //命令语法 :[命令] >[文件]
例2:将下表为1的全部重定向输出在root/test.log
[root@server ~]# ls 1>/root/test.log
将aaa输出到/root/test.log中
[root@server ~]# echo aaa>/root/test.log
显示root/test.log中的内容
[root@server ~]# cat /root/test.log
aaa
2.错误输出重定向
例3:[root@server ~]# ls asdf 1>/root/test.log 2>root/test.log
= [root@server ~]# ls asdf 1>/root/test.log 2>&1
= [root@server ~]# ls asdf &>/root/test.log
3.标准输入
[root@server ~]# cat </etc/passwd
=[root@server ~]# cat /etc/passwd
[root@server ~]# cat >/root/test.log <<EOF【<<EOF:可以替代Ctrl+D结束命令】
7.管道(重要)//命令语法:[命令1]|[命令2]|[命令3]
[root@server ~]# ps -ef /root/test.log 查看所有当前进程的信息
[root@server ~]# grep ‘关键字’ /root/test.log 检索所有含有该关键字的信息
[root@server ~]# rpm -qa /root/test.log 查询系统所有安装软件的安装包
[root@server ~]# sort /root/test.log 按字母排序
[root@server ~]# wc /root/test.log 为每个文件打印换行数(-l),字符数w和字节数c
例:abc.log中 acv ssddg ca wc -l 4
fff d wc -w 7
qwe wc -c 18
g
/**5.7 远程连接Linux系统 */
1.服务器端:ssh协议
[root@server ~]# service sshd status
//service(管理后台服务) status (状态)[start开启/stop关闭 ]
[root@server ~]# netstat -tlnp | grep 22
//netstat(查看当前主机的网络状态) tlnp(t:只看tcp;l:监听状态;n:端口号以数字显示;p:进程信息)
//grep 22(ssh的端口号是22)
vncserver
/** 第七章 目录和文件管理*/
1. Linux系统中的文件类型不是通过后缀来区分
Linux的文件类型常见的:普通文件 目录文件 设备文件(字符设备文件和块设备文件)管道文件和符号链接文件
"-rw-r--r" 其属性第一个符号是‘—’,这样的文件是普通文件
"drawxr-xr-xr-x" 其属性第一个符号是‘d’,这样的文件是目录文件
其属性第一个符号是‘b’,这样的文件是块设备文件
其属性第一个符号是‘c’,这样的文件是字符设备文件
其属性第一个符号是‘p’,这样的文件是管道文件
//特点;先进先出,也就叫做FIFO文件
其属性第一个符号是‘l’,这样的文件是软连接文件(符号链接文件)
echo 在终端上显示字符串