㈠ 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