linux启动域命令 linux的定义域

Linux 命令大全

Linux运维人员必会的120个命令

成都创新互联专业为企业提供方正网站建设、方正做网站、方正网站设计、方正网站制作等企业网站建设、网页设计与制作、方正企业网站模板建站服务,10年方正做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

来自《跟老男孩学Linux运维:核心系统命令实战》一书

前言

第1章 Linux命令行简介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令帮助 / 4

1.3Linux shutdown reboot halt / 9

关机:

shutdown -h now

halt

init 0

第2章 文件和目录操作命令 / 13

2.1pwd:显示当前所在的位置 / 13

2.2cd:切换目录 / 16

2.3tree:以树形结构显示目录下的内容 / 18

2.4mkdir:创建目录 / 22

2.5touch:创建空文件或改变文件的时间戳属性 / 27

2.6ls:显示目录下的内容及相关属性信息 / 30

2.7cp:复制文件或目录 / 39

2.8mv:移动或重命名文件 / 42

2.9rm:删除文件或目录 / 45

2.10rmdir:删除空目录 / 48

2.11ln:硬链接与软链接 / 49

2.12readlink:查看符号链接文件的内容 / 54

2.13find:查找目录下的文件 / 55

2.14xargs:将标准输入转换成命令行参数 / 68

2.15rename:重命名文件 / 71

2.16basename:显示文件名或目录名 / 72

2.17dirname:显示文件或目录路径 / 72

2.18chattr:改变文件的扩展属性 / 73

2.19lsattr:查看文件扩展属性 / 75

2.20file:显示文件的类型 / 76

2.21md5sum:计算和校验文件的MD5值 / 77

2.22chown:改变文件或目录的用户和用户组 / 80

2.23chmod:改变文件或目录权限 / 81

2.24chgrp:更改文件用户组 / 85

2.25umask:显示或设置权限掩码 / 86

2.26老男孩从新手成为技术大牛的心法 / 90

第3章 文件过滤及内容编辑处理命令 / 91

3.1cat:合并文件或查看文件内容 / 91

3.2tac:反向显示文件内容 / 103

3.3more:分页显示文件内容 / 104

3.4less:分页显示文件内容 / 107

3.5head:显示文件内容头部 / 109

3.6tail:显示文件内容尾部 / 111

3.7tailf:跟踪日志文件 / 114

3.8cut:从文本中提取一段文字并输出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按两个文件的相同字段合并 / 127

3.13uniq:去除重复行 / 129

3.14wc:统计文件的行数、单词数或字节数 / 131

3.15iconv:转换文件的编码格式 / 133

3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134

3.17diff:比较两个文件的不同 / 135

3.18vimdiff:可视化比较工具 / 138

3.19rev:反向输出文件内容 / 139

3.20tr:替换或删除字符 / 140

3.21od:按不同进制显示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:纯文本编辑器 / 147

3.24老男孩逆袭思想:做Linux运维的多个好处 / 152

第4章 文本处理三剑客 / 153

4.1grep:文本过滤工具 / 153

4.2sed:字符流编辑器 / 159

4.3awk基础入门 / 165

第5章 Linux信息显示与搜索文件命令 / 176

5.1uname:显示系统信息 / 176

5.2hostname:显示或设置系统的主机名 / 178

5.3dmesg:系统启动异常诊断 / 179

5.4stat:显示文件或文件系统状态 / 181

5.5du:统计磁盘空间使用情况 / 183

5.6date:显示与设置系统时间 / 186

5.7echo:显示一行文本 / 190

5.8watch:监视命令执行情况 / 193

5.9which:显示命令的全路径 / 195

5.10whereis:显示命令及其相关文件全路径 / 196

5.11locate:快速定位文件路径 / 197

5.12updatedb:更新mlocate数据库 / 199

5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200

第6章 文件备份与压缩命令 / 201

6.1tar:打包备份 / 201

6.2gzip:压缩或解压文件 / 208

6.3zip:打包和压缩文件 / 211

6.4unzip:解压zip文件 / 212

6.5scp:远程文件复制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆袭思想:新手如何高效地提问 / 220

第7章 Linux用户管理及用户信息查询命令 / 222

7.1 useradd:创建用户 / 222

7.2usermod:修改用户信息 / 227

7.3userdel:删除用户 / 229

7.4groupadd:创建新的用户组 / 230

7.5groupdel:删除用户组 / 231

7.6passwd:修改用户密码 / 232

7.7chage:修改用户密码有效期 / 237

7.8chpasswd:批量更新用户密码 / 238

7.9su:切换用户 / 240

7.10visudo:编辑sudoers文件 / 242

7.11sudo:以另一个用户身份执行命令 / 244

7.12id:显示用户与用户组的信息 / 248

7.13w:显示已登录用户信息 / 249

