(1) Root 是管理员,光标前为#
(2) 其他名称为普通用户,光标前为 $
(1) su - root 表示切换到管理员权限,需要输入密码,也可以直接用su -
(2) u - 其他用户名,表示切换到其他用户
1、* 代表任意一个(1个或多个)
2、?代表1位,且必须为1位
3、[ ]表示括号中的每一个
ls test[ab]
结果是 testa testb
ls test[0-6]
结果是 从最后一位是 0-6
取匹配ls test[a-Z]
结果是 从最后一位是所有字母去匹配[^a-c]
表示取反,即非 a-c
的字符4、{ }
字符串,字符串之间用,间隔 ({sta,atb,stc}
)
1、进入编辑模式
i
表示在光标当前位置编辑。
a
表示在光标当前位置的下一个字符开始编辑。
o
表示在光标下一行开始编辑。O
光标上一行开始编辑。
2、命令行模式
0
(零)跳到行首(不能跳到行首前的空格处)
^
跳到行首(包括空格)
$
跳到行尾
gg
跳到第一行的行首
GG
跳到最后一行的行首
yy
复制单行,5yy或y5y复制5行
p
粘贴,如果复制是1行,则p到下一行,如果复制的是10行,则p粘贴10行
dd
删除一行,5dd删除5行
cc
删除一行,并进入删除模式
x
删除字符
dw
删除单词
查找 /
,n
向下翻,N
向上翻
w
按单词走
u
撤销
3、底行模式
:wq
保存并退出:q!
强制退出/
查找set ic
忽略大小写set noic
取消忽略大小写set nu
内容编号set nonu
取消内容编号%s/spool/linux/g
表示将所有的 spool
替换为 linux
,g
是固定用法。1、gzip
压缩单个文件,以 .gz
结尾,压缩后源文件不在了
解压
gunzip
同 gzip -d
2、bzip2
压缩单个文件,以.bz2结尾
解压
bunzip2
同 bzip2 -d
3、xz
压缩单个文件,以.xz结尾
解压
4、zip
压缩
解压
源文件还在
5、tar (打包)
压缩
gz解压
z
表示 gzip
,j
表示 bzip2
,J
表示 xz
bz2
解压
xz 解压
1、绝对路径:是以/开头,从根目录开始一级一级往下写(/root/tmp/test)
2、相对路径:不以/开头,从当前路劲开始(tmp/test)
1、权限分4部分:
u(user)
用户权限;g(group)
组权限;o(other)
其他用户权限;a(all)
;2、文件类型:
-
普通文件;d
目录;l
软链接;3、u g o
分别有 r w x
(读、写、执行)权限。
4、文件增加权限
5、文件赋权
6、给目录加权限,要给目录下所有的文件加权限,才有意义
7、改变拥有者
8、改变组
9、改变拥有者和组
1、新增用户:
2、删除用户
3、添加组
4、查看组
5、添加组成员:
6、删除组成员
1、man 命令
查外部命令,查内部命令时会把所有的命令列出
2、help 命令
查找内部命令
1、ps -ef
进程快照
top
命令:实时进程
free
命令:查看系统内存情况
2、grep 按行过滤,语法:grep 选项 参数
3、剪切
4、查看端口号
5、kill 结束进程
(1)kill filename或kill -15 filename 是建议结束进程。
(2)kill -9 filename 表示强制结束进程。
1、系统服务
① uname -a
查看操作系统名称及环境
② hostname
查看服务器名称
③ cat /etc/redhat-release
查看系统的具体版本
2、系统磁盘
① df -h
查看磁盘分布信息
② du -h
查看文件占用磁盘情况
3、系统启动
① 关机
② 重启
1、二进制安装
(1) rpm包(redhat package management)
安装:rpm -ivh 程序包
卸载:rpm -e
查看是否安装: rpm -qa
统计多少个安装程序:rpm -qa | wc -l
查看安装信息: rpm -qi
列出安装目录文件:rpm -ql
列出配置文件: rpm -qc
安装前查看包信息:rpm -qpi
(2) yum
安装:yum install -y 安装包
卸载:yum remove 或 yum erase
2、源代码安装
(1) 安装步骤
① 解压后找到configure
② 执行:./configure --prefix=/usr/local/目录名
③ make
④ make install
(2) 安装后需要指明路径(配置环境变量)
(3) 卸载:rm -rf
1、管道 |
(1)表示将前面命令的结果,作为后面命令的参数
(2)cat -n test | head -12 | tail -2
表示取第11 和12行
(3)-v
显示控制字符,-n
对输出行进行编号,-b
和 -n
一样,但空白行不编号。
2、echo
(1)echo $PATH | tr “:” “\n”
表示输出以:分割换行的格式
(2)echo –n “hello world”
不换行
(3)echo “${PATH}abc“
表示输出变量PATH的值,后面跟abc
(4)echo “now is $(date)”
命令替换
(5)echo ‘now is ${PATH}’
单引号可以去掉$的功能,直接输出单引号内的字符
(6)echo –e “hello\nworld” –e
使引号内转义符生效
(7)\
转义符,使后面一个字符失效
3、read 定义一个变量
(1)read username age
(2)read –p “please input your name :” name
表示在输入变量时给出相应的提示。
4、tee
tee -a file
表示将文件追加到末尾
5.重定向
ls > file
表示重定向到文件中,会覆盖原有内容;ls >>file
表示追加到文件末尾;ls 2>file
表示标准错误重定向到文件中,会覆盖原有内容;ls &>file
表示标准输出和标准错误一起重定向到文件中;ls 1>file1 2>file2
表示标准输出重定向 file1
,标准错误输出重定向到 file2
;1、cron 定时任务
管理员在 /etc/crontab
里面可以编辑定时任务
比如:5,25 15 * * *,表示每天的15时的5分和25分运行脚本。
普通用户创建为,执行命令 crontab * * * * *
加选项 -e
编辑 ,-l
查看任务;
3、&
(1)将某个运行的命令,放到后台执行。
(2)nohup 命令 &
比如:nohup sleep 500 &
1、系统变量
系统变量都是大写;
设置环境变量:export 将普通变量变成系统变量;
变量命令要求:只能以字母、下划线、数字组成,且不能以数字开头;
env
查看所有的系统环境变量;
unset var_name
清除系统环境变量;
2、用户变量
设置用户变量:
清除变量:set var_name
set
显示用户所有变量
source /etc/profile
让 profile
生效
eho ${name:=peter}
表示如果 name
存在就显示 name
的值,如果不存在就显示 peter
3、位置变量
向shell脚本传递参数
$0
表示脚本名称本身(包含前面的路径),$1
表示第一个参数,以此类推。
4、特定变量
返回值为0即成功,返回非0即失败。
1.文件测试
[ -f file.txt ]
判断file是否为普通文件[ -d file ]
判断file是否为目录[ -s file ]
判断file文件长度大于02.逻辑操作符
-a
[ -f file –a –d file1 ]
表示判断两个条件是否同时满足。(与运算)
-o
[ -f file –o –d file1 ]
表示判断两个条件是否有一个满足。(或运算)
!
表示取非,比如 [ ! –f file ]
3.数值测试
-eq
数值相等 ,比如 [ “$num” –eq “100” ]
-ne
数值不等-gt
第一个数大于第二个数-lt
第一个数小于第二个数-le
小于等于-gt
大于等于expr
简单计算expr 10 + 10 运算符两边要右空格
格式:
if
条件判断有真假,真则写在 then
后面,假则写在 else
后面,其中真假都可以继续嵌套 if
语句。
格式
举例
格式
while 是判断条件为真时执行命令,until是判断条件为假时执行命令,语法格式都一样。
举例
break 是跳出离它最近的一个循环
continue 是结束这一次循环,继续下次循环
举例
格式