unix命令

Unix & Linux 教程学习_7

徘徊边缘 提交于 2019-11-28 22:23:08
13.14命令替换 shell提供的一个最神奇、强大的特点:命令替换(command substitution)。 命令替换允许在一条命令中嵌入另一条命令。shell首先执行嵌入的命令。并且输出替换该命令。然后shell再执行整个命令。 基本语法: 通过将一条命令封装在 (反引号)字符中,可以将它嵌入到另一条命令中,例: >echo \"The time and date are \ date`. " 这个例子中,date命令就封装在反引号中。shell首先求date命令的值,并将date命令的输出替换到较大的命令中,然后,执行较大的命令(这个例子中就是echo). 假如现在时间是"2019年8月29日 星期四 13时53分51秒 CST"。则之前的命令就会被其值替换修改成: echo "The time and date are 2019年8月29日 星期四 13时53分51秒 CST " 然后shell执行echo命令,生成最终输出: The time and date are 2019年8月29日 星期四 13时53分51秒 CST 13.15 键入命令并进行修改 当需要进行一个微小修改而不得不键入整个命令是不方便的,为了方便,shell提供了几个特性,从而使命令的输入大为简化。这些特性包括:历史列表、命令行编辑、自动补全和别名. 13.16 历史列表: fc、history

高端Linux/UNIX C++软件工程师(Linux、C++、Boost、ACE、数据库、企业级的实战项目)

痞子三分冷 提交于 2019-11-28 19:18:05
课程目标: 高端Linux/UNIX C++软件工程师(Linux、C++、Boost、ACE、数据库、企业级的实战项目) 课程简介: Linux C++全科班课程,专注Linux/UNIX服务器端软件开发(后台开发),培养企业所需的专业Linux/UNIX C++软件工程师。课程涉及UNIX/Linux服务器端软件开发的各个方面:Linux/UNIX、C++、Boost、ACE、Oracle /MySQL、企业级的实战项目等。 课程模块: Linux C++全科班课程由以下模块组成: Module01 - Linux系统基础 由于本系列课程基于Linux(或UNIX),熟悉Linux操作系统是必要的前提。 该模块的课程包含以下方面的内容: 常用Unix/Linux命令 熟悉文件管理、文本处理、进程管理、网络、系统管理等各个方面大约100个常用的命令。 深入了解bash 了解Linux默认shell: bash 的语法、命令执行、I/O重定向、任务控制等。 正则表达式基础 由于UNIX/Linux中很多强大的文本处理命令如:grep、awk、sed,还有vi编辑器等工具配合正则表达式将产生强大的威力,所以熟悉正则表达式语法是十分必要的。 find、grep、sed、awk 四个强大的UNIX工具,特别是sed、awk在文本处理方面的能力非常强大,在Linux下工作应该掌握这几个命令

操作系统前世今生

馋奶兔 提交于 2019-11-28 17:27:21
1965 年开始 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,(目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。最终失败)。 UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到Multics,以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。 1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的 C语言 ,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中, 汇编语言 不再是主宰。 Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得

linux unix 进程相关函数

安稳与你 提交于 2019-11-28 16:20:36
getgpid(int); //获取当前进程的进程组id setsid(); //自己成立一个进程组 int atexit(void (*function)(void)); //登记程序正常结束时调用的函数(没有参数),如果有多份登记函数,按登记相反的顺序自动执行登记函数。 int on_exit(void (*function)(int , void *), void *arg); //登记程序正常结束时调用的函数(函数有参数),函数中int是main函数退出值, viod * 为arg,如果有多份登记函数,按登记相反的顺序自动执行登记函数。 void exit(int status); //结束当前进程,可在任何函数中结束当前进程,和在main函数中调用return一样 void _exit(int status); //立即结束当前进程,登记的结束函数不会执行,一般用户程序不用这个函数 当进程结束时必须要做的事:关闭打开的文件描述符,释放动态内存,释放当前进程id int system(const char *command); // fork一个子进程执行command 中的命令,命令结束后返回到当前进程 getpid(); getppid(); getuid() gethostname() ps -l //列出所有进程详细名单 ps -f //显示完整命令 ps -p /

Unix/Linux下安装NPM

