文章目录
- 1.查询网络
- 2.查看文件
- 3.查看当前路径
- 4.切换目录
- 5.使用帮助
- 6.创建空文件夹
- 7.创建多级文件夹
- 8.复制文件夹
- 9.复制多级文件夹
- 10.移动文件夹
- 11.修改文件夹名称
- 12.生成空文件
- 13.生成带内容的文件
- 14.删除文件
- 15.删除空文件夹
- 16.删除文件夹及其中的全部内容(不删除此文件夹)
- 17.查看文件中的内容
- 18.查看日历
- 19.查询三个账户文件
- 20.创建用户
- 21.为用户设置密码
- 22.修改用户名
- 23.删除用户
- 24.创建组
- 25.设置组密码
- 26.修改组名
- 27.删除组
- 28.切换到其他用户
- 29.压缩文件
- 30.解压文件到某个位置
- 31.下载和安装软件(Ubuntu)
- 32.为文件赋予权限
- 33.改变文件所属用户和所属组
- 34.shell环境变量
- 35.shell特殊变量
- 练习1 使用bash在/home/hadoop/目录下创建一个cls.txt,在cls.txt文件中增加“I love cls”
- 练习2 写一个脚本,输出该脚本文件名称、输入参数1和输入参数2 的值
- 练习3 写一个脚本,使用for从1加到100
- 练习4 写一个脚本,获取输入参数的个数
- 练习5 写一个脚本,打印输入的所有参数
- 练习6 写一个脚本,输入一个数字,如果是1,则输出i love java,如果是2,则输出i love linux,如果是其它,输出other
- 练习7 写一个脚本,使用for打印所有输入参数
- 练习8 写一个脚本,使用while从1加到100
1.查询网络
- ifconfig 查看ip地址
- route 显示内核ip路由表,查询网关
2.查看文件
- ls 文件名
3.查看当前路径
- pwd
4.切换目录
- cd 路径 切换到指定路径
- cd … 返回上一级
- cd / 切换到根目录
- cd ~ 切换到家目录
5.使用帮助
- man 打开manufacture手册
- help 打开指令的帮助
6.创建空文件夹
- mkdir 文件夹名
7.创建多级文件夹
- mkdir -p a/b/c (p表示parent)
8.复制文件夹
- cp
9.复制多级文件夹
- cp -r
10.移动文件夹
- mv
11.修改文件夹名称
- mv 文件名 新文件名
12.生成空文件
- touch 文件名
13.生成带内容的文件
- echo “HelloWorld”>1.txt
14.删除文件
- rm
15.删除空文件夹
- rmdir
16.删除文件夹及其中的全部内容(不删除此文件夹)
- rm ./*
17.查看文件中的内容
- cat 文件名
18.查看日历
- cal
19.查询三个账户文件
- cat /etc/passwd 用户文件
- cat /etc/shadow 密码文件
- cat /etc/group 组文件
20.创建用户
- adduser 有提示信息(创建时设置密码所在组等等)
- useradd 无提示信息
21.为用户设置密码
- sudo passwd 用户名
22.修改用户名
- sudo usermod -l 新用户名 原用户名
23.删除用户
- sudo userdel
24.创建组
- sudo groupadd 组名
25.设置组密码
- sudo gpasswd 组名
26.修改组名
- sudo groupmod -n 新组名 原组名
27.删除组
- sudo groupdel 组名
28.切换到其他用户
- su 用户名
- su - 用户名 (直接切换到家目录)
29.压缩文件
- tar -cvf 文件所在路径
- tar -zcvf 文件所在路径 将文件压缩成gzip格式
30.解压文件到某个位置
- tar -xvf 压缩包名 -C 新路径
31.下载和安装软件(Ubuntu)
- sudo apt-get install 软件名
32.为文件赋予权限
- 可以使用字母加权限 r为可读 w为可写 x为可执行
- 也可以使用数字加权限 可读4 可写2 可执行1
- 权限一共可以有 1 2 3 4 5 6 7种
- 1:只可以执行
- 2:只可写
- 3:1+2 可执行可写,不可读
- 4:只可读
- 5:1+4 可执行可都,不可写
- 6:2+4 可写可读,不可执行
- 7:1+2+4 可读可写可执行
- chmod +rwx 文件名
- chmod 777 最高权限
- chmod 111 最低权限
33.改变文件所属用户和所属组
- chown 用户名:组名
34.shell环境变量
- $PWD 当前工作目录
- $SHELL 默认解析器
- $HOME 用户家目录
- $USER 当前用户
35.shell特殊变量
- $ n $0表示脚本名称 $1-9表示传入的第1-9个参数 $10以上要加大括号, $ {10}
- $# 传入的所有参数的个数
- $* 传入的所有参数,看作整体
- $@ 传入的所有参数,区别对待
- $? 返回最后一次命令的执行状态,0表示执行成功,其它表示未成功
练习1 使用bash在/home/hadoop/目录下创建一个cls.txt,在cls.txt文件中增加“I love cls”
- (1)vi cls.txt
- (2)#!/bin/bash
cd /home/hadoop
echo “i love cls”>cls.txt - (3)chmod +x cls.txt
- (4) ./cls.txt
练习2 写一个脚本,输出该脚本文件名称、输入参数1和输入参数2 的值
- (1) vi test.txt
- (2) #!/bin/bash
echo “$0 $1 $2” - (3)chmod +x test.txt
- (4) ./test.txt
练习3 写一个脚本,使用for从1加到100
- (1) vi test.txt
- (2) #!/bin/bash
int sum = 0;
for((int i=1;i<=100;i++ ))
do
sum = $ [ $ sum+$i ]
done - (3)chmod +x test.txt
- (4) ./test.txt
练习4 写一个脚本,获取输入参数的个数
- (1) vi test.txt
- (2) #!/bin/bash
echo “$#” - (3)chmod +x test.txt
- (4) ./test.txt
练习5 写一个脚本,打印输入的所有参数
- (1) vi test.txt
- (2) #!/bin/bash
echo “$*” - (3)chmod +x test.txt
- (4) ./test.txt
练习6 写一个脚本,输入一个数字,如果是1,则输出i love java,如果是2,则输出i love linux,如果是其它,输出other
- (1) vi test.txt
- (2) #!/bin/bash
case $1 in
“1”)
echo “i love java”
;;
“2”)
echo “i love linux”
;;
*)
echo “other”
;;
esac - (3)chmod +x test.txt
- (4) ./test.txt
练习7 写一个脚本,使用for打印所有输入参数
- (1) vi test.txt
- (2) #!/bin/bash
for i in $*
echo $i
done - (3)chmod +x test.txt
- (4) ./test.txt
练习8 写一个脚本,使用while从1加到100
- (1) vi test.txt
- (2) #!/bin/bash
i=1
s=0
while[$ i -le “100”]
do
s=$ [ $ s+$i]
i= $ [ $ i+1]
done
echo $s - (3)chmod +x test.txt
- (4) ./test.txt