㈠ linux利用shell切分数据,请大神指点
awk'BEGIN{RS=""}{printf"第"NR"块 %s ",$0}'早消运数据桥悄文件名陆梁
㈡ linux shell 如何比较2个文件最后修改时间的大小
仅攻参考
#!/bin/bash -
# 获取文件列表,并删除第一行的total ***
filelist=`ls -lt --full-time $* | sed '1d'`
time=()
file=()
#修改shell的字段分割符
IFS=$'\n'
for f in ${filelist}
do
#取出每行的文件名字段,放入数组file中
filename=`echo $f | awk '{printf("%s", $9);}'`
file+=($filename)
#取出每行的时间字段,转换成EPOCH秒数值(方便比较),放入数组time中
date_modified=`echo $f | awk '{printf("%s %s", $6, $7);}'`
timestr=`date --date="$date_modified" +%s`
time+=($timestr)
done
#取出数组中元素个数,即文件数
#数组file和数组time中每个元素一一对应,即一个文件对应其修改时间值
cnt=${#file[*]}
for((i=0;i<$cnt-1;i++))
do
#如果前者的修改时间大于后者,则输出提示
if [ ${time[$i]} -gt ${time[$i+1]} ];then
echo "Modification time: ${file[$i]} > ${file[$i+1]}"
fi
done
㈢ linux下两个文件想合并如何通过shell操作
写在一条命令里有点复杂哦。合并结果保存到文件3中。
awk -F'*' 'NR==FNR{a[FNR]=$1;b[FNR]=$2;c=FNR}NR>FNR{flag=0;for(i=1;i<=c;i++){if($2==b[i]){print a[i] $2;flag=1;break;}}if(flag==0)print}' file2 file1 >file3
思路:
以 * 作为字段回分隔符,将每行记答录分割为两个字段。
1. 将文件2每行记录的两个字段分别以数组形式保存下来,并记录行数。
2. 对于文件1中的每一行,使用for循环与上一步记录的文件2的字段2数组对比。若相同,则打印文件2的字段1和文件1的字段2。若不同,则打印文件1中的原记录。最后的合并结果保存到文件3中。
试过OK。
㈣ linux shell遍历当前文件夹中的txt文件并处理生成新的文件
先以a.txt为例:
awk-vRS=""'{
n=split($0,a,"《[^》]+》");
for(i=2;i<n;i+=2)
print"《keywords》"a[i]"《/keywords》"
}'a.txt>>./newfile/a.txt
这样就行了。
为了可读性,我将一条awk语句写成了多行。回
实际测试结答果如下:
解说:
RS=""
将awk的记录分隔符设置为空(默认是换行符),即将整个a.txt文本看做一条记录。
n = split($0,a,"《[^》]+》");
以正则"《[^》]+》"匹配的内容作为分隔符,对文本内容进行分割并将分割结果存入数组a,分割出的数目(数组大小)即为split函数的返回值n。这里暂且不对该正则做过多解释,否则喧宾夺主,有需要请追问,我再补充。
for(i=2;i<n;i+=2)
print "《keywords》"a[i]"《/keywords》"
打印数组下标为偶数的元素并在首尾分别加上关键字标记以还原。数组下标从1开始。
其他文件可作相同处理。如果文件较多,你可以搞个循环去做。这个应该不难。
㈤ linux shell编程中文件内容修改方法
两种思路,
第一种,你打开文件,找到匹配的行,改掉,重写个文件,删除原来的。改这个文件为一样的名字。
第二种,以需要改写的文本,把原来的文件分成两个部分,要改写的部分空出,然后重定向合并到一个文件里。
例如,
file.txt
分为
a.txt
b.txt
现在
1
a.txt>file.txt
2
变行
>>file
.txt
3
b.txt
>>file.txt
㈥ Linux shell脚本按日期 切割pm2日志
linux shell脚本按日期 切割pm2日志 (解决定时任务pm2命令无法执行问题,原因:没有环境变量)
首先在输入命令echo $PATH 拿到当前系统环境变量
然后在/root/.pm2目录新建cutlog.sh文件(注意:第一句一定要有,设置当前shell脚本里面的环境变量,没有的话pm2命令会无法执行)
PATH=/root/.nvm/versions/node/v6.10.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
CURPATH=/root/.pm2
OUTPATH=/home/cutLogsDate
mkdir -p $OUTPATH
INPUTPATH=$CURPATH/logs
reloadProcessLogs(){
logFilesGame="含册${INPUTPATH}/$1"
yesterday=`date -d last-day '+%Y%m%d_'$2`
logOfLastDay=$OUTPATH/$yesterday.log
mv $logFilesGame $logOfLastDay
宏老燃 touch $logFilesGame
蔽虚 echo "切割$1成功"
}
reloadProcessLogs 'game-out-0.log' 'game_out'
pm2 reloadLogs设置定时任务
输入crontab -e命令编辑
0 3 * * * sh /root/.pm2/cutlog.sh
㈦ Linux Shell脚本报错:command not found
检查一下当前的$SHELL
我试了一下bash可渣枝以如哪敏这么给变量赋值,而sh则会报跟缓戚你一样的错误,如下
# rows=5000;
rows=5000: Command not found.
# echo $SHELL
/sbin/sh
# bash
bash-3.2# rows=5000;
bash-3.2# echo $rows
5000
㈧ Linux命令、编辑器与Shell编程的目录
第1篇Linux命令
第1章Linux简介与安装(教学视频:52分钟)2
1.1Linux系统简介2
1.1.1Linux能做什么2
1.1.2Linux的主要发行版3
1.1.3Linux系统的优势4
1.2Linux的存储设备和目录结构5
1.2.1Linux系统中的存储设备5
1.2.2Linux系统中的目录结构7
1.3虚拟化技术的应用8
1.3.1虚拟化和VMware公司9
1.3.2VMwareWorkstation简介10
1.3.3VMwareWorkstation的网络连接方式11
1.3.4VMwareWorkstation的使用技巧13
1.3.5VMwareESXServer简介13
1.4Linux安装过程14
1.4.1安装前的准备工作14
1.4.2创建虚拟机并使用光盘引导15
1.4.3安装模式和光盘检测18
1.4.4图形安装环境配置19
1.4.5磁盘分区21
1.4.6引导程序和网络配置23
1.4.7设置时区和根用户密码25
1.4.8定制软件包并开始安装26
1.4.9第一次启动27
1.5小结30
第2章Linux系统入门(教学视频:109分钟)31
2.1如何使用本书学习31
2.1.1本书的知识结构和约定31
2.1.2学习Linux系统的建议33
2.2登录系统33
2.2.1图形界面登录33
2.2.2命令行登录35
2.2.3SSH远程登录36
2.2.4Telnet远程登录38
2.2.5VNC远程登录38
2.2.6SFTP登录39
2.3关闭、重启系统41
2.3.1关闭系统命令之shutdown41
2.3.2关闭系统命令之poweroff41
2.3.3挂起系统命令halt42
2.3.4重启系统命令reboot42
2.3.5切换系统运行级别命令init42
2.4Linux命令基础及帮助43
2.4.1Linux系统中的命令43
2.4.2帮助之help命令和选项45
2.4.3帮助之man手册46
2.4.4帮助之info信息页48
2.5系统与用户的交互程序Shell50
2.5.1Shell分类50
2.5.2更改默认Shell51
2.6Bash中的命令基本操作54
2.6.1命令行编辑功能54
2.6.2绑定快捷键和命令55
2.6.3命令行补全功能59
2.6.4命令历史功能61
2.6.5命令别名功能63
2.7管道和输入/输出65
2.7.1管道65
2.7.2命令的输老谨亏入/输出和错误66
2.7.3重定向命令的输入/输出和错误66
2.8小结69
第3章常用命令(教学晌孝视频:115分钟)70
3.1Linux基本命令70
3.1.1切换工作目录命令cd70
3.1.2查看当前路径命令pwd71
3.1.3查看文件侍神列表命令ls72
3.1.4文件链接命令ln75
3.2文件操作命令76
3.2.1文件命名规则76
3.2.2创建文件命令touch77
3.2.3创建目录命令mkdir77
3.2.4移动、重命名文件命令mv78
3.2.5复制文件命令cp79
3.2.6删除文件命令rm80
3.2.7删除空目录命令rmdir81
3.2.8查看文件类型命令file81
3.3文本文件内容相关命令82
3.3.1查看文本文件内容命令cat82
3.3.2从文本尾查看文本内容命令tail83
3.3.3从文本首行查看文本内容命令head84
3.3.4分屏显示文本内容命令more和less85
3.3.5文本内容比较命令diff87
3.3.6文本统计命令wc89
3.4日期时间命令89
3.4.1查看日期时间命令date90
3.4.2查看日历命令cal90
3.4.3修改日期时间命令date和clock91
3.5联线用户命令92
3.5.1查看联线用户命令who、finger和w92
3.5.2与联线用户通信的命令wall、write和mesg93
3.5.3断开联线用户命令fuser94
3.6切换用户命令94
3.6.1临时切换用户命令su94
3.6.2以root用户身份运行命令sudo95
3.7定位和查找96
3.7.1搜索命令which96
3.7.2文件搜索命令locate96
3.7.3特殊文件搜索命令whereis97
3.7.4关键字搜索命令apropos97
3.8输入/输出相关命令98
3.8.1回显命令echo98
3.8.2接收用户输入命令read99
3.8.3显示并保存文本命令tee102、3.8.4邮件命令mail103、3.8.5启动新Shell命令exec106、3.9小结107、第4章Linux命令中的特殊字符和正则表达式(教学视频:48分钟)108、4.1命令中的特殊字符108、4.1.1字符串引用符双引号和单引号108、4.1.2命令引用符反引号110
4.1.3变量引用和命令转换符美元符号111
4.1.4反斜线屏蔽符111
4.2文件名通配符111
4.2.1单字符匹配元字符“?”112
4.2.2多字符匹配元字符“*”112
4.2.3字符范围匹配符“[]”113
4.2.4排除范围匹配符“[!]”114
4.3多条命令中的逻辑运算符和括号115
4.3.1逻辑或“||”115
4.3.2逻辑与“&&”116
4.3.3括号116
4.4命令中的正则表达式117
4.4.1单字符匹配符“.”117
4.4.2单字符或字符串重复匹配符“*”118
4.4.3行首匹配符“^”118
4.4.4行尾匹配符“$”119
4.4.5反斜杠屏蔽符“”119
4.4.6范围匹配符“[]”和排除范围匹配符“[^]”120
4.4.7词首、词尾匹配符“<”和“>”120
4.4.8重复次数匹配符“x{}”120
4.4.9组合并使用正则表达式121
4.5小结121
第5章查找和筛选工具(教学视频:93分钟)123
5.1查找文件工具find123
5.1.1find的基本格式123
5.1.2按文件名称查找125
5.1.3按文件权限查找125
5.1.4按文件类型查找126
5.1.5按文件的时间戳记和大小查找126
5.1.6按文件属主或属组查找127
5.1.7find工具的其他参数128
5.1.8使用exec和ok处理查找到的文件128
5.1.9使用xargs命令处理查找到的文件129
5.1.10find工具应用实例130
5.2查找文本工具grep131
5.2.1grep的基本格式131
5.2.2使用grep查找文本132
5.2.3行首、行尾匹配查找134
5.2.4配合常用的正则表达式查找135
5.2.5使用或、与多匹配模式查找136
5.2.6grep工具应用实例137
5.3流编辑器sed138
5.3.1sed基本格式138
5.3.2显示和删除行140
5.3.3插入和修改文本142
5.3.4替换文本和其他编辑指令145
5.3.5处理文本中的控制字符148
5.3.6分支结构149
5.4格式化文本数据抽取工具awk152
5.4.1awk命令基本格式152
5.4.2正则表达、元字符、运算符和关系运算符153
5.4.3在awk命令中使用变量156
5.4.4在awk命令中使用流程控制159
5.4.5awk命令中的函数162
5.5转换和删除重复命令tr170
5.5.1tr命令的基本格式170
5.5.2字符转换171
5.5.3删除字符172
5.6合并和分割工具173
5.6.1排序命令sort174
5.6.2数据剪切命令cut179
5.6.3数据粘贴命令paste181
5.6.4数据连接命令join183
5.6.5去除重复命令uniq186
5.6.6分割文件命令split188
5.7小结190
第6章用户和文件权限管理(教学视频:73分钟)191
6.1用户管理191
6.1.1系统用户文件概述191
6.1.2添加用户命令useradd193
6.1.3设置用户密码命令passwd196
6.1.4删除用户命令userdel197
6.1.5用户管理命令usermod197
6.2用户组管理199
6.2.1用户组文件概述199
6.2.2添加用户组命令groupadd201、6.2.3删除用户组命令groupdel201、6.2.4用户组管理202、6.3基本权限及管理命令203、6.3.1文件的属主和属组203、6.3.2修改文件属主和属组命令chown、chgrp203、6.3.3文件权限及表示方法205、6.3.4文件权限管理命令chmod207、6.3.5suid、sgid和sticky权限概述208、6.3.6权限掩码命令umask211
6.4POSIXACL权限系统及其管理命令212
6.4.1POSIXACL权限系统概述213
6.4.2ACL权限管理和查看命令setfacl、getfacl213
6.4.3ACL权限管理214
6.5小结217
第7章磁盘和文件系统管理(教学视频:70分钟)218
7.1磁盘及分区管理218
7.1.1查看磁盘设备列表命令fdisk218
7.1.2查看磁盘设备命令hdparm220
7.1.3磁盘分区工具fdisk221
7.1.4利用fdisk工具对磁盘分区222
7.2文件系统管理225
7.2.1Linux系统支持的文件系统225
7.2.2创建文件系统命令mkfs226
7.2.3查看和修改卷标命令e2label227
7.2.4挂载文件系统228
7.2.5卸载文件系统命令umount231
7.2.6利用fstab自动挂载文件系统232
7.3RAID设备233
7.3.1磁盘阵列的种类233
7.3.2磁盘阵列级别234
7.3.3创建组成阵列的磁盘分区236
7.3.4创建磁盘阵列237
7.3.5为阵列添加热备盘239
7.3.6使用热备盘替换损坏磁盘239
7.3.7扩展阵列240
7.4LVM逻辑卷管理241
7.4.1LVM的基本概念241
7.4.2创建物理卷243
7.4.3创建卷组244
7.4.4创建逻辑卷245
7.4.5添加物理卷247
7.4.6扩充逻辑卷248
7.4.7减小逻辑卷249
7.4.8移动数据并移除物理卷250
7.4.9逻辑卷快照252
7.5磁盘配额管理253
7.5.1为磁盘配额提供支持253
7.5.2检查磁盘配额命令
7.5.3查看磁盘使用情况命令repquota255
7.5.4建立磁盘配额命令edquota255
7.5.5开启磁盘配额命令quotaon257
7.5.6关闭磁盘配额命令quotaoff258
7.5.7管理磁盘配额258
7.6文件系统维护基础259
7.6.1查看文件系统使用情况命令df259
7.6.2追踪大文件命令260
7.6.3修复文件系统命令fsck261
7.7小结264
第8章Linux系统管理(教学视频:70分钟)265
8.1系统服务管理265
8.1.1查看系统服务265
8.1.2设置服务自启动状态267
8.1.3添加删除系统服务269
8.1.4启动和关闭服务命令service270
8.2进程管理命令271
8.2.1查看进程命令ps271
8.2.2进程树274
8.2.3实时显示进程命令top274
8.2.4将任务放在后台执行277
8.2.5查看后台任务命令jobs277
8.2.6后台任务调至前台命令fg278
8.2.7终止进程命令kill278
8.2.8查看进程优先级281
8.2.9指定进程运行优先级命令nice282
8.2.10改变进程优先级命令renice283
8.3计划任务命令crontab、at284
8.3.1为计划任务提供支持284
8.3.2cron计划任务格式285
8.3.3添加计划任务命令crontab286
8.3.4备份及恢复计划任务288
8.3.5用户计划任务288
8.3.6系统计划任务289
8.3.7使用at执行一次性计划任务289
8.4日志管理292
8.4.1syslogd守护进程及其配置文本292
8.4.2日志消息的格式295
8.4.3记录日志消息命令logger295
8.4.4日志轮循296
8.4.5监视系统日志297
8.5小结299
第9章数据备份和应用程序管理(教学视频:74分钟)301、9.1数据备份基础301、9.1.1数据备份概述301、9.1.2备份数据存放的介质302、9.1.3备份类型302、9.1.4备份时间选择304、9.2tar备份工具304、9.2.1tar命令的基本格式304、9.2.2tar归档和备份文件305、9.2.3查看归档文件中的文件列表306、9.2.4从归档文件中还原文件306、9.3cpio备份命令307、9.3.1cpio命令的基本格式308、9.3.2使用cpio归档文件308、9.3.3查看归档文件中的文件列表309、9.3.4恢复cpio归档文件310
9.4压缩工具和整盘备份工具dd311
9.4.1使用gzip压缩文件311
9.4.2使用bzip2压缩文件313
9.4.3整盘备份命令dd314
9.5RPM包管理命令rpm317
9.5.1RPM包管理器简介317
9.5.2rpm命令基本格式318
9.5.3使用rpm命令查询软件包319
9.5.4使用rpm命令安装软件包321
9.5.5使用rpm命令卸载软件包323
9.5.6使用rpm命令升级软件包324
9.6编译安装相关命令和工具324
9.6.1安装编译环境324
9.6.2获取软件工具wget、links325
9.6.3编译前的配置327
9.6.4编译软件命令make329
9.6.5安装命令makeinstall329
9.6.6运行及环境配置330
9.6.7卸载软件命令make
9.7利用yum工具安装应用程序332
9.7.1yum简介333
9.7.2配置yum333
9.7.3查询源上的软件包336
9.7.4利用yum安装软件包337
9.7.5利用yum卸载软件包339
9.7.6安装、卸载软件包组339
9.8小结341
第10章网络管理(教学视频:81分钟)343
10.1网络接口配置命令343
10.1.1查看网络接口信息343
10.1.2配置网络接口347
10.1.3重新启用网络接口351
10.1.4配置DNS服务器地址352
10.2路由命令route354
10.2.1查看系统中的路由表355
10.2.2添加默认路由356
10.2.3添加路由条目357
10.3主机名称命令hostname360
10.3.1查看主机名称360
10.3.2修改主机名称361
10.4设置网络冗余363
10.4.1bonding简介364
10.4.2bonding的模式365
10.4.3设置网络接口366
10.4.4加载模块生成新的网络连接367
10.4.5验证设置368
10.5网络工具370
10.5.1测试连通命令ping370
10.5.2网络路径测试命令
10.5.3查看网络状态命令netstat374
10.5.4域名解析工具dig和nslookup377
10.5.5排除网络故障380
10.6小结382
第2篇文本编辑器
第11章Vi和Vim文本编辑器(教学视频:37分钟)386
11.1文本编辑器概述386
11.1.1文本编辑器的发展及分类386
11.1.2Linux系统中的文本编辑器387
11.2认识Vi和Vim编辑器388
11.2.1启动Vim编辑器388
11.2.2Vim编辑器帮助390
11.2.3退出Vim编辑器391
11.2.4Vim编辑器的模式391
11.2.5Vim编辑器的工作界面392
11.3向Vim编辑器迈出第1步393
11.3.1读取文件393
11.3.2保存文件394
11.3.3进入插入模式并插入文本394
11.3.4移动光标395
11.3.5删除文本396
11.3.6撤销和恢复396
11.4快速移动光标396
11.4.1按单词移动光标396
11.4.2快速移动光标至行首和行尾397
11.4.3移动光标至指定的行397
11.4.4滚动屏幕398
11.4.5使用鼠标移动光标398
11.4.6其他移动光标的技巧399
11.5Vim编辑器的查找和替换功能400
11.5.1简单的查找功能401、11.5.2反向查找401、11.5.3查找时忽略大小写402、11.5.4高亮显示查找结果403、11.5.5增量查找403、11.5.6简单的查找替换功能404、11.5.7区域性查找替换405、11.5.8谨慎的查找替换405、11.6Vim编辑器中的窗口操作406、11.6.1分割窗口406、11.6.2关闭窗口409、11.6.3控制窗口大小409、11.6.4窗口中的操作410
11.6.5移动窗口410
11.7Vim编辑器的高级技巧411
11.7.1复制和粘贴411
11.7.2剪切和粘贴411
11.7.3编辑多个文件411
11.7.4Visual模式413
11.7.5在Vim编辑器中执行Shell命令415
11.8定制Vim编辑器及灾难恢复415
11.8.1定制文件vimrc416
11.8.2定制Vim编辑器416
11.8.3灾难恢复417
11.9小结418
第12章Emacs编辑器(教学视频:28分钟)419
12.1Emacs编辑器概述与入门419
12.1.1Emacs编辑器概述419
12.1.2启动Emacs编辑器420
12.1.3Emacs编辑器启动界面421
12.1.4退出Emacs编辑器423
12.2Emacs基本操作424
12.2.1使用Emacs菜单栏424
12.2.2打开新文件425
12.2.3保存文件426
12.2.4简单编辑操作426
12.3快速移动光标427
12.3.1按字符移动光标427
12.3.2按句子移动光标428
12.3.3按单词移动光标428
12.3.4按段落移动光标428
12.3.5滚动屏幕428
12.3.6其他移动光标的技巧429
12.4Emacs编辑器的常用功能430
12.4.1撤销与恢复430
12.4.2搜索功能431
12.4.3查找并替换432
12.4.4复制、剪切和粘贴433
12.5Emacs编辑器的高级技巧434
12.5.1删除环435
12.5.2编辑文本区
㈨ linux shell中以空行分割文件
awk 'BEGIN{RS="\n\n"}{a++}{print > "file_"a}' file
㈩ Linux中shell命令相关问题求助大佬
Linux Shell常用shell命令
一、文件、目录操作命令
1、ls命令
功能:显示文件和目录的信息
ls以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 显示文件,按照修改时间排序
2、cd命令
功能:改名目录
cd dir切换到当前目录下的dir目录
cd /切换到根目录
cd ..切换到到上一级目录
cd ../..切换到上二级目录
cd ~切换到用户目录,比如是root用户,则切换到/root下
根目录与家目录的区别:
根目录是系统的一级文件结构,家目录只是非root用户控制目录。相当于windows我的文档,非root用户只能完会控制家目录的文件,不能控制根目录下其它的文件。
根目录是设备的最顶层目录,用 / 表示
家目录是每个用户登录系统后所在的目录,通常在 /home 下,以用户名作为目录,可以用 ~ 表示。
cd / 进入根目录
cd ~/ 进入家目录
当然,也可以用 /home/someone 进入someone的家目录
3、cp命令
功能:文件
cp source target将文件source复制为target
cp /root /source .将/root下的文件source复制到当前目录
eg:cp /home/open_038_dev/external_files/test/test.sh .
cp –av soure_dir target_dir将整个目录复制,两目录完全一样
4、rm命令
功能:删除文件或目录
rm file删除某一个文件
rm -f file 删除时候不进行提示。可以于r参数配合使用
rm -rf dir删除当前目录下叫dir的整个目录
5、mv命令
功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
mv source target将文件source更名为target
命令参数:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
实例一:文件改名
命令:
mv test.log test1.txt
实例二:移动文件
命令:
mv test1.txt test3
将文件log1.txt,log2.txt,log3.txt移动到目录test3中。
mv log1.txt log2.txt log3.txt test3
将文件log1.txt log2.txt log3.txt异动到/opt/soft/test/test4目录下
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
移动当前文件夹下的所有文件到上一级目录
mv * ../
6、diff
功能:比较文件内容
diff dir1 dir2比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2比较文件,显示两个文件不相同的内容
7、ln命令
功能:建立链接。windows的快捷方式就是根据链接的原理来做的
ln source_path target_path 硬连接
ln -s source_path target_path 软连接
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
二、查看文件内容命令
1、cat命令
显示文件的内容,和DOS的type相同
cat file
2、more命令
功能:分页显示命令
morefile
more命令也可以通过管道符(|)与其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:显示文件的最后几行
tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行
4、vi命令
vi file编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出
5、touch命令
功能:创建一个空文件
touch aaa.txt 创建一个空文件,文件名为aaa.txt
三、基本系统命令
1、man命令
功能:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你
例如:
man ls 显示ls命令的帮助内容
2、w命令
功能:显示登录用户的详细信息
例如:
Sarge:~# w
22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
3、who命令
功能:显示登录用户
例如:
Sarge:~# who
zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用户登录系统
例如:
Sarge:~# last
zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in
reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - down (00:00)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - 22:51 (00:00)
root tty1 Sun Mar 12 22:50 - down (00:01)
root tty1 Sun Mar 12 22:46 - 22:48 (00:02)
root tty1 Sun Mar 12 22:43 - 22:46 (00:02)
reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41)
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令
功能:系统日期设定
date显示当前日期时间
date -s 20:30:30设置系统时间为20:30:30
date -s 2002-3-5设置系统时期为2003-3-5
date -s "060520 06:00:00"设置系统时期为2006年5月20日6点整。
6、clock命令
功能:时钟设置
clock –r对系统Bios中读取时间参数
clock –w将系统时间(如由date设置的时间)写入Bios
7、uname命令
功能:查看系统版本
uname -R显示操作系统内核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、关闭和重新启动系统命令
reboot 重新启动计算机
shutdown -r now 重新启动计算机,停止服务后重新启动计算机
shutdown -h now 关闭计算机,停止服务后再关闭系统
halt 关闭计算机
一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。
9、su命令
功能:切换用户
su - 切换到root用户
su - zhoulj 切换到zhoulj用户,
注意:- ,他很关键,使用-,将使用用户的环境变量
http://man.linuxde.net/su
四、监视系统状态命令
1、top命令
功能:查看系统cpu、内存等使用情况
2、free命令
功能:查看内存和swap分区使用情况
例如:
Sarge:~# free -tm
total used free shared buffers cached
Mem: 187 42 145 0 6 16
-/+ buffers/cache: 19 167
Swap: 243 0 243
Total: 430 42 388
3、uptime
功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:监视虚拟内存使用情况
例如:
# vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 1
5、ps命令
功能:显示进程信息
ps ux 显示当前用户的进程
ps uxwww 显示当前用户的进程的详细信息
ps aux 显示所有用户的进程
ps ef 显示系统所有进程信息
6、kill命令
功能:干掉某个进程,进程号可以通过ps命令得到
kill -9 1001将进程编号为1001的程序干掉
kill all -9 apache将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。
五、磁盘操作命令
1、df命令
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
参数 功能
-a 列出全部目录
-Ta 列出全部目录,并且显示文件类型
-B 显示块信息
-i 以i节点列出全部目录
-h 按照日常习惯显示(如:1K、100M、20G)
-x [filesystype] 不显示[filesystype]
例如:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 265M 64M 187M 26% /
tmpfs tmpfs 94M 0 94M 0% /dev/shm
/dev/sda6 ext3 714M 8.1M 667M 2% /home
/dev/sda8 ext3 956M 215M 691M 24% /usr
/dev/sda7 ext3 714M 57M 619M 9% /var
2、命令
功能:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间。
参数 功能
-s [dirName] 显示目录占用总空间
-sk [dirName] 显示目录占用总空间,以k为单位
-sb [dirName] 显示目录占用总空间,以b为单位
-sm [dirName] 显示目录占用总空间,以m为单位
-sc [dirName] 显示目录占用总空间,加上目录统计
-sh [dirName] 只统计目录大小
例如:
# -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中挂载各种文件系统。
格式:mount -t 设备名 挂载点
(1)、mount /dev/sda1 /mnt/filetest
mount -t vfat /dev/hda /mnt/fatfile
mount -t ntfs /dev/hda /mnt/ntfsfile
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -o 设备名 挂载点
(2)、使用usb设备
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以创建swap空间,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #启用新创建的swap空间,停用可使用swapoff命令
5、fdisk命令
功能:对磁盘进行分区
fdisk /dev/xxx 格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)
fdisk -l 显示磁盘的分区表
6、mkfs命令
功能:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
参数 功能
-b 块大小
-i 节点大写
-m 预留管理空间大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁盘检测
e2fsck /dev/hda1检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1检查磁盘是否有坏区
8、tune2fs命令
功能:调整ext2/ext3文件的参数
参数 功能
-l 查看文件系统信息
-c 设置强制自检的挂载次数
-i 设置强制自检的间隔时间,单位天
-m 保留块的百分比
-j 将ext2文件系统转换成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。
跟DOS下的disk命令的作用类似。
dd if=/dev/fd0 of=floppy.img将软盘的内容复制成一个镜像
dd if=floppy.img of=/dev/fd0将一个镜像的内容复制到软盘,做驱动盘的时候经常用。
六、用户和组相关命令
1、groupadd命令
功能:添加组
groupadd test1 添加test1组
groupadd -g 1111 test2 添加test2组,组id为1111
2、useradd命令
功能:添加用户
useradd user1 添加用户user1,home为/home/user1,组为user1
useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1
user list显示已登陆的用户列表
3、passwd命令
功能:更改用户密码
passwd user1修改用户user1的密码
passwd -d root将root用户的密码删除
4、userdel命令
功能:删除用户
userdel user1删除user1用户
5、chown命令
功能:改变文件或目录的所有者
chown user1 /dir将/dir目录设置为user1所有
chown -R user1.user1 /dir将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录
6、chgrp命令
功能:改变文件或目录的所有组
chgrp user1 /dir将/dir目录设置为user1所有
7、chmod命令
功能:改变用户的权限
chmod a+x file将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file将文件file设置为可读写
chmod 750 file 将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限
8、id命令
功能:显示用户的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:显示用的信息
注意:debian下没有该命令。
# finger zhoulj
Login: zhoulj Name:
Directory: /home/zhoulj Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.
七、压缩命令
1、gzip格式命令
功能:压缩文件,gz格式的
注意:生成的文件会把源文件覆盖
gzip -v 压缩文件,并且显示进度
-d 解压缩
gunzip -f 解压缩
例如:
# gzip a.sh
#ll
-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
2、zip格式命令
功能:压缩和解压缩zip命令
zip
unzip
例如:
将/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip:
zip -q -r html.zip /home/Blinux/html
(-q:不显示指令执行过程 -r:递归处理,将指定目录下的所有文件和子目录一并处理)
# zip a.sh.zip a.sh
adding: a.sh (stored 0%)
# ll
-rw-r--r-- 1 root root 188 5月 21 10:37 a.sh.zip
# unzip a.sh.zip
Archive: a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
extracting: a1.sh
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh
3、bzip2根式命令
功能:bzip2格式压缩命令,
注意:生成的文件会把源文件覆盖
bzip2
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
4、tar命令
功能:归档、压缩等,比较重要,会经常使用。
-cvf 压缩文件或目录
-xvf 解压缩文件或目录
-zcvf 压缩文件或,格式tar.gz
-zxvf 解压缩文件或,格式tar.gz
-zcvf 压缩文件或,格式tgz
-zxvf 解压缩文件或,格式tgz
举例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh
# ll
-rw-r--r-- 1 root root 20480 5月 21 10:50 abc.tar
-rw-r--r-- 1 root root 1223 5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz
八、网络相关命令
1、ifconfig命令
功能:显示修改网卡的信息
ifconfig 显示网络信息
ifconfig eth0 显示eth0网络信息
修改网络信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 设置网卡1的地址192.168.1.1,掩码为255.255.255.0
ifconfig eth0:1 192.168.1.2 捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.n 捆绑网卡1的第n个地址为192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:显示当前路由设置情况
route 显示当前路由设置情况,比较慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route add default gw 192.168.1.1 metric1 设置192.168.1.1为默认的路由
route del default 将默认的路由删除
举例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
3、netstat命令
功能:显示网络状态
netstat -an 查看网络端口信息
netstat -nr 查看路由表信息,比route快多了,
4、启动网络的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止网络,
/etc/init.d/network start 启动网络,
5、手工修改网络配置
(1)、debian系统
配置文件位置为:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address 10.4.5.6
netmask 255.255.255.0
network 10.4.5.0
broadcast 10.4.5.255
iface eth1 inet static
address 219.25.5.60
netmask 255.255.255.192
network 219.25.5.0
broadcast 219.25.5.63
gateway 219.25.5.30
修改后保存配置后,运行
/etc/init.d/networking restart
网络配置就改变了
(2)、redhat系统
配置文件位置为:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改后保存配置后,运行
/etc/init.d/network restart
或者
service network restart
网络配置就改变了。
默认DNS的文件的位置为:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、网络排错
(1)、ping命令
功能:不说了,不知道就用干这行了。
ping
(2)、traceroute命令
功能:路由跟踪
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排错
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 192.168.1.11
Address: 192.168.1.11#53
Non-authoritative answer:
Name:
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
>
Server: 202.118.66.6
Address: 202.118.66.6#53
Non-authoritative answer: canonical name =
.
Name:
Address: 202.108.22.5
九、其他命令
1、ssh命令
功能:远程登陆到其他UNIX主机
ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2
ssh
使用用户名user1登陆到192.168.1.2
2、scp命令
功能:安全
例如:
scp abc.tar.gz
:~ 将本地的abc.tar.gz 复制到 192.168.1.5的user1用户的根(/home/user1)下。
3、telnet命令
功能:登陆到远程主机
例如:
telnet 192.168.1.5
————————————————
版权声明:本文为CSDN博主「Sunshine~L&H」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LH0912666/article/details/87897629