Linux问题总结
关于umask和chmod
umask 与 chmod 命令设定刚好相反,umask用的是“补码”,而chmod设置的是文件的权限码。我们规定数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6。对于文件而言,系统不允许创建之初就对其赋予可执行权限,因此文件权限的最高限定是6,目录为7。将最高可选值减去umask中的值即是默认文件创建权限。因此当umask为022时,默认创建文件的权限为644,而默认创建目录的权限为755。
linux根目录有哪些文件夹:
/bin 存放最经常使用的命令 /sbin 存放系统管理员使用的系统管理程序 /home 存放普通用户的主目录 /root 系统管理员目录,也是超级管理员用户的主目录 /boot 存放启动linux时使用的一些核心文件,如连接文件、镜像文件 /proc 系统内存的映射,访问这个目录获取系统的信息 /media 自动识别的设备挂载的目录 /mnt 让用户零时挂载别的文件系统 /usr/local 给主机额外安装软件的目录 /var 存放不断扩充的东西,比如日志文件
本地DNS配置在哪儿
一般都是在/etc/resolv.conf文件,一般设置几条nameserver,如nameserver Name server IP address
查看进程命令大集合
ps // 查看当前终端下的命令 -e or -A // 显示所有进行信息 -f:使用完整 (full) 的格式显示进程信息 -x:显示当前用户在所有终端下的进程信息 ps -aux // 查看所有进程(非动态的) (它和 ps -ef 没有太大区别,只是输出格式不同) top // 查看所有进程(动态的) (包括了CPU状态) ps -ef | grep mysql // 通过匿名管道来查找指定的进行信息 grep:强大的文本搜索工具,使用的是正则 进程各字段的含义: UID:启动该进程的用户的 ID 号 PID:进程的ID号 PPID:代表该进程的父进程的 ID 号 C:进程的 CPU 处理器利用率 STIME/START:表示进程的启动时间 netstat 显示网络状态信息
关于 kill 的深层次了解
kill 【-s (信号声明) | -n (信号变量) | -信号声明】 进程号 我们常用的 -9、-15 就是信号变量;我们可以用kill -l 查看所有的信号变量 -9 代表 SIGKILL -15 代表 SIGTERM kil -15 pid: 系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,开始逐步停止进程,但有的不会立马做出相应,它是可能被阻塞的; kill -9 pid: 相当于下一道必杀令
fork()函数, 子进程,父进程,守护进程
Linux系统内,创建子进程的方法是使用系统调用fork()函数。fork()函数是Linux系统内一个非常重要的函数,fork()函数调用一次却会得到两个返回值。
使用fork()函数得到的子进程是父进程的复制品,子进程完全复制了父进程的资源,包括进程上下文、代码区、数据区、堆区、栈区、内存信息、打开文件的文件描述符、信号处理函数、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等信息,而子进程与父进程的区别有进程号、资源使用情况和计时器等。
由于复制父进程的资源需要大量的操作,十分浪费时间与系统资源,因此Linux内核采取了写时拷贝技术(copy on write)来提高效率。
vfork()函数功能与fork()函数功能类似, 不过更加彻底,内核不再给子进程创建虚拟空间,直接让子进程共享父进程的虚拟空间。 vfork()函数保证子进程先行运行,在子进程调度exec函数族函数或者exit()函数后父进程才会被调度运行。
守护进程:后台工作的特殊进程,执行特定的任务,生命周期长,脱离前台终端进行的,希望某些任务不因用户、终端或其他因素的变化而受影响,则必须把这个进程变成守护进程。