linux
文章平均质量分 72
haitang_yue
这个作者很懒,什么都没留下…
展开
-
Linux日常—— *** is not in the sudoers file...报错
在执行修改文件所属者时,使用sudo命令时会报以下错误:用户名 is not in the sudoers file. This incident will be reported.报错原因是由于当前用户的用户名没有写入sudo的配置文件中。处理方法: 1.使用su命令切换到root用户。2.给sudo文件添加写权限:chmod u+w /etc/sudoers3.进入sudo文件:vi /et原创 2017-03-23 22:18:28 · 360 阅读 · 0 评论 -
Linux日常——信号(3)之线程安全和可重入函数
在深入讲解今天的题目前,我们需要有以下的知识储备:捕捉信号如果信号的处理动作是⽤用户⾃自定义函数,在信号递达时就调⽤用这个函数,这称为捕捉信号。 信号捕捉我在我的第一篇信号博客这有提到过,不过当时只是一部分的知识,这里会进行详细的描述。 1.处理信号的时机 在前面总是说进程收到信号不会立即处理,而是等到何时的时机再处理,这里我们终于学到什么时候最合适了。 当一个进程自己的模式从内核态切换回用原创 2017-06-14 23:21:35 · 340 阅读 · 0 评论 -
Linux日常——shell脚本中 “`”、“$()”、eval 的区别
shell中的命令替换可以使用: ` 或 $() 由反引号括起来的也是⼀条命令,Shell先执⾏该命令,然后将输出结果⽴刻代换到当前命令⾏ 中。 但在某些特殊情况下,它们还是有区别的:#!/bin/bashecho `echo \\\\ `echo $(echo \\\\ ) #!/bin/bashecho `echo \$PATH `echo `echo \\$PATH `ec原创 2017-06-26 17:35:33 · 3908 阅读 · 0 评论 -
Linux日常——信号(2)之阻塞信号
阻塞信号这里我们需要先了解几个基本概念 信号递达(Delivery) :实际执⾏行信号的处理动作 信号未决(Pending) :信号从产⽣生到递达之间的状态 阻塞:进程可以选择阻塞 (Block )某个信号。 被阻塞的信号产⽣生时将保持在未决状态,直到进程解除对此信号的阻塞, 才执⾏行递达的动作。阻塞:在信号未决状态产生,此时没有对信号做出处理 忽略:在信号递达后进行,忽原创 2017-06-13 21:41:32 · 258 阅读 · 0 评论 -
Linux日常——信号(signal)
信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。关于信号我们需要了解以下4点: 1、关于进程,如果收到一个信号,它可以识别信号,也知道如何处理该信号。 2、关于处理信号的时机,当一个进程收到一个信号时,它并不会立即处理信号,而是先记下这个信号。(因为此时进程有可能出于不适合处理信号的时机) 3、对于系统而言,它将信号写入它要发送信号的进程的P原创 2017-06-12 21:35:43 · 428 阅读 · 0 评论 -
Linux日常——shell彩色进度条
#!/bin/bashstr=""table=("|" "/" "-" "\\")i=0index=0while [ $i -le 100 ]do if [ $i -lt 20 ]; then printf "[\e[1;31m%-100s\e[0m][%d%%][\e[43;46;31m%c\e[0m]\r" "$str" "$i" "${table[$inde原创 2017-07-02 22:55:51 · 311 阅读 · 0 评论 -
Linux日常——shell工具之grep(包含正则表达式)、sed
grep行过滤器grep是⼀种查找过滤⼯具 正则表达式在grep中⽤来查找符合模式的字符串。 egrep相当于grep -E,表⽰采⽤Extended正则表达式语法。 fgrep相当于grep - F,表⽰只搜索固定字符串⽽不搜索正则表达式模式,不会按正则表达式的语法解释后⾯的参数。 grep的正则表达式 有Basic和Extended两种规范,它们之间的区别下面有解释。正则表达式规定:⼀些原创 2017-07-02 22:38:36 · 3041 阅读 · 0 评论 -
Linux日常——PSH&URG,定时器,三次握手&四次挥手
区别PSH 和URGTCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于I原创 2017-06-19 22:00:28 · 670 阅读 · 0 评论 -
Linux日常——端口
引入端口的原因 在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择,把数据包顺利的传送到目的主机。大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。端口的分类 软件端口:在协议栈层间抽象的协议端口,它是各种协原创 2017-06-19 20:24:45 · 529 阅读 · 0 评论 -
Linux日常——CRC校验
CRC 即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。 循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 比特在传输过程中可能产生差错:1可能会变成0,0可能变成1,这叫比原创 2017-06-18 20:54:51 · 6426 阅读 · 0 评论 -
Linux日常——路由算法调研
路由表生成算法 路由表 路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 路由器的主要工作 路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路原创 2017-06-18 21:38:10 · 366 阅读 · 0 评论 -
Linux日常——NAT技术与代理服务员器调研
NAT技术NAT(Network Address Translation,网络地址转换) 当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本原创 2017-06-18 21:21:36 · 250 阅读 · 0 评论 -
Linux日常——ARP
地址解析协议,即ARP(Address Resolution Protocol)是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 通俗的说: 在⽹络通讯时,源主机的应⽤程序原创 2017-06-18 21:03:32 · 442 阅读 · 0 评论 -
Linux日常——进程组、作业、会话
进程组进程组是⼀个或多个进程的集合。每个进程除了有⼀个pid之外,还属于⼀个进程组。它们的pgid(进程组id)=组长进程的pid。每个进程组有唯一一个进程组id。每个进程组都可以有⼀个组长进程。组长进程可以创建⼀个进程组,创建该组中的进程,然后终⽌。只要进程组还有一个进程,则进程组存在,这与组长进程是否存在无关。作业⼀个前台作业可以由多个进程组成,⼀个后台也可以由多个进程组成,She原创 2017-06-15 21:42:08 · 349 阅读 · 0 评论 -
Linux日常——进程状态
在Linux下,进程有以下几个状态://下面的状态在 fs/proc/array.c ⽂文件里定义: /* * The task state array is a strange "bitmap" of * reasons to sleep. Thus "running" is zero, and * you can test for combinations of others with * s原创 2017-04-17 18:25:02 · 577 阅读 · 0 评论 -
Linux日常——安装g++/gdb,以及NET模式的设置
1.安装g++*切换到root用户; *输入yum install gcc-c++ *回车 *出现”Complete!”则成功。 2.安装gdb*切换到root用户; *输入yum install gdb *回车 *出现”Complete!”则成功。3.NET模式的设置我们在安装Linux虚拟机时,一般将网络适配器的模式设置为NEY模式。 然后当我打开虚拟机时,就会发现网络连接原创 2017-04-08 12:49:10 · 303 阅读 · 0 评论 -
Linux日常--关于权限的那些事儿
写在前面的背景知识 关于文件 在正式进入今天的正题之前,先要申明Linux中的一个思想——一切皆文件。在Linux系统中,所有的资源都会当成文件对待,这其中包括我们所熟知的输入输出设备(键盘,显示器)等。 Linux中文件分为6类: ①普通文件(音乐、图片等):[-] ②目录文件:[d] ③链接文件:[l] ④设备文件:分为块设备(硬盘)[b];字符设备(键盘、显示器、打印机等)[c]原创 2017-03-13 20:59:32 · 407 阅读 · 0 评论 -
Linux日常——find指令、黏滞位
写在前面 本篇文章我们只使用讨论标题中提到的两个主题,一是Find命令的各种使用;二是了解黏滞位在文件中的作用并学会设置它。find指令 1.命令功能 ▲find指令主要是完成在目录文件中搜索文件并完成指定的操作。 ▲Linux下的find命令非常强大,它可以根据选项的不同完成许多查找工作,大大提高了我们的工作效率。甚至只要你拥有相应的权限,即使这些文件中含有网络文件(NFS),find的原创 2017-03-25 17:53:26 · 444 阅读 · 0 评论 -
Linux日常——信号(4)子进程的异步等待方式
SIGCHLD信号1.进程等待的方式: 阻塞,非阻塞,异步 2.⽤wait和waitpid函数清理僵⼫进程。 ⽗进程可以阻塞等待⼦进程结束,也可以⾮阻塞地查询是否有⼦进程结束等待清理(也就是轮询的⽅式)。 采⽤第⼀种⽅式,⽗进程阻塞了就不能处理⾃⼰的⼯作了; 采⽤第⼆种⽅式,⽗进程在处理⾃⼰的⼯作的同时还要记得时不时地轮询⼀ 下,程序实现复杂。 3.⼦进程在终⽌时会给⽗进程发SIGCHL原创 2017-06-15 17:19:02 · 381 阅读 · 0 评论