linux shell script

#!/bin/bash  
############################
#desc:这只是练习案例
############################

read -t 10 -p '请输入你的名字: ' name;  #name变量提示用户输入,用户10秒未      输入结束

name=${name:- 'ace'}; #当name未定义时默认值为ace

1.判断

-e : 该文件名是否存在(目录或文件)

-f : 该文件是否存在

-d : 该目录是否存在

-r : 该文件是否具有读权限

-w : 该文件是否具有写权限

-x : 该文件是否具有执行权限

-eq : 两个值是否相等

-gt -lt : 大于,小于

== : 判断两个字符串是否相等

-a : and 相当于 &&

-o : or 相当于 ||

-! :  取反

linux command

 1.bc  简单的计算机,可进行四则运算

2.who  查看有哪些用户连接到终端

3.netstat  用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

 4.shutdown  惯用关机命令

重启命令:reboot,halt,poweroff        将数据同步写入硬盘中的指令: sync

5.su 用户名    切换用户

6.chgrp 改变所属群组

7.chown [-R] 帐号名称:群组名称 文件或目录

8.chmod [-R] 权限 文件或目录

9.mkdir  [-p]  创建文件夹 (make directory)

10.cd   修改目录   (change directory)

11.pwd   显示当前工作目录  (print working director)

12.rmdir  删除目录  (remove directory)

13.cp  复制文件 copy     cp  -p   连同文件的属性一起复制过去

14.mv  移动文件   move(可以重命名)

15.rm  删除文件或目录

16.basename    dirname    获取文件的路径或文件名

17.文件内容查阅

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行
  • od 以二进制的方式读取文件内容!动态查看文件后两行信息

18.chattr   [+-+]  [ASacdistu]  设置文件隐藏属性

a:设置a后文件只能增加数据,不能修改和删除

i:不能删除、改名、设置链接,也无法写入或更新数据 

19.passwd  新密码   修改密码

-l : 锁定账号

-u : 解锁账号

 

20.which -a command  查询命令所在位置

21.locate [-ir]      查询文件     updatedb 更新库文件

i:忽略大小写

r:后面可接正则表达式

22.df  列出文件系统使用量

23.du 列出目录下所有文件大小

24.lsblk  列出系统下所有磁盘以及磁盘的分区信息  blkid 

25.parted  查看分区信息

26.gdisk  fdisk    分区

27.mkfs.[xfs|ext4|ext3]   格式化分区

28.mount 挂载分区

mount 设备名 挂载目录

mount UUID=”设备编号” 挂载目录

29.umount 设备文件名   设备文件卸载

设置开机自动挂载 vim /etc/fstab 30.vi  编辑机器

一般指令模式

[ctrl]+[f]  / page down  屏幕向下翻一页

[ctrl]+[b] / page up  屏幕向上翻一页

0/home | $/end   光标移动到当前行的头或尾

G 光标移动到文件最后一列

nG |ngg   n为数字光标移动到文件第n列

gg 移动到文件第一列

n<enter>   n 为数字,光标向下移动n列

/word | ?word    向下或向上搜索文本内容 ‘word’为需要搜索的关键字

n 重复前一个搜索的动作、

dd  删除光标所在行

ndd  n为数字,删除光标所在的向下n行

yy 复制光标所在行

nyy  n为数字,复制光标向下n列

p  将以复制的数据,粘贴到光标所在的下一列

u  撤销上一个动作

:w  将编辑的数据写入到磁盘

:q  离开  :q!  强制离开(修改过文件不想写入)

:wq  存储后离开

:w [filename]  数据存储为另一个文件

:set nu 显示行号

:set nonu 取消显示行号

块操作

v 字符选择,将光标所经过选中

y 复制光标选中

p 粘贴复制内容

d  删除光标选中内容

多窗口

:sp [filename]  多窗口,不输入文件名默认打开当前文件

ctrl+w+↑|↓   切换窗口,同时按住ctrl+w 后 松开按下上下箭头切换

31.id 用户名  查看用户信息

32.useradd   增加账号

32.sudo   visudo

33.last  查看当前账号登录记录

34.lastlog  查看所有账号登录记录

35.write  账号   终端端口      和某个终端通话

36.wall  ‘消息’   给所有终端发消息

1.影响显示结果的语系变量(locale)

locale -a 查看支持的语系   (语系变量配置文件位置  /etc/locale.conf)

2.read  [-pt] 变量名   变量键盘读取

3.ulimit [option]    /etc/security/limits.conf

3.history

4.wc

依次是:行数 字数(英文单词) 字符数

5. grep  [-A] [-B] [–color=auto] ‘查询的字符串’ filename

6.sed [-i] 功能 文件名

-i :直接修改文件内容

功能:a:新增 c:取代 d:删除

1.在第二行后新增 ‘dddddd’

2.把第3-5行替换成 gggggg

3.删除第2-8行

lsof -i:8080  查看指定端口配哪个应用程序占用