Linux相关知识学习(二)

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和[之间有空格:

Linux相关知识学习(二)_第1张图片

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

你可能感兴趣的:(Linux相关知识学习(二))