shell 学习

2017-07-17  本文已影响0人  奋斗小威

清空命令行: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 删除用户

创建组

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

—————

#!/bin/bash

a=10

b=20

#expr命令

c=${expr $b / $a}

#方括号

d=$[$sa * 2]

#bc 浮点数计算

#| 管道,一个命令的输出作为另一个命令的输入

#scale 是自带的内建变量

e=$(echo “scale=4;$a / 3” | bc)

#内联输入重定向

f=$(

bc<< EOF

scale=4

a1= ($a * $b)

a1/3

EOF

)

echo “c:$c”

echo “d:$d”

echo “e:$e”

echo “f:$f”

————————

#!/bin/bash

echo “ my shell exit”

exit_5

————————

#!bin/bash

if pwd

then

echo “ok”

else

echo “error”

if

————

查找 在password 找 testuser 变量

grep $testuser /etc/passwd

#!/bin/bash

testuser=lady

if grep $testuser /etc/passwd

then

echo “ok”

ls -a /home/$testuser/

elif ls -d /home/$testuser

then

echo “用户不存在,主目录存在“

else

echo “testuser not exist ”

fi

————

#!/bin/bash

#test命令 如果条件成立,test命令状态为0退出,if条件成立

var=“”

if test $var

then

echo ” test=true”

else

echo “test=false”

fi

—————

#!/bin/bash

a=10

b=5

if [ $a -gt $b ]

then

echo ”$a greater than $b“

else

echo “$a smaller than $b”

fi

————

上一篇下一篇

猜你喜欢

热点阅读