7.14who:显示已登录用户信息 / 250

7.15users:显示已登录用户 / 252

7.16whoami:显示当前登录的用户名 / 253

7.17last:显示用户登录列表 / 253

7.18lastb:显示用户登录失败的记录 / 254

7.19lastlog:显示所有用户的最近登录记录 / 255

第8章 Linux磁盘与文件系统管理命令 / 257

8.1fdisk:磁盘分区工具 / 257

8.2partprobe:更新内核的硬盘分区表信息 / 265

8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266

8.4parted:磁盘分区工具 / 268

8.5mkfs:创建Linux文件系统 / 272

8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274

8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275

8.8fsck:检查并修复Linux文件系统 / 278

8.9dd:转换或复制文件 / 281

8.10mount:挂载文件系统 / 284

8.11umount:卸载文件系统 / 288

8.12df:报告文件系统磁盘空间的使用情况 / 289

8.13mkswap:创建交换分区 / 293

8.14swapon:激活交换分区 / 294

8.15swapoff:关闭交换分区 / 295

8.16sync:刷新文件系统缓冲区 / 296

第9章 Linux进程管理命令 / 298

9.1ps:查看进程 / 298

9.2pstree:显示进程状态树 / 305

9.3pgrep:查找匹配条件的进程 / 306

9.4kill:终止进程 / 307

9.5killall:通过进程名终止进程 / 310

9.6pkill:通过进程名终止进程 / 311

9.7top:实时显示系统中各个进程的资源占用状况 / 313

9.8nice:调整程序运行时的优先级 / 320

9.9renice:调整运行中的进程的优先级 / 323

9.10nohup:用户退出系统进程继续工作 / 324

9.11strace:跟踪进程的系统调用 / 325

9.12ltrace:跟踪进程调用库函数 / 332

9.13runlevel:输出当前运行级别 / 334

9.14init:初始化Linux进程 / 335

9.15service:管理系统服务 / 335

第10章 Linux网络管理命令 / 338

10.1ifconfig:配置或显示网络接口信息 / 338

10.2ifup:激活网络接口 / 343

ifup eth0

10.3ifdown:禁用网络接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。

10.4route:显示或管理路由表 / 344

10.5arp:管理系统的arp缓存 / 350

10.6ip:网络配置工具 / 351

10.7netstat:查看网络状态 / 358

10.8ss:查看网络状态 / 362

10.9ping:测试主机之间网络的连通性 / 363

10.10traceroute:追踪数据传输路由状况 / 366

10.11arping:发送arp请求 / 367

10.12telnet:远程登录主机 / 369

10.13nc:多功能网络工具 / 370

10.14ssh:安全地远程登录主机 / 373

10.15wget:命令行下载工具 / 376

10.16mailq:显示邮件传输队列 / 379

10.17mail:发送和接收邮件 / 381

10.18nslookup:域名查询工具 / 386

10.19dig:域名查询工具 / 389

10.20host:域名查询工具 / 393

10.21nmap:网络探测工具和安全/端口扫描器 / 394

10.22tcpdump:监听网络流量 / 398

第11章 Linux系统管理命令 / 407

11.1lsof:查看进程打开的文件 / 407

11.2uptime:显示系统的运行时间及负载 / 411

11.3free:查看系统内存信息 / 411

11.4iftop:动态显示网络接口流量信息 / 413

11.5vmstat:虚拟内存统计 / 415

11.6mpstat:CPU信息统计 / 419

11.7iostat:I/O信息统计 / 420

11.8iotop:动态显示磁盘I/O统计信息 / 423

11.9sar:收集系统信息 / 425

11.10chkconfig:管理开机服务 / 430

11.11ntsysv:管理开机服务 / 433

11.12 setup:系统管理工具 / 434

11.13ethtool:查询网卡参数 / 436

11.14mii-tool:管理网络接口的状态 / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自动化RPM包管理工具 / 446

top命令

第12章 Linux系统常用内置命令 / 450

12.1Linux内置命令概述 / 450

12.2Linux内置命令简介 / 450

12.3Linux常用内置命令实例 / 452

使用什么命令可以查看Linux的启动信息

Linux启动时内核会检测硬件,这些启动信息会很快的在屏幕上闪过(有些发行版则不会显示)。所有内核检测信息,会被记录到内存中的一个保护区段,而用dmesg这个命令则会读取该内存区段的内容。dmesg命令的用法是:dmesg | more,之所以用管道加more命令,是因为dmesg显示的内容太长了,加上more命令可以让显示界面暂停。也可以用管道符加grep命令只选取需要的内容。

Linux命令SYSTEM()启动命令

system是一个使用简单,设计复杂的程序。

它主要包含fork exec waitpid三个步骤。

下来我来还原楼主的错误:

程序A:

/* socksrv.c*/

