Shell语句 基本用法

来源:互联网 发布:淘宝的耐克鞋是正品吗 编辑:程序博客网 时间:2024/05/16 12:34
清空命令行:reset

文件操作:
显示列表
ls -l 
ls -la 所有
ls -l ja* 通配符查找

创建文件
touch today.c

复制文件
cp src.txt dest.txt
cp -i src.txt dest.txt 询问
cp src.txt . 复制到当前目录
cp -R 目录 dest 复制整个目录到指定路径
cp c_?1 ../  通配符复制到上级目录

删除文件
rm file

删除目录
rm -rf 目录

查看文件类型:
file 文件

查看文件内容:
cat file
cat -n file 显示行号

查看文件最后10行
tail -n 10 file
查看文件最开始的10行
head -n 10 file

创建用户
useradd -m jack 创建用户的同时,创建了home目录
userdel -r jack 删除用户
passwd Tim 增加密码

创建组
groupadd androidgroup
分配用户到组
usermod -G androidgroup jack

文件权限
r读 w写 x执行
drwxr-xr-x
d rwx r-x r-x
d目录
1.文件所属用户具备的权限(root对该文件具备读写执行权限)
2.文件所属用户的所属组具备的权限(读、执行)
3.系统的其他用户具备的权限(读、执行)

rwx必须是固定顺序

权限 二进制 八进制
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

修改文件权限
chmod 644 file
给用户加上执行权限
chmod u+x file

改变创建目录的默认权限
umask 026

777-026

改变文件的所属
chown user.group file
chown user file
chown .group file

----------------------shell脚本
输出
echo 

#!/bin/bash                                                                 
 2 NDK=10
 3 text="i love shell"
 4 
 5 #命令的执行结果的输出作为变量的值
 6 text1=`date`
 7 text2=$(who)
 8 
 9 echo $NDK
10 echo $text
11 echo "$text very much"
12 echo "\$NDK"
13 echo $text1
14 echo $text2

命令执行退出的状态:
0 成功
127 没有找到命令
1 未知错误
126 命令不可执行

只有if命令的退出状态码为0,才会执行then部分
if 命令
then 
   命令
fi

test数值比较
-gt
-eq 等于
-le 
-ne 不等于

test字符串比较
str1 == str2
str1 != str2
str1 < str2
-n str1 长度是否非0
-z str1 长度是否为0

文件比较
-d 检查是否存在,并且是一个目录
-e 检查file是否存在
-f 检查是否存在,并且是一个文件
-r 检查是否存在,并且可读
-w、-x
file1 -nt file2 file1比file2新
file1 -ot file2 file1比file2旧

case命令
case 变量 in
pattern1) 命令;;
pattern2) 命令;;
*) 默认命令;;
esac

for命令
for var in list
do
命令
done

while命令
while test command
do
命令
done