您的位置:首页 > 运维架构 > Shell

简单的shell脚本

2017-09-01 10:06 197 查看
与运算(取小运算):只有两个为1,才为1,其他都为0

或运算(取大运算):有一个为1就为1,其他为0

抑或运算:相同为0,不同为1

清空命令行: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
NDK=10
text="i love shell"

#命令的执行结果的输出作为变量的值
text1=`date`
text2=$(who)

echo $NDK
echo $text
echo "$text very much"
echo "\$NDK"
echo $text1
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


参数的总量:$#

参数的list:$@

/////////////////////////////////////////////////////////////////////////////////////////

gcc -fpic a.c

gcc a.c -o tim

man printf 按q可以退出

useradd -m xxx

passwd xxx

userdel xxx

cat /etc/group 查看有哪些用户

groupadd dn添加一个组

usermod -G dn xxx 修改一个用户所在的组

group del

echo $PATH

date

who

chmod u+x a.c

chmod g+x a.c

chmod o+x a.c

(expr …) == []

eq ==

le <

bc中

scale小数点位数

obase要转成多少进制

ibase当前是什么进制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell