介紹一些不常用但很有用的Linux命令
介紹一些不常用但很有用的Linux命令
pwdhash命令 – 密碼哈希生成器
pwdhash 命令的作用是可以在LDIF密碼字段中生產(chǎn)可以使用的密碼哈希值。Ubuntu 安裝:
apt install 389-ds-base
語(yǔ)法格式:
pwdhash [參數(shù)] [密碼]
常用參數(shù):
| 參數(shù) | 描述 |
| -H | 顯示摘要信息 |
| -s<算法> | 指定要使用的密碼方案,比如MD5、SHA1、SHA256、SHA512、SSHA、SSHA256或SSHA512 |
| -c<密碼><密碼2> | 對(duì)密碼進(jìn)行比較 |
| -D<配置目錄> | 從ns-slapd配置直接進(jìn)入密碼模式 |
示例:
1. 生成jeremysong的哈希值
root@hecs-x-medium-2-linux-20210331093135:~# pwdhash jeremysong{SSHA512}wYBjZ7l9dx7tyowIKCvUhei3hfCBVSyTpzmtJaVTCYQIGzGZHmDXOF6NGACowMN5xLun4hCajwj41vjyeAnmDVTUkefIEkOS
2. 生成jeremysong的MD5值
root@hecs-x-medium-2-linux-20210331093135:~# pwdhash -s md5 jeremysong{MD5}9C8jbapHNTOgANa9jKx7UA==
3. 對(duì)jeremysong和superjeremy的哈希值進(jìn)行比較
root@hecs-x-medium-2-linux-20210331093135:~# pwdhash -c jeremysong superjeremypwdhash: password does not match.
lslogins命令 – 顯示系統(tǒng)中現(xiàn)有用戶(hù)的相關(guān)信息
lslogins 命令會(huì)展示出系統(tǒng)中現(xiàn)有用戶(hù)的相關(guān)信息,-u 標(biāo)記可用來(lái)標(biāo)識(shí)只展示用戶(hù)的賬戶(hù)。語(yǔ)法格式:
lslogins [參數(shù)]
常用參數(shù):
| 參數(shù) | 描述 |
| -a, --acc-expiration | 顯示有關(guān)上次密碼更改日期和賬戶(hù)到期日 |
| --btmp-file | btmp的備用路徑 |
| -c, --colon-separate | 用冒號(hào)代替換行符 |
| -e, --export | 以NAME=VALUE格式輸出數(shù)據(jù) |
| -f, --failed | 顯示有關(guān)用戶(hù)上次失敗登錄嘗試的數(shù)據(jù) |
| -G, --supp-groups | 顯示有關(guān)補(bǔ)充組的信息 |
| -L, --last | 顯示包含有關(guān)用戶(hù)上次登錄會(huì)話(huà)的信息的數(shù)據(jù) |
| -l, --logins | 僅顯示登錄名(用戶(hù))中指定登錄名的用戶(hù)的數(shù)據(jù)名稱(chēng)或用戶(hù)名) |
| -o, --output | 指定要打印的輸出列 |
| -p, --pwd | 顯示與按密碼登錄相關(guān)的信息 |
| -r, --raw | 原始輸出(無(wú)列) |
| -u, --user-accs | 顯示用戶(hù)帳戶(hù) |
示例:
1. 展示出系統(tǒng)中現(xiàn)有用戶(hù)的相關(guān)信息
root@hecs-x-medium-2-linux-20210331093135:~# lslogins -u rootUsername: rootUID: 0Gecos field: rootHome directory: /rootShell: /bin/bashNo login: noPassword is locked: noPassword not required: noLogin by password disabled: noPrimary group: rootGID: 0Last login: 21:53Last terminal: pts/1Last hostname: 222.91.167.174Failed login: 10:46Failed login terminal: ssh:nottyHushed: noPassword expiration warn interval: 7Password changed: Mar31/08:00Maximum change time: 99999Running processes: 81Last logs:22:17 CRON[9450]: pam_unix(cron:session): session opened for user root by (uid=0)22:17 CRON[9451]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)22:17 CRON[9450]: pam_unix(cron:session): session closed for user root
factor命令 – 分解因數(shù)
factor 命令用于分解因數(shù)。factor 是Ubuntu自帶的分解質(zhì)因數(shù)的指令,速度飛快。系統(tǒng)自帶的 factor 沒(méi)用 gmp,不支持2^128(大概40位)以上的數(shù),如果自己編譯coreutils 使其支持 gmp,就可以開(kāi)始算任意位的數(shù)了。語(yǔ)法格式:
factor [參數(shù)]
常用參數(shù):
| 參數(shù) | 描述 |
| number | 40位以?xún)?nèi)的整數(shù) |
| pf | 主因子方法 |
| pcf | 主成分因子 |
示例:
1. 60的分解因數(shù)
root@hecs-x-medium-2-linux-20210331093135:~# factor 6060: 2 2 3 5
2. 1987的分解因數(shù)(沒(méi)有返回更多因子,這是因?yàn)?1987 是一個(gè) 質(zhì)數(shù))
root@hecs-x-medium-2-linux-20210331093135:~# factor 10871087: 1087
3. 連續(xù)分解多個(gè)數(shù)字
root@hecs-x-medium-2-linux-20210331093135:~# factor6060: 2 2 3 5100100: 2 2 5 510341034: 2 11 4710871087: 10877777: 7 11
jot命令 – 創(chuàng)建數(shù)字列表
jot 命令可以創(chuàng)建一系列數(shù)字。給定數(shù)字總數(shù)及起始數(shù)字即可??蓭椭鶕?jù)您提供的值創(chuàng)建數(shù)字列表,作為起始編號(hào)和要在其后查看的值的數(shù)量。jot 執(zhí)行計(jì)算的語(yǔ)法,并使用 jot 命令在Ubuntu命令行中執(zhí)行高效數(shù)學(xué)運(yùn)算。不過(guò)可能首先需要安裝Athena-jot才能在Ubuntu上使用 jot 命令。Ubuntu 安裝:
apt install athena-jot
語(yǔ)法格式:
jot [參數(shù)]
常用參數(shù):
| 參數(shù) | 描述 |
| x | 打印x個(gè)數(shù)值 |
| y | 數(shù)字y之后 |
| z | 在數(shù)字y之后反轉(zhuǎn)打印x個(gè)數(shù)字,直到數(shù)字z |
示例:
1. 在數(shù)字2之后打印6個(gè)數(shù)值
root@hecs-x-medium-2-linux-20210331093135:~# jot 6 2234567
2. 在數(shù)字10之后反轉(zhuǎn)打印8個(gè)數(shù)字,直到數(shù)字2
root@hecs-x-medium-2-linux-20210331093135:~# jot 8 10 2109875432
3. 從第1天(y值)開(kāi)始打印12月份的9天(x值)
root@hecs-x-medium-2-linux-20210331093135:~# for i in `jot 9 1`; do echo December $i; doneDecember 1December 2December 3December 4December 5December 6December 7December 8December 9
shuf命令 – 產(chǎn)生隨機(jī)的排列
shuf 命令將輸入的內(nèi)容隨機(jī)排列并輸出。 shuf 命令當(dāng)沒(méi)有文件或文件為-時(shí),讀取標(biāo)準(zhǔn)輸入。語(yǔ)法格式:
shuf [參數(shù)]
常用參數(shù):
| 參數(shù) | 描述 |
| -e | 將每個(gè)ARG視為輸入行 |
| -i | 將數(shù)字范圍LO(最低)到HI(最高)之間的作為輸入行 |
| --help | 顯示幫助信息并退出 |
示例:
1. 模擬硬幣拋擲,獲取前10個(gè)結(jié)果
root@hecs-x-medium-2-linux-20210331093135:~# shuf -r -n 10 -e "正面" -e "反面"正面反面反面反面正面反面正面正面反面反面
2. 模擬體彩超級(jí)大樂(lè)透
root@hecs-x-medium-2-linux-20210331093135:~# shuf -i 1-35 -n 5|sort -n && shuf -i 1-12 -n 2|sort -n121521252647
seq命令 – 打印數(shù)字序列
seq 命令用于以指定增量從首數(shù)開(kāi)始打印數(shù)字到尾數(shù),即產(chǎn)生從某個(gè)數(shù)到另外一個(gè)數(shù)之間的所有整數(shù),并且可以對(duì)整數(shù)的格式、寬度、分割符號(hào)進(jìn)行控制。語(yǔ)法格式:
seq [參數(shù)]
常用參數(shù):
| -f | 格式 |
| -s | 字符串 |
| -w | 在列前添加0 使得寬度相同 |
示例:
1. 產(chǎn)生5以?xún)?nèi)的整數(shù)
root@hecs-x-medium-2-linux-20210331093135:~# seq 512345
2. 產(chǎn)生98~101之間的整數(shù),并且要求數(shù)字之間的分隔符為”:::”
root@hecs-x-medium-2-linux-20210331093135:~# seq -s ":::" -f "%03g" 98 101098:::099:::100:::101
bc命令 – 浮點(diǎn)運(yùn)算
bc 的英文全拼為 “ Binary Calculator ”,是一種支持任意精度的交互執(zhí)行的計(jì)算器語(yǔ)言。bash內(nèi)置了對(duì)整數(shù)四則運(yùn)算的支持,但是并不支持浮點(diǎn)運(yùn)算,而 bc 命令可以很方便的進(jìn)行浮點(diǎn)運(yùn)算,當(dāng)然整數(shù)運(yùn)算也不再話(huà)下。語(yǔ)法格式:
bc [選項(xiàng)]
常用參數(shù):
| -i | 強(qiáng)制進(jìn)入交互式模式 |
| -l | 定義使用的標(biāo)準(zhǔn)數(shù)學(xué)庫(kù) |
| -w | 定義使用的標(biāo)準(zhǔn)數(shù)學(xué)庫(kù) |
| -q | 打印正常的GNU bc環(huán)境信息 |
示例:
1. 算術(shù)操作高級(jí)運(yùn)算bc命令它可以執(zhí)行浮點(diǎn)運(yùn)算和一些高級(jí)函數(shù)
root@hecs-x-medium-2-linux-20210331093135:~# echo "1.212*3" | bc3.636
2. 設(shè)定小數(shù)精度(數(shù)值范圍)
root@hecs-x-medium-2-linux-20210331093135:~# echo "scale=2;3/8" | bc.37
3. 計(jì)算平方和平方根
root@hecs-x-medium-2-linux-20210331093135:~# echo "10^10" | bc10000000000root@hecs-x-medium-2-linux-20210331093135:~# echo "sqrt(100)" | bc10
歡迎關(guān)注我的公眾號(hào)“須彌零一”,原創(chuàng)技術(shù)文章第一時(shí)間推送。
評(píng)論
圖片
表情
