Linux就该这么学(看书记笔记-中)

本人非linux初级学习者,此处仅记录了比较感兴趣的部分,当然也比较详尽,亦可作为参考资料;本文亦推荐了若干学习链接,内容主要是从书中摘录,故为转载

第三章 管道符、重定向与环境变量

1、巧妙的组合

ls –l /etc | more -4 :  可以悠闲地一页四行,一页一页地翻看/etc目录下文件

2、重定向符:

<  filename  表示把文件内容作为输入对象

>  filename  表示输出到某文件               >>  表示追加到某文件

如:wc –l < filename  ===  cat filename | wc –l

3、alias 别名=命令   |         unalias 别名

第四章 Vim编辑器与Shell命令脚本

1、vim快捷键

dd 剪切光标所在整行

yy 复制光标所在整行

p 粘贴截切或复制的部分

5dd 剪切光标处开始的5行

5yy 复制光标处开始的5行

u   撤销上一步

/字符串  从上至下搜索

N    上一个

:set number  显示行数

?字符串  从下至上搜索

n     下一个

:set nonumber  不显示行数

2、shell脚本的三种执行方法

chmod u+x 111.sh  ->   ./111.sh

sh 111.sh

source 111.sh

3、执行脚本所携带参数

$#  参数个数

$3  第3个参数

$0  当前脚本的名称

$?  上条命令是否执行成功

$*  所有参数

 

4、if判断

-d  目录是否存在

-e  文件与目录是否存在

-w  当前用户是否有权限写

-f  文件是否存在

-r   当前用户是否有权限读

-x   当前用户是否有权限执行

  • 不在脚本中的执行方法:

方法一:

[ -d /home/lalala ]

echo $?    若结果为0,则/home/lalala目录存在,若结果为1,则/home/lalala目录不存在,妙!

方法二:

[ -d /home/lalala ] && echo “yes”

若有输出结果,则/home/lalala目录存在,否则不存在

  • [ $USER != root ] && echo “$USER” : 如果当前用户非root用户,则输出当前用户名
  • [ $USER != root ] && echo “$USER” || root  ===  echo “$USER”

|| 后面的内容执行是说明前面的内容不成立

&& 后面的内容执行是因为前面的内容成立

-eq   等于

-gt  大于

-ge   大于等于

-ne   不等于

-lt  小于

-le   小于等于

[ 10 –eq 10]

echo $?

5、ping命令:脚本判断是否ping通

ping 127.0.0.1 –c 3 –i 0.2 –W 3

echo $?

-c 发送数据包的个数

-i 每多少秒发一个数据包

-W 几秒超时

6、read命令:人机交互

read –p “please input num: “ NUM    用户输入

echo $NUM    输出的就是用户设定的值

7、逐行读取文件

HLIST=$(cat lalala.txt)

for str in $HLIST

do

echo $str

done

8、0-999之间的任意整数:  x=$(expr $RANDOM % 1000)

9、case命令

read –p “Enter: “ KEY

case $KEY in

[a-z]|[A-Z]) echo “字母”;;

[0-9]) echo “数字”;;

*) echo “其他”

esac

10、at命令:后台定时任务,格式为 at [时间] ,时间格式比较随意

执行at 14:55,输入定时任务命令,Ctrl+D保存退出

单条定时任务亦可如此:echo “sh 111.sh > log” | at 14:55

一个任务含多条定时命令:echo –e “sh 111.sh > log1\n sh 111.sh > log2\n sh 11.sh > log3” | at 14.55 (此处的命令依次执行)

stq 或者 at –l :查看未执行的定时任务

at –c 任务序号:预览任务与设置环境

atrm 序号:删除任务

11、cron命令:常见长期可循环的计划任务

crontab –e [-u 用户名] : 创建、编辑计划任务

crontab –l [-u 用户名] : 查看计划任务

crontab –r [-u 用户名] : 删除计划任务

分钟

0-59

小时

0-23

日期

1-31

月份

1-12

星期

0-7(0和7均为周日)

命令

要执行的命令或程序脚本

如:每周1、3、5的凌晨2点35分执行命令:sh 111.sh

35 2 * * 1,3,5 sh 111.sh

12、df命令

-a  显示出所有的文件系统

--total  展示出总体使用量

-h  更易读的容量格式

-i  展示出Inode的信息

-T  显示出文件系统的类型(ext3、ext4等)

 

13、du命令

-a  评估每个文件而非目录整体占用量

-h  更易读的容量格式

-c  评估每个文件并计算出总占用量总和

-s  仅显示占用量总和

14、ln命令

创建硬链接:ln 文件名 连接名

创建软链接:ln –s 文件名 连接名

 

你可能感兴趣的:(Linux与工具)