你可以寫一個shell腳本
基本上,批量添加用戶有兩種方式:
一是用useradd + passwd命令配合腳本來添加;
二是用newusers+chpasswd來添加。
方法一、useradd + passwd命令配合腳本來添加
用戶的初始密碼被設為用戶名+123
#!/bin/bash
#
#.list
#
forusernamein$(moreusers.list)
do
if[-n$username]
then
useradd-m$username
echo
echo$username"123"|passwd--stdin$username
echo
echo"User$username'spasswordischanger!"
else
echo"Theusernameisnull!"
fi
done
~
其中users.list文件內容如下:
johnson
lily
kelly
方法二、newusers+chpasswd批量添加用戶
1、首先我們創建用戶文件和密碼文件;
我們要創建包含新用戶的文件userfile.txt ;另一個是為新添加的用戶設置密碼的userpwdfile.txt;
[root@localhost ~]# touch userfile.txt
[root@localhost ~]# touch userpwdfile.txt
然後用文本編輯器打開文件userfile.txt,添加如下內容;
win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
win02:x:522:522::/home/win02:/sbin/nologin
win03:x:523:523::/home/win03:/sbin/nologin
win04:x:524:524::/home/win04:/sbin/nologin
win05:x:525:525::/home/win05:/sbin/nologin
win06:x:526:526::/home/win06:/sbin/nologin
win07:x:527:527::/home/win07:/sbin/nologin
win08:x:528:528::/home/win08:/sbin/nologin
win09:x:529:529::/home/win09:/sbin/nologin
userfile.txt 文件內容格式和 /etc/passwd 的格式是一樣的,必須嚴格按照/etc/passwd 的格式來書寫;上面所添加的用戶都不能登錄系統,但完全能用於ftp登錄,但您得在相應ftp伺服器的配置文件中打開讓本地用戶有讀寫許可權;如果您想讓上 面的部份用戶可以登錄系統,可以把SHELL類似改一改,比如改成/bin/bash ;
我們再來書寫新增用戶的密碼文件userpwdfile.txt內容;這個文件的內容中的用戶名要與 userfile.txt用戶名相同且嚴格按照「用戶名:密碼」的格式來寫,一個用戶一行;也就是說我們先是添加了win00到win09的用戶,現在要為這些用戶更新密碼;比如下面的;
win00:123456
win01:654321
win02:123321
win03:qweewq
win04:google
win05:adadwc
win06:wsscee
win07:xxec32
win08:543wew
win09:3ce3wf
2、用newusers批量添加用戶,此時用戶是沒有密碼的
[root@localhost ~]# newusers userfile.txt
2、執行命令/usr/sbin/pwunconv,將/etc/shadow產生的shadow密碼解碼,然後回寫到/etc/passwd中, 並將/etc/shadow的shadow密碼欄刪掉。這是為了方便下一步的密碼轉換工作,即先取消shadow password功能,關閉影子文件。
[root@localhost ~]#pwunconv
3、 用chpasswd批量修改密碼
[root@localhost ~]# chpasswd < userpwdfile.txt
4、最後不要忘了恢復影子文件,保證安全,您可以通過下面的命令來映射到 /etc/shadow文件名
[root@localhost ~]# pwconv
2. linux中tail -100和tail -n 100的區別
tail -n +20 filename 是從文件第二十行開始顯示 而不是顯示前面二十行
3. 查看linux日誌的工具有哪些
linux 日誌查看
tail、head、 cat、tac、sed、less、echo
1、命令格式: tail [必要參數] [選擇參數] [文件]
-f 循環讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數目> 顯示的位元組數
-n<行數> 顯示行數
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反復的間隔休眠S秒
tail -n 100 catalina.out 查詢日誌尾部最後100行的日誌;
tail -n +100 catalina.out 查詢100行之後的所有日誌;
tail -fn 100 catalina.out 循環實時查看最後100行記錄(最常用的)
配合著grep用, 例如 : tail -fn 100 catalina.out | grep -- '關鍵字'
如果一次性查詢的數據量太大,可以進行翻頁查看,
例如:tail -n 6000 catalina.out |more -100 可以進行多屏顯示(ctrl + f 或者 空格鍵可以快捷鍵)
--------------------------------------------------------------------------------------------------------------------------
2、head
head -n 1000 catalina.out //查詢日誌文件中的頭10行日誌;head -n -1000 catalina.out //查詢日誌文件除了最後10行的其他所有日誌;
head其他參數與tail 類似
-----------------------------------------------------------------------------------------------------
3、cat
cat 是由第一行到最後一行連續顯示在屏幕上
$ cat filename // 一次顯示整個文件
$ cat > filename //從鍵盤創建一個文件
$cat file1 file2 > file //將幾個文件合並為一個文件,只能創建新文件,不能編輯已有文件.
$cat -n textfile1 > textfile2 //將一個日誌文件的內容追加到另外一個 :
$cat : >textfile2 // 清空一個日誌文件
注意: >意思是創建, >>是追加。
cat其他參數與tail 類似
----------------------------------------------------------------------------------------------------------------------------------------
4.tac
tac 則是由最後一行到第一行反向在螢幕上顯示出來
--------------------------------------------------------------------------------------------------------------------------------------
5.sed
這個命令可以查找日誌文件特定的一段 , 也可以根據時間的一個范圍查詢
//按照行號
sed -n '2,100p'catalina.out
//這樣你就可以只查看文件的第5行到第10行。
//按照時間段
sed -n '/2019-01-17 10:07:10/,/2019-02-14 16:54:01/p'catalina.out
-------------------------------------------------------------------------------------------------
6.less
less log.log
shift + G 命令到文件尾部 然後輸入 ?加上你要搜索的關鍵字例如 ?1213shift+n 關鍵字之間進行切換
----------------------------------------------------------------------------------------------
附錄1history // 所有的歷史記錄history | grep XXX // 歷史記錄中包含某些指令的記錄history | more // 分頁查看記錄history -c // 清空所有的歷史記錄!! 重復執行上一個命令
查詢出來記錄後選中 :!323
-------------------------------------------------------------------------------------------------------------
7、echo
輸出 echo "12345"
---------------------------------------------------------------------------------------------------------
附錄2
linux日誌文件說明
/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/secure 與安全相關的日誌信息
/var/log/maillog 與郵件相關的日誌信息
/var/log/cron 與定時任務相關的日誌信息
/var/log/spooler 與UUCP和news設備相關的日誌信息
/var/log/boot.log 守護進程啟動和停止相關的日誌消息
/var/log/wtmp 該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件
---------------------------------------------------------------------------------------------------------------------
附錄3
tomcat運行日誌
1、先切換到:cd usr/local/tomcat3/logs
2、tail -f catalina.out
3、這樣運行時就可以實時查看運行日誌了
Ctrl+c 是退出tail命令。 alt+E+R重置
4. linux文件截取前幾行,後幾行,中間幾行命令及查看埠命令
1. 如果你只想看文件的前100行,可以使用head命令,如
head -100 filename
2. 如果你想查看文件的後100行,可以使用tail命令,如:
tail -100 filename 或 tail -n 100 filename
3. 查看文件中間一段,你可以使用sed命令,如:
sed -n '100,200p' filename
這樣你就可以只查看文件的第100行到第200行。
截取的文件可以用重定向輸入到新的文件中:
head -100 filename >a.txt
也可以在robot裡面使用read 列印出來
使用命令:
ps -aux | grep tomcat/8080
方法二:直接使用 netstat -anp | grep portno
即:netstat –anp | grep 8080
查看埠命令 https://www.cnblogs.com/CEO-H/p/7794306.html
linux替換目錄下所有文件中的某字元串
比如,要將目錄/moles下面所有文件中的zhangsan都修改成lisi,這樣做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /moles`
解釋一下:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目錄
-l 表示輸出匹配的文件名
linux查找目錄下的所有文件中是否含有某個字元串
查找目錄下的所有文件中是否含有某個字元串
find .|xargs grep -ri "php"
查找目錄下的所有文件中是否含有某個字元串,並且只列印出文件名
find .|xargs grep -ri "php" -l
ip addr 查看ip地址
5. 下面哪個是linux動態查看最新100行日誌的方式
對於從事web開發的人員來說.伺服器上的日誌多如牛毛,如何快速從中找出所需信息非常重要,以下是我在工作中用到的查找日誌的簡單命令,希望能對您有所幫助:
...展開
工具原料
linuxSecureCRT
方法/步驟分步閱讀
1
/7
先必須了解兩個最基本的命令:
tail -n 10 test.log 查詢日誌尾部最後10行的日誌;
tail -n +10 test.log 查詢10行之後的所有日誌;
head -n 10 test.log 查詢日誌文件中的頭10行日誌;
head -n -10 test.log 查詢日誌文件除了最後10行的其他所有日誌;
2
/7
場景1: 按行號查看---過濾出關鍵字附近的日誌
因為通常時候我們用grep拿到的日誌很少,我們需要查看附近的日誌.
我是這樣做的,首先: cat -n test.log |grep "地形" 得到關鍵日誌的行號
3
/7
<3>得到"地形"關鍵字所在的行號是102行. 此時如果我想查看這個關鍵字前10行和後10行的日誌:
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查詢92行之後的日誌
head -n 20 則表示在前面的查詢結果里再查前20條記錄
1688
根據文章內容為您推薦
廣告
¥4700 元
查看
¥4700 元
查看
¥9.9 元
查看
¥4700 元
查看
¥4700 元
查看
4
/7
場景2:那麼按日期怎麼查呢? 通常我們非常需要查找指定時間端的日誌
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特別說明:上面的兩個日期必須是日誌中列印出來的日誌,否則無效.
5
/7
關於日期列印,可以先 grep '2014-12-17 16:17:20' test.log 來確定日誌中是否有該時間點,以確保第4步可以拿到日誌
這個根據時間段查詢日誌是非常有用的命令.
6
/7
如果我們查找的日誌很多,列印在屏幕上不方便查看, 有兩個方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 這樣就分頁列印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析.如:
cat -n test.log |grep "地形" >xxx.txt
7
/7
這幾個日誌查看方法應該可以滿足日常需求了.
6. LINUX 中 VIM怎麼做命令實現for循環列印從1到100每個數字後面有回車
打開終端,新建一個.tcl文件,例如: test.tcl 。將如下代碼粘貼到文件中,保存,退出。
for {set i 1} {$i <= 100} {incr i} {
puts $i
}
然後運行 tclsh test.tcl
7. linux虛擬機查看文件log.txt(非常大)中 含'1010' 最後100行
如果是查找da帶』1010『結果後的100行,y應該是grep '1010' |tail -n 100 這樣才沒有問題,
若是前100行中帶有』1010『的,則是 tail -n 100|grep '1010'