依然范特西╮ 提交于 2019-11-28 10:29:54
就像NPM的官网( http://npmjs.org/ )上介绍的那样,安装NPM仅仅是一行命令的事情: curl http://npmjs.org/install.sh | sh 这里详解一下这句命令的意思,curl http://npmjs.org/install.sh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。这里如果没有权限会安装不成功,需要加上sudo来确保权限: curl http://npmjs.org/install.sh | sudo sh 安装成功后执行npm命令,会得到一下的提示: Usage: npm <command> where <command> is one of: adduser, apihelp, author, bin, bugs, c, cache, completion, config, deprecate, docs, edit, explore, faq, find, get, help, help-search, home, i, info, init, install, la, link, list, ll, ln, ls, outdated, owner, pack, prefix, prune, publish, r, rb, rebuild, remove, restart,

Unix传奇(下篇)

风流意气都作罢 提交于 2019-11-28 02:35:08
http://hi.baidu.com/hieda/blog/item/7c1b35c20957d639e5dd3bea.html Unix传奇(下篇) Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《 Unix 40年:Unix年鉴 》、《 Unix 40年:昨天,今天和明天 》)。由它引发的思想变革,对当今计算机文化造成的深远影响。这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。 下篇 Unix与黑客文化 Unix的历史教训 Unix 家族谱 Unix的特点 Unix的影响和哲学 Unix痛恨者手册 上篇 Unix起源 Unix分裂 Unix的法律纠纷 GNU开源组织 Linux横空出世 Linux今天的领袖 Unix与黑客文化 黑客的文化和Unix的商业化存在着必然的联系。自从Unix出现,黑客文化就与之而来。 1993初,一个悲观的观察家撰文指出,已经有理由认为Unix的传奇故事连同他带有黑客文明将一同破产。许多人预测,从那时起Unix将在六月内死亡。他们很清楚,十年的Unix商业化,使自由跨平台的Unix梦以失败告终。Unix允诺的跨平台可移植性

Linux netstat命令详解

别说谁变了你拦得住时间么 提交于 2019-11-28 01:07:26
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHEDtcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHEDtcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHEDtcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHEDtcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSEActive UNIX domain sockets (w/o servers)Proto RefCnt Flags

Linux基础命令:netstat

巧了我就是萌 提交于 2019-11-28 00:13:50
简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHEDtcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHEDtcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHEDtcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHEDtcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSEActive UNIX domain sockets (w/o servers)Proto RefCnt Flags

linux基础命令:passwd

独自空忆成欢 提交于 2019-11-27 22:13:24
passwd 命令用于修改用户密码,过期时间,认证信息等。 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码。更酷的是,root 管理员在 Linux 系统中 修改自己或他人的密码时不需要验证旧密码,这一点特别方便。既然 root 管理员可以修改其他用户的密码,就表示完全拥有该用户的管理权限。 参数 作用 -l  锁定用户,禁止登陆。 -u 解除锁定,允许登陆。 --stdin   允许通过标准输入修改用户密码,如 echo "NewPassWord" | passwd --stdin Username -d   删除密码,允许用户空密码登陆 -e   强制用户在下次登陆时修改密码 -S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称 知识扩展   与用户、组账户信息相关的文件   存放用户信息: /etc/passwd /etc/shadow   存放组信息: /etc/group /etc/gshadow   用户信息文件分析(每项用 : 隔开) 例如:jack:X:503:504:::/home/jack/:/bin/bash jack  //用户名 X  //口令、密码 503  //用户id(0代表root、普通新建用户从500开始) 504  //所在组 :  //描述 /home/jack/  /

Linux下的文本dos格式转Unix格式,去除^M符号

泪湿孤枕 提交于 2019-11-27 14:57:49
问:我在Windows中通过FTP传一个文本文件到Linux中,但是打开文本文件后每行最后都有^M的标志。由于很长,用编辑器去除太麻烦,有什么解决办法呢? 答:为了解决这个问题,Linux下专门有两个工具可以互换Windows格式和Linux格式,它们分别是dos2unix和unix2dos。比如用下面的命令就可以将文件名为“filename”文件从Windows格式转换为Linux文本格式。 正文: 在Linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致, 对于回车符的定义: Windows:0D0A Unix/Linux: 0A MAC: 0D 比较快捷的去除这些符号的方法有这么几种: (1)是用VI的命令: 使用vi打开文本文件 vi dos.txt 命令模式下输入 :set fileformat=unix :w (2) VI下使用正则表达式替换 g/^M/s/^M// 或者 %s/^M//g 此时要将所有的^M符号删除, 可以使用vi的如下命令: :%s/^V^M//g 其中, ^V指ctrl+v, ^M指ctrl+m 最终的效果为: :%s/^M//g 或者使用如下命令: :%s/\r//g 其中\r代表Carriage