《Linux命令行和shell脚本编程宝典》读书笔记
这次阅读《Linux命令行和shell脚本编程宝典》这本书是第3次阅读。 总的来说,这本书还是挺不错的。很适合入门。我也是从这本书开始了解shell编程的。
不过,因为现在对Linux 环境也比较熟悉了,并且也会一些shell编程了,所以,这次看的时候会比较快,有些已经会的东西就没有写。只是记录下那些之前没有注意到的东西。
Linux命令行和shell脚本编程宝典 PDF 下载 见 http://www.linuxidc.com/Linux/2015-07/120677.htm
第1章 Linux shell入门
Linux 内核
GNU软件:
Gnome shell
Gnome软件
Linux发行版
(1)核心发行版
(2)特定发行版
第2章 了解shell
Linux下的虚拟控制台:ctrl+Alt+F1/F2/F3../F8
模拟终端:xterm, gnome terminal
1. 任务管理命令:
&: 最经常被用到,这个用在一个命令的最后,可以把这个命令放到后台执行
ctrl + z:可以将一个正在前台执行的命令放到后台,并且暂停
jobs:查看当前有多少在后台运行的命令
fg:将后台中的命令调至前台继续运行,如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg:将一个在后台暂停的命令,变成继续执行,如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
(1). 文件列表
ls -l -h -a -s
(2). 创建文件/目录
touch -a access time
-m modify time
-t time stamp
mkdir -p
(3). 复制文件/目录
cp -r(递归复制文件) -v -p(保留文件属性)
-R(递归复制目录)
-l(创建硬链接文件)
-s(创建软连接)
(4). 重命名
mv -v
(5). 删除文件/目录
rm -r -v -f
rmdir
(6). 查看文件内容
cat -n(编号)
vi,od(二进制),more,less,tail,head
nl(为输出加上行号)
stat(文件统计数据)
file(文件类型)
3.进程管理
(1). 进程查看
ps -aux
ps -l
ps -efH
top
(2)进程管理
kill
(3) 查看磁盘
mount -o loop
umount
df -h -l
du -c -h -s -a
(4) 数据排序
sort -n(进行数值排序)
-r(逆序)
(5)搜索数据
grep -n(显示匹配行号)
-v(反转搜索)
-c(统计匹配数)
-e(指定多个匹配)
4. 环境变量
(1). 创建全局环境变量
export
(2). 移除全局环境变量
unset
(3). 默认的环境变量
HOME,HOSTNAME,PATH,IFS(用于分割字段的字符列表),OPTARG,OPTIND
(4). 登录shell
当登录到Linux系统时,bash shell将作为登录shell启动.登录shel将查找4个不同的启动文件来处理其中的命令.
bash shell中处理文件的顺序如下:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
即先执行/etc/profile,接着检查用户的目录中是否有.bash_profile,.bash_login或.profile其中之一.
当执行新的shell时, 如果是执行交互式的shell,例如直接执行bash,bash会执行/etc/bashrc文件,然后检查用户目录中的.bashrc
如果非交互式(shell script),bash shell会去执行BASH_ENV环境变量的内容.
5.shell中数学计算
(1)count=1;count=$[ $count+1 ]
(2) let i=i+1;(( i=i+1 ))
(3)var=1;var=`expr $var + 1`
第4章 Linux中的权限管理
常用的命令:
useradd用于添加新用户
userdel删除用户,但是只删除/etc/passwd中的用户信息,不会删除账户在系统中拥有的任何文件
passwd 修改账户密码
chsh 修改默认shell
groupadd 添加用户组
chmod 修改权限
chown 修改所有者
chgrp 修改用户组
第10章 结构化命令
(1) if-else
字符串比较:=,!=,<,>,-n,-z
文件比较:-e,-d,-f,-r,-w,-x,-s
复合条件检查:&&,||
(2)case
(3)for,while,until
(4)break,continue