#include stdio.h

#include stdlib.h

#include string.h

#include sys/types.h

#include sys/socket.h

#include netinet/in.h /* for struct sockaddr_in*/

#define BACKLOG 10

#define MYPORT 4000

int main()

{

char *addr;

int sockfd;

int new_fd;

struct sockaddr_in my_addr, their_addr;

int res;

int sin_size;

char *buf;

/* 取得套接字描述符*/

sockfd = socket(AF_INET, /* domain*/

SOCK_STREAM, /* type*/

0); /* protocol*/

if (sockfd == -1) {

perror("socket");

exit(1);

}

/* Init sockaddr_in */

my_addr.sin_family = AF_INET; /* 注意: 应使用主机字节顺序*/

my_addr.sin_port = htons(MYPORT); /* 注意: 应使用网络字节顺序*/

my_addr.sin_addr.s_addr = htonl(INADDR_ANY); /* 使用自己的 IP 地址 */

bzero((my_addr.sin_zero), 8); /* 结构的其余的部分须置 0*/

/* 指定一个套接字使用的地址及端口*/

res = bind(sockfd, (struct sockaddr*)my_addr, sizeof(struct sockaddr));

if (res == -1) {

perror("bind");

exit(1);

}

/* 监听请求, 等待连接*/

res = listen(sockfd,

BACKLOG); /* 未经处理的连接请求队列可容纳的最大数目*/

if (res == -1) {

perror("listen");

exit(1);

}

system("./hello");

/* 接受对方的连接请求, 建立连接,返回一个新的连接描述符.

* 而第一个套接字描述符仍在你的机器上原来的端口 listen()

*/

sin_size = sizeof(struct sockaddr_in);

new_fd = accept(sockfd, (void *)their_addr, sin_size);

buf = (char *)malloc(255);

if (buf == NULL) {

printf("malloc failed\n");

exit(1);

}

/* 接受对方发来的数据*/

res = recv(new_fd, buf, 255, 0);

if (res == -1) {

perror("recv()");

exit(1);

}

/* 关闭本次连接*/

close(new_fd);

/* 关闭系统监听*/

close(sockfd);

printf("recv data:%s\n", buf);

free(buf);

return 0;

}

程序B:hello,在主程序中用system("./hello)调用。

#include stdlib.h

int main(){

while(1){

sleep(1000);

}

return 0;

}

编译后运行程序A。我们可以在其它终端窗口看到 ./A ./hello正在运行,netstat -a 看到,tcp 4000端口被 占用。

我们用Ctrl+c中断程序A模拟楼主的崩溃操作。

这时,再在其它终端窗口看看,./A没有了。./hello还在运行。netstat -a看到。4000端口还在占用。

这时再次运行./A,提示bind: Address already in use而退出。

情况就是这样。

因为执行system时,系统会fork一个A的子进程,再去执行B.

当你的A崩溃以后,它的一个子进程实际上还在运行,它打开的端口,文件,等还在使用。

所以再次运行A时,由于自定的互斥机制而退出。

如:再次绑定端口时提示端口已在使用。

杀死B后,A的子进程结束,它的资源释放,所以才能再次运行A。

我建议楼主使用exec系列函数来启动B。

linux 怎么查看某个进程的启动命令

linux下查看某个进程的启动命令的方法:

在Linux下,

如果需要查看进程的启动时间,

常用ps

aux命令,但是ps

aux命令的缺陷在于只能显示时间到年、日期、或者时间,

无法具体到年月日时分秒。如果需要查看某个进程的具体启动时间,

使用

ps

-p

PID

-o

lstart,

其中,PID为某个进程的进程ID号。

如下所示,

显示系统中所有httpd进程的具体启动时间。

for

pid

in

$(pgrep

httpd);

do

echo

-n

"${pid}

"

;

ps

-p

${pid}

-o

lstart

|

grep

-v

"START"

;

done

301

Mon

Aug

27

11:21:59

2012

344

Mon

Aug

27

11:33:13

2012

25065

Sun

Aug

26

03:27:03

2012

25066

Sun

Aug

26

03:27:03

2012

25067

Sun

Aug

26

03:27:03

2012

25068

Sun

Aug

26

03:27:03

2012

25069

Sun

Aug

26

03:27:03

2012

25070

Sun

Aug

26

03:27:03

2012

25071

Sun

Aug

26

03:27:03

2012

25072

Sun

Aug

26

03:27:03

2012

27903

Wed

Jun

20

22:50:47

2012

32767

Mon

Aug

27

11:21:48

2012

由于能力有限只能回答这些,但是建议查看刘遄老师的《linux就该这么学》这本比肩鸟哥私房菜的但与时俱进的工具书


文章名称:linux启动域命令 linux的定义域
文章源于:http://ybzwz.com/article/doodhoi.html