-
man与info 这两个指令请一定要会使用
-
内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等;
-
每个文件都有一个inode,存储文件的元信息。 使用 stat 命令可以查看文件的inode信息。每个inode都有一个号码, Linux/Unix操作系统不使用文件名来区分文件,而是使用inode号码区分不同的文件。
-
目录文件: 链接文件分为符号链接(软链接)文件和硬链接文件
-
设备文件:字符设备与块设备最根本的区别就是它们是否可以被随机访问。 如键盘,当我们在键盘上敲下一个单词: "word"的时候, 那么系统肯定是需要按照顺序来进行读取word的字节流(字符流)的,随机访问在此时是没有意义的。
-
管道文件: 管道文件一般用于进程间通信,使用mkfifo命令可以创建一个管道文件。
-
Socket套接字文件: 套接字文件被用于网络进程之间的通信,既可以使2台不同的机器进行通信,也可以用于本机的Socket网络程序。
-
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用ls ‐ahl命令可以看到文件的所有者(所有组) 也可以使用chown 用户名 文件名来修改文件的所有者 。也可以使用chgrp 组名 文件名来修改文件所在的组。
-
在linux中,除了bash shell以外,还有很多版本的shell, 例如zsh、dash等等…不过bash shell还是我们使用最多的。 shell 的第一行比较特殊,一般都会以#!开始来指定使用的 shell 类型。
-
#!/bin/bash name="SnailClimb" # 使用双引号拼接 greeting="hello, "$name" !" greeting_1="hello, ${name} !" echo $greeting $greeting_1 # 使用单引号拼接 greeting_2='hello, '$name' !' greeting_3='hello, ${name} !' echo $greeting_2 $greeting_3 ----------------------------------------------------------------- #!/bin/bash #获取字符串长度 name="SnailClimb" # 第一种方式 echo ${#name} #输出 10 # 第二种方式 expr length "$name"; -------------------------------------------------------------------- 简单的字符串截取: #从字符串第 1 个字符开始往后截取 10 个字符 str="SnailClimb is a great man" echo ${str:0:10} #输出:SnailClimb 根据表达式截取: #!bin/bash #author:amau var="http://www.runoob.com/linux/linux-shell-variable.html" s1=${var%%t*}#h 正数t之前 s2=${var%t*}#http://www.runoob.com/linux/linux-shell-variable.h 倒数t之前 s3=${var%%.*}#http://www 正数.之前 s4=${var#*/}#/www.runoob.com/linux/linux-shell-variable.html 正数/之后 s5=${var##*/}#linux-shell-variable.html 倒数/之后 #即 %字符* 之前 # #*字符 之后 # 双%% 或 双## 是正数,单个是倒数。
-
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
#!/bin/bash array=(1 2 3 4 5); # 获取数组长度 length=${#array[@]} # 或者 length2=${#array[*]} #输出数组长度 echo $length #输出:5 echo $length2 #输出:5 # 输出数组第三个元素 echo ${array[2]} #输出:3 unset array[1]# 删除下标为1的元素也就是删除第二个元素 for i in ${array[@]};do echo $i ;done # 遍历数组,输出: 1 3 4 5 unset arr_number; # 删除数组中的所有元素
-
if 条件语句
#!/bin/bash a=3; b=9; if [ $a -eq $b ] then echo "a 等于 b" elif [ $a -gt $b ] then echo "a 大于 b" else echo "a 小于 b" fi
-
for 循环语句
##输出当前列表中的数据: for loop in 1 2 3 4 5 do echo "The value is: $loop" done ##产生 10 个随机数 #!/bin/bash for i in {0..9}; do echo $RANDOM; done ##输出1到5: #!/bin/bash for((i=1;i<=5;i++));do echo $i; done;
-
while 语句
##基本的 while 循环语句 #!/bin/bash int=1 while(( $int<=5 )) do echo $int let "int++" done #while循环可用于读取键盘信息 echo '按下 <CTRL-D> 退出' echo -n '输入你最喜欢的电影: ' while read FILM do echo "是的!$FILM 是一个好电影" done
-
函数
#无参无返回值 #!/bin/bash hello(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" hello echo "-----函数执行完毕-----" #输出结果 -----函数开始执行----- 这是我的第一个 shell 函数! -----函数执行完毕--- #有返回值的函数 #!/bin/bash funWithReturn(){ echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum 和 $anotherNum !" return $(($aNum+$anotherNum)) } funWithReturn echo "输入的两个数字之和为 $?" #输出结果: 输入第一个数字: 1 输入第二个数字: 2 两个数字分别为 1 和 2 ! 输入的两个数字之和为 3 #带参的函数 #!/bin/bash funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" echo "第十个参数为 ${10} !" echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !" } funWithParam 1 2 3 4 5 6 7 8 9 34 73 #输出结果: 第一个参数为 1 ! 第二个参数为 2 ! 第十个参数为 10 ! 第十个参数为 34 ! 第十一个参数为 73 ! 参数总数有 11 个! 作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !
大杂烩知识点总结(四)——Linux(部分)
最新推荐文章于 2024-09-14 11:45:11 发布