1.sh和source的区别:
sh sh02.sh 内部可以显示结果,但是执行echo $firstname $lastname 无数据
source sh02.sh 内部可以显示结果,执行echo $firstname $lastname 也显示结果 exit 0 表示退出脚本
2.判断语句中[]的使用规范:
[空格"$HOME"空格==空格"$MALL"空格]
注意:[]内的每个组件都需要有空格键来分隔 []内的变量,最好都以双引号括起来 []内的常量,最好都以单引号或双引号括起来
3.脚本中相关参数说明:脚本中 $0表示文件名 $#表示参数个数 $@ 代表所有的参数名 $1代表第一个参数(linux书384页)
4.if用法:if和[之间有空格:
5.用户之间的切换:从普通用户切换到root下su - 如果只是su 则虽然切换到root下,但是很多变量还是普通用户的
6.visudo(root目录下) 执行 visudo进行内容添加:
用户账号 登陆者的来源主机名(可切换的身份) 可执行的命令
zpp ALL=(ALL) NOPASSWD:ALL(zpp用户不需要密码也可以登录)
执行完执行visudo –c查看是否解析正确
普通用户下执行 sudo tail -n 1 /etc/shadow
7.对用户名和密码进行加密操作:echo "用户名:密码" | chpasswd -m(-m表示使用MD5进行加密,默认使用DES进行加密)
8.对用户指定密码:echo "123456" | passwd --stdin zpp
9.重新挂载 /home 让它拥有quota属性: mount -o remount,usrquota,grpquota /home(下次重新挂载就会消失)
查看 mount | grep home
10.永久挂载:写入/etc/fstab文件中 mount -a 表示将/etc/fstab里面的内容重新加载。 /etc/fstab 文件负责配置Linux开机时自动挂载的分区。
/etc/rc.local 这是使用者制定开机启动程序,把需要开机自动运行的程序写在这个脚本里 /etc/init.d 这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。
11.磁盘容量(blocks) 文件数量(inodes)
12.创建软连接: ln -s 源文件 目标文件 ln -s /application/nginx2.4.5 /application /nginx
13.关闭SELINUX:
(1)首先先查看 getenforce
(2)设置为0 setenforce 0
(3)永久关闭则执行:vim /etc/sysconfig/selinux 将SELINUX=enforcing改为SELINUX=disabled 重启服务器。或执行 sed –i ‘s#SELINUX=enforcing#SELINUX=disabled#g’(centos 6)
(centos 7主要为 vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled)
14.查看Linux是否被植入木马:cat /var/log/cron
15周期性事件:crontab -e *****分钟小时天月份周 /etc/crontab是系统的配置文件
16.程序:存放在硬盘中的文件,指令集+数据。被组织成:正文段(指令集) + 用户数据段(数据)
进程:程序加载到内存中,分配内存空间,存放正文段(指令集) + 用户数据段(栈 + 堆) + 系统数据段(PCB等系统用到的数据结构)
17.将压缩命令放到后台执行,并且将数据传到某个文件中:
tar -zcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
18.fg的使用:将后台工作放在前台执行 fg jobnumber 查找在后台的工作 jobs ctrl -z 表示将目前的工作丢到后台去暂停 fg jobnumber 后执行ctrl+z则工作暂停
19.将工作删除: jobs;kill -9 %2(jobnumber); jobs;
.如果你发现某个进程的CMD后面还接上
20.自己的PID获得:echo $$
21.kill的使用:kill后面直接加数字与加上%number的情况是不同的, kill 1 因为PID 1 专指“init”这个进程,相当于将init 1关闭。killall 则可以通过命令名称将命令杀死,而不用通过PID。
给予syslogd这个命令启动的PID一个SIGHUP的信号
killall -1 syslogd
强制终止所有以httpd启动的进程 killall -9 httpd
22.启动一个服务时,如果想查看是否启动,则执行:tail -5 /var/log/message
23.网口灯闪烁:ethtool -p eth3 10
24.找出某个正在执行的进程的PID:pidof inint syslogd
25.查看服务对应的端口号:cat /etc/services