linux实例 Linux软件大全
老铁们,大家好,相信还有很多朋友对于linux实例和Linux软件大全的相关问题不太懂,没关系,今天就由我来为大家分享分享linux实例以及Linux软件大全的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
linux 好用的命令
Linux运维人员必会的120个命令
跟老男孩学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查看实例
linux如何查看/下最近增加的文件?
find命令可以用于查找目录和文件。命令格式:find路径-命令参数需要使用的参数:-ctime-n|+n按照文件的创建时间来查找文件,-n表示文件创建时间距现在n天以内,+n表示文件创建时间距现在n天以前。用法示例:查看根目录/下最近1天增加的文件$find/-ctime-1
查看linux的内存使用情况?
方法一:ps命令可以显示各个进程的内存使用情况、以及更详细的物理内存使用情况和虚拟内存使用情况。你可以使用“_sort”选项对进程进行排序,例如按RSS进行排序:
用法示例:$psaux--sort-rss
方法二:top命令显示了每个进程的内存动态使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。
用法示例:$top
方法三:查看虚拟文件/proc/meminfo可以查看内存的总体使用情况。这个动态更新的虚拟文件实际上是许多其它内存相关工具(如:free/ps/top)等的组合显示。但并不包含某一具体进程的内存使用情况。
用法示例:$cat/proc/meminfo
LINUX中,查看文件内容的方法及分页显示的办法?
LINUX中查看文件内容的指令很多,下面分别介绍一下:
catfile1??
cat的本来的意思是连接,就把所有文件的内容全部显示在一起,纵向排列
pastefile1??
与cat的用法一致,但是是把所有文件的内容横向的连接在一起
tail-nfile1
表示显示文件的最后n行,如果不加默认是最后10行
head-nfile1
表示显示文件的最前面n生,如果不加默认是最开始10行
less,more
是分页查看文件
当然也可以把这些指令组合起来使用。
查linux日志最后几行用什么参数啊?
用逆序显示命令tail查看即可。命令格式:tail命令说明:tail命令从指定点开始将File参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。Number变量指定将多少单元写入标准输出。Number变量的值可以是正的或负的整数。如果值的前面有+(加号),从文件开头指定的单元数开始将文件写到标准输出。如果值的前面有-(减号),则从文件末尾指定的单元数开始将文件写到标准输出。如果值前面没有+(加号)或-(减号),那么从文件末尾指定的单元号开始读取文件。示例:查看/var/log/boot.log,只显示最后100行。则执行tail-n100/var/log/boot.log或者tail-100/var/log/boot.log
Linux目录及文件如何操作
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
ls(英文全拼:list files):列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file):复制文件或目录
rm(英文全拼:remove):删除文件或目录
mv(英文全拼:move file):移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。
ls(列出目录)
在Linux系统当中, ls命令可能是最常被运行的。
语法:
[root@www~]# ls [-aAdfFhilnrRSt]目录名称
[root@www~]# ls [--color={never,auto,always}]目录名称
[root@www~]# ls [--full-time]目录名称
选项与参数:
-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d:仅列出目录本身,而不是列出目录内的文件数据(常用)
-l:长数据串列出,包含文件的属性与权限等等数据;(常用)
将家目录下的所有文件列出来(含属性与隐藏档)
[root@www~]# ls-al~
cd(切换目录)
cd是Change Directory的缩写,这是用来变换工作目录的命令。
语法:
cd [相对路径或绝对路径]#使用 mkdir命令创建 runoob目录
[root@www~]# mkdir runoob
#使用绝对路径切换到 runoob目录
[root@www~]# cd/root/runoob/
#使用相对路径切换到 runoob目录
[root@www~]# cd./runoob/
#表示回到自己的家目录,亦即是/root这个目录
[root@www runoob]# cd~
#表示去到目前的上一级目录,亦即是/root的上一级目录的意思;
[root@www~]# cd..
接下来大家多操作几次应该就可以很好的理解 cd命令的。
pwd(显示目前所在的目录)
pwd是 Print Working Directory的缩写,也就是显示目前所在目录的命令。
[root@www~]# pwd [-P]
选项与参数:
-P:显示出确实的路径,而非使用连结(link)路径。
实例:单纯显示出目前的工作目录:
[root@www~]# pwd
/root<==显示出目录啦~
实例显示出实际的工作目录,而非连结档本身的目录名而已。
[root@www~]# cd/var/mail<==注意,/var/mail是一个连结档
[root@www mail]# pwd
/var/mail<==列出目前的工作目录
[root@www mail]# pwd-P
/var/spool/mail<==怎么回事?有没有加-P差很多~
[root@www mail]# ls-ld/var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54/var/mail-> spool/mail
#看到这里应该知道为啥了吧?因为/var/mail是连结档,连结到/var/spool/mail
#所以,加上 pwd-P的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!
mkdir(创建新目录)
如果想要创建新的目录的话,那么就使用mkdir(make directory)吧。
语法:
mkdir [-mp]目录名称
选项与参数:
-m:配置文件的权限喔!直接配置,不需要看默认权限(umask)的脸色~
-p:帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
实例:请到/tmp底下尝试创建数个新目录看看:
[root@www~]# cd/tmp
[root@www tmp]# mkdir test<==创建一名为 test的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory<==没办法直接创建此目录啊!
[root@www tmp]# mkdir-p test1/test2/test3/test4
加了这个-p的选项,可以自行帮你创建多层目录!
实例:创建权限为 rwx--x--x的目录。
[root@www tmp]# mkdir-m 711 test2
[root@www tmp]# ls-l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
上面的权限部分,如果没有加上-m来强制配置属性,系统会使用默认属性。
如果我们使用-m,如上例我们给予-m 711来给予新的目录 drwx--x--x的权限。
rmdir(删除空的目录)
语法:
rmdir [-p]目录名称
选项与参数:
-p:连同上一级『空的』目录也一起删除
删除 runoob目录
[root@www tmp]# rmdir runoob/
将 mkdir实例中创建的目录(/tmp底下)删除掉!
[root@www tmp]# ls-l<==看看有多少目录存在?
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@www tmp]# rmdir test<==可直接删除掉,没问题
[root@www tmp]# rmdir test1<==因为尚有内容,所以无法删除!
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir-p test1/test2/test3/test4
[root@www tmp]# ls-l<==您看看,底下的输出中test与test1不见了!
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
利用-p这个选项,立刻就可以将 test1/test2/test3/test4一次删除。
不过要注意的是,这个 rmdir仅能删除空的目录,你可以使用 rm命令来删除非空目录。
cp(复制文件或目录)
cp即拷贝文件和目录。
语法:
[root@www~]# cp [-adfilprsu]来源档(source)目标档(destination)
[root@www~]# cp [options] source1 source2 source3.... directory
选项与参数:
-a:相当於-pdr的意思,至於 pdr请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档(symbolic link),亦即『捷径』文件;
-u:若 destination比 source旧才升级 destination!
用 root身份,将 root目录下的.bashrc复制到/tmp下,并命名为 bashrc
[root@www~]# cp~/.bashrc/tmp/bashrc
[root@www~]# cp-i~/.bashrc/tmp/bashrc
cp: overwrite `/tmp/bashrc'? n<==n不覆盖,y为覆盖
rm(移除文件或目录)
语法:
rm [-fir]文件或目录
选项与参数:
-f:就是 force的意思,忽略不存在的文件,不会出现警告信息;
-i:互动模式,在删除前会询问使用者是否动作
-r:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
将刚刚在 cp的实例中创建的 bashrc删除掉!
[root@www tmp]# rm-i bashrc
rm: remove regular file `bashrc'? y
如果加上-i的选项就会主动询问喔,避免你删除到错误的档名!
mv(移动文件与目录,或修改名称)
语法:
[root@www~]# mv [-fiu] source destination
[root@www~]# mv [options] source1 source2 source3.... directory
选项与参数:
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i:若目标文件(destination)已经存在时,就会询问是否覆盖!
-u:若目标文件已经存在,且 source比较新,才会升级(update)
复制一文件,创建一目录,将文件移动到目录中
[root@www~]# cd/tmp
[root@www tmp]# cp~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
将某个文件移动到某个目录去,就是这样做!
将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
Linux文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat由第一行开始显示文件内容
tac从最后一行开始显示,可以看出 tac是 cat的倒着写!
nl显示的时候,顺道输出行号!
more一页一页的显示文件内容
less与 more类似,但是比 more更好的是,他可以往前翻页!
head只看头几行
tail只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。
cat
由第一行开始显示文件内容
语法:
cat [-AbEnTv]
选项与参数:
-A:相当於-vET的整合选项,可列出一些特殊字符而不是空白而已;
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E:将结尾的断行字节$显示出来;
-n:列印出行号,连同空白行也会有行号,与-b的选项不同;
-T:将 [tab]按键以 ^I显示出来;
-v:列出一些看不出来的特殊字符
检看/etc/issue这个文件的内容:
[root@www~]# cat/etc/issue
CentOS release 6.4(Final)
Kernel \r on an \m
tac
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac是 cat的倒着写!如:
[root@www~]# tac/etc/issue
Kernel \r on an \m
CentOS release 6.4(Final)
nl
显示行号
语法:
nl [-bnw]文件
选项与参数:
-b:指定行号指定的方式,主要有两种:
-b a:表示不论是否为空行,也同样列出行号(类似 cat-n);
-b t:如果有空行,空的那一行不要列出行号(默认值);
-n:列出行号表示的方法,主要有三种:
-n ln:行号在荧幕的最左方显示;
-n rn:行号在自己栏位的最右方显示,且不加 0;
-n rz:行号在自己栏位的最右方显示,且加 0;
-w:行号栏位的占用的位数。
实例一:用 nl列出/etc/issue的内容
[root@www~]# nl/etc/issue
1 CentOS release 6.4(Final)
2 Kernel \r on an \m
more
一页一页翻动
[root@www~]# more/etc/man_db.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
--More--(28%)<==重点在这一行喔!你的光标也会在这里等待你的命令
在 more这个程序的运行过程中,你有几个按键可以按的:
空白键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开 more,不再显示该文件内容。
b或 [ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。
less
一页一页翻动,以下实例输出/etc/man.config文件的内容:
[root@www~]# less/etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
:<==这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;
?字串:向上搜寻『字串』的功能;
n:重复前一个搜寻(与/或?有关!)
N:反向的重复前一个搜寻(与/或?有关!)
q:离开 less这个程序;
head
取出文件前面几行
语法:
head [-n number]文件
选项与参数:
-n:后面接数字,代表显示几行的意思
[root@www~]# head/etc/man.config
默认的情况中,显示前面 10行!若要显示前 20行,就得要这样:
[root@www~]# head-n 20/etc/man.config
tail
取出文件后面几行
语法:
tail [-n number]文件
选项与参数:
-n:后面接数字,代表显示几行的意思
-f:表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
[root@www~]# tail/etc/man.config
#默认的情况中,显示最后的十行!若要显示最后的 20行,就得要这样:
[root@www~]# tail-n 20/etc/man.config