Linux实际操作

1.文件权限

1.chmod更改权限

更改文件夹最大权限

chmod -R 777 /tmp/dir2011/

2.chown更改所有者

chown -R user:group /tmp/dir2011/

3.chgrp更改所属组(不常用)

2.查找命令

1.find

find /abc  -name *abc.txt*

find / -name /abc -type d

2.locate 快

updatedb

locate abc.txt

3.grep

     行号 查找文字
1. grep -n abc  abc.txt

2. ls | grep .txt

3.压缩

1.gzip gunzip 

后缀名 .gz

2. zip unzip

压缩后的文件名称 压缩文件

zip -r etc.zip /etc/

unzip -d /tmp myroot.zip

3.tar

      压缩后的文件名

tar -zcvf /path abc.tar.gz abc.txt

tar -zxvf /path abc.tar.gz

4.磁盘分区分区

分区类型mbr分区,gpt分区,xfs分区

Shell脚本

1.Shell的作用

shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核

2.shell入门

2.1多命令处理

在当前下创建一个bangzhang.txt并在文件中写入"I IOVE YOU"字符

#!/bin/bash
touch banzhang.txt
echo "I LOVE YOU" >> banzhang.tx

2.2变量

1. 预定义变量
  • $HOME: 当前用户的主目录。
  • $PWD: 当前工作目录。
  • $USER: 当前用户的用户名。
  • $HOSTNAME: 主机名。
  • $RANDOM: 生成一个随机数。
  • $SECONDS: 脚本运行的时间(单位为秒)
2.自定义变量
  1. 定义变量:变量=值 等号两边不能留有空格
  2. 撤销变量:unset 变量
  3. 输出变量:echo $变量
  4. 声明静态变量: readonly 变量,注意:不能unset

[linux@localhost datas]$ A=1

[linux@localhost datas]$ echo $A

1

[linux@localhost datas]$ unset A

3.特殊变量
  • $#: 传递给脚本或函数的参数个数。
  • $*: 以一个字符串显示所有传递给脚本或函数的参数(参数之间以第一个字符分隔,默认为空格)。
  • $@: 与$*相同,但每个参数被双引号引起来。
  • $?: 上个命令的退出状态,或函数的返回值。
  • $$: 当前Shell进程ID(PID)。
  • $!: 后台运行的最后一个进程的进程ID。

 2.3运算符

  1. $((运算式)) 或 $[运算式]
  2. expr +,-,\*,/,% 加减乘除取余
    expr运算符间要有空格
# 计算2+3
[linux@localhost datas]$ expr 2 + 3
5

# 计算(2+3)*4
## 方式1
[linux@localhost datas]$ expr `expr 2 + 3` \* 4
20

## 方式2
[linux@localhost datas]$ s=$[(2+3)*4]
[linux@localhost datas]$ echo $s
20

 2.4条件判断

两个整数之间比较
符号描述
-lt(less than)小于
-le(less equal) 小于等于
-eq(equal)等于
-gt(greater than) 大于
-ge(greater equal) 大于等于
-ne(not equal) 不等于
文件权限判断
  • -r 有读的权限
  • -w 有写的权限
  • -x 有执行的权限
文件类型判断
  • -f 文件存在并且是一个常规文件
  • -e 文件存在
  • -d 文件存在并是一个目录
# 判断23是否大于2
[linux@localhost datas]$ [ 23 -gt 2 ]
[linux@localhost datas]$ echo $?
0

# 判断helloworld.sh是否有写入权限
[linux@localhost datas]$ [ -w hellowrld.sh ]
[linux@localhost datas]$ echo $?
1

# 判断目录中文件是否存在
[linux@localhost datas]$ [ -e /home/linux/datas ]
[linux@localhost datas]$ echo $?
0
多条件判断

&& ||

2.5流程控制

IF判断
[linux@localhost datas]$ cat if.sh
#!/bin/bash
if [ $1 -eq 1 ]
then
	echo "班长真帅"
elif [ $1 -eq 2 ]
then
	echo "班长真丑"
fi
[linux@localhost datas]$ bash if.sh 2
班长真丑
case 语句
[linux@localhost datas]$ cat case.sh
#!/bin/bash
case $1 in
1)
	echo "班长"
;;
2)
	echo "学习委员"
;;
3)
	echo "体育委员"
;;
esac
[linux@localhost datas]$ bash case.sh 2
学习委员
for循环
语法1
[linux@localhost datas]$ cat for.sh
#!/bin/bash
s=0
for((i=1;i<=100;i++))
do
	s=$[$s+$i]	
done
echo $s
[linux@localhost datas]$ bash for.sh
5050
语法2
[linux@localhost datas]$ cat for2.sh
#!/bin/bash
for i in $*
do
	echo $i
done
[linux@localhost datas]$ bash for2.sh 1 2
1
2
WHILE循环
[linux@localhost datas]$ cat while.sh
#!/bin/bash
s=0
i=1
while [ $i -le 100 ]
do
	s=$[$s + $i]
	i=$[$i + 1]
done
echo $s

[linux@localhost datas]$ bash while.sh
5050
basename
basename [string / pathname] [suffix] (描述:basename命令会删掉所有的前缀包括最后一个‘/’字符,然后将字符串显示出来)
  • 1
# 方式1
[linux@localhost datas]$ basename /home/linux/banzhang.txt
banzhang.txt

# 方式2
[linux@localhost datas]$ basename /home/linux/banzhang.txt .txt
banzhang
dirname
dirname 文件绝对路径 (描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))
  • 1
[linux@localhost datas]$ dirname /home/linux/banzhang.txt
/home/linux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java狂魔哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值