日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Node里的Linux命令行參數(shù)使用方法(nodelinux命令行參數(shù))

Node.js是一款流行的JavaScript運(yùn)行環(huán)境,它允許我們使用JavaScript語(yǔ)言在服務(wù)器端編寫(xiě)代碼。在Node.js中,可以很方便地使用Linux命令行參數(shù)來(lái)控制程序在運(yùn)行時(shí)的行為。這篇文章將介紹Node.js中如何使用Linux命令行參數(shù)。

Node.js命令行參數(shù)

命令行參數(shù)是命令行程序執(zhí)行時(shí)傳遞給程序的引數(shù)。在Node.js中,可以通過(guò)process.argv數(shù)組訪問(wèn)命令行參數(shù),其中argv[0]是Node.js可執(zhí)行文件路徑,argv[1]是當(dāng)前執(zhí)行的JavaScript腳本路徑,以此類(lèi)推。

例如,如果我們運(yùn)行以下命令:

“`

node server.js –port=8080 –log=debug

“`

那么process.argv數(shù)組將如下所示:

“`

[

‘/usr/local/bin/node’, // argv[0]

‘/path/to/server.js’, // argv[1]

‘–port=8080’, // argv[2]

‘–log=debug’ // argv[3]

]

“`

我們可以在代碼中使用這些參數(shù)來(lái)控制程序的行為。以下是一些使用命令行參數(shù)的示例。

示例一:獲取命令行參數(shù)的值

命令行參數(shù)通常是由鍵和值組成的。要獲取參數(shù)的值,可以使用JavaScript字符串的split方法將參數(shù)鍵和值分開(kāi)。

例如,如果我們定義了一個(gè)–port參數(shù)用于指定程序要監(jiān)聽(tīng)的端口號(hào),那么可以像下面這樣獲取端口號(hào)的值:

“`

const args = process.argv.slice(2);

const portArg = args.find(arg => arg.includes(‘–port=’));

const port = portArg ? portArg.split(‘=’)[1] : ‘3000’;

“`

該代碼首先使用slice方法從process.argv數(shù)組中去掉前兩個(gè)元素(即Node.js可執(zhí)行文件路徑和JavaScript腳本路徑),以便對(duì)剩余的參數(shù)進(jìn)行處理。

然后使用find方法找到鍵名為–port的參數(shù),再使用split方法將–port參數(shù)的值分離出來(lái)。如果–port參數(shù)未指定,那么默認(rèn)值為3000。

示例二:檢測(cè)命令行參數(shù)

有時(shí)候我們不需要獲取參數(shù)的值,只需要檢測(cè)參數(shù)是否存在即可。例如,我們可能會(huì)定義一個(gè)–daemon參數(shù),用于指示程序是否應(yīng)該在后臺(tái)運(yùn)行,而不是在終端中顯示輸出。

為了檢測(cè)此類(lèi)參數(shù),我們可以使用JavaScript數(shù)組的includes方法。

“`

const args = process.argv.slice(2);

const runInBackground = args.includes(‘–daemon’);

“`

這里的代碼只需要檢測(cè)是否存在–daemon參數(shù),如果存在,則將runInBackground變量設(shè)置為true。否則,該變量將設(shè)置為false。

示例三:處理多個(gè)命令行參數(shù)

程序可能會(huì)有多個(gè)命令行參數(shù),我們可以使用for循環(huán)和switch語(yǔ)句來(lái)處理它們。例如,我們可以定義以下幾個(gè)參數(shù):

– –port:用于指定程序要監(jiān)聽(tīng)的端口號(hào);

– –log:用于指定日志級(jí)別;

– –daemon:用于指示程序是否應(yīng)該在后臺(tái)運(yùn)行。

以下是處理這些參數(shù)的示例代碼:

“`

const args = process.argv.slice(2);

let port = 3000;

let logLevel = ‘info’;

let runInBackground = false;

for (let i = 0; i

const arg = args[i];

switch (arg) {

case ‘–port’:

port = parseInt(args[i+1]);

break;

case ‘–log’:

logLevel = args[i+1];

break;

case ‘–daemon’:

runInBackground = true;

break;

default:

console.log(`Unknown argument: ${arg}`);

break;

}

}

“`

該代碼首先使用slice方法從process.argv數(shù)組中去掉前兩個(gè)元素(即Node.js可執(zhí)行文件路徑和JavaScript腳本路徑),以便對(duì)剩余的參數(shù)進(jìn)行處理。

然后使用for循環(huán)遍歷所有參數(shù),使用switch語(yǔ)句處理每個(gè)參數(shù)。如果參數(shù)有對(duì)應(yīng)的值,那么可以使用args[i+1]來(lái)獲取它。

如果遇到未知的參數(shù),代碼將輸出一條信息并繼續(xù)處理下一個(gè)參數(shù)。

結(jié)論

在Node.js中,使用Linux命令行參數(shù)可以輕松地控制程序的行為。通過(guò)使用process.argv數(shù)組來(lái)訪問(wèn)命令行參數(shù),我們可以檢測(cè)參數(shù)是否存在,獲取參數(shù)的值,以及處理多個(gè)參數(shù)。使用命令行參數(shù),可以使程序更加靈活和易于配置。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專(zhuān)注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220

Linux命令

快照功能:記錄當(dāng)前的硬盤(pán)的狀態(tài)。剛建快照時(shí)快照占用內(nèi)存為0,標(biāo)記了當(dāng)前硬盤(pán)的存儲(chǔ)狀態(tài)。當(dāng)虛擬機(jī)對(duì)快照標(biāo)記的內(nèi)容改寫(xiě)時(shí),會(huì)將改寫(xiě)的內(nèi)容存儲(chǔ)進(jìn)快照,與未改寫(xiě)的部分整合得到完整的快照。當(dāng)快照標(biāo)記的部分被完全改寫(xiě),那么快照存儲(chǔ)空間完整記錄了當(dāng)時(shí)拍攝時(shí)的內(nèi)存狀態(tài)。

參數(shù)形式

之一種:參數(shù)用一橫的說(shuō)明后面的參數(shù)是字符形式。

第二種:參數(shù)用兩橫的說(shuō)明后面的參數(shù)是單詞形式。

第三種:參數(shù)前有橫的是 System V風(fēng)格。

第四種:參數(shù)前沒(méi)有橫的是 BSD風(fēng)格。

cat、more、less、head、tail命令的比較:

cat命令可以一次顯示整個(gè)文件,如果文件比較大,使用不是很方便;

more命令可以讓屏幕在顯示滿一屏幕時(shí)暫停,按空格往前翻頁(yè),按b往后翻頁(yè)。

less命令也可以分頁(yè)顯示文件,和more命令的區(qū)別就在于: 支持上下鍵卷動(dòng)屏幕、查找;不需要在一開(kāi)始就讀取整個(gè)文件,打開(kāi)大文件時(shí)比more、vim更快。

head命令用于查看文件的前n行。

tail命令用于查看文件的后n行,加上-f命令,查看在線日志非常方便,可以打印最新增加的日志。

一般模式:

編輯模式:

命令模式:

編碼

多行操作(列編輯模式)

插入:ctrl+v進(jìn)入列編輯模式,上下移動(dòng)光標(biāo)選擇需要插入的位置,然后輸入大寫(xiě)I,輸入需要文本,最后按esc鍵退出,就會(huì)發(fā)現(xiàn)文本會(huì)在選擇的多行中插入。

刪除:ctrl+v進(jìn)入列編輯模式,上下移動(dòng)光標(biāo)選中需要?jiǎng)h除的部分,然后按d,就會(huì)刪除選中的內(nèi)容。

①head:顯示文件頭部?jī)?nèi)容

②tail:輸出文件尾部?jī)?nèi)容

注意:用vim和vi修改內(nèi)容會(huì)刪除源文件并生成新文件,所以tail -f會(huì)失效。需要用到

追加和覆蓋語(yǔ)句(>或>>),才能被tail -f監(jiān)視到。

一般用于查看小文件

查看壓縮文件中的文本內(nèi)容

例:

①more:文件內(nèi)容分屏查看器

②less:分屏顯示文件內(nèi)容,效率比more高

1、簡(jiǎn)單讀取

運(yùn)行腳本如下

測(cè)試結(jié)果為:

2、-p 參數(shù),允許在 read 命令行中直接指定一個(gè)提示。

運(yùn)行腳本如下

測(cè)試結(jié)果為:

echo (輸出內(nèi)容到控制臺(tái))

輸出給定文本的sha256加密后的內(nèi)容

①顯示當(dāng)前時(shí)間信息

②顯示當(dāng)前時(shí)間年月日

③顯示當(dāng)前時(shí)間年月日時(shí)分秒

④顯示昨天

⑤顯示明天時(shí)間

⑥顯示上個(gè)月時(shí)間

需要注意的是取下個(gè)月的命令存在bug,執(zhí)行如下命令會(huì)得到21-10,但是正常應(yīng)該得到21-09,需要注意

date -d “+1 month” +%y-%m

⑦修改系統(tǒng)時(shí)間

⑧獲取當(dāng)前時(shí)間戳

獲取秒時(shí)間戳: date +%s

獲取毫秒時(shí)間戳:$

查看日歷

(1)查看當(dāng)前月的日歷

(2)查看2023年的日歷

例:

對(duì)比gzip/gunzip,zip/unzip可以壓縮文件和目錄且保留源文件。

①zip:壓縮

②unzip:解壓縮

只能壓縮文件不能壓縮目錄,不保留原來(lái)的文件。

gzip 文件 (只能將文件壓縮為*.gz文件)

gunzip 文件.gz (解壓縮文件命令)

例: crontab -e

(1)進(jìn)入crontab編輯界面。會(huì)打開(kāi)vim編輯你的工作。

(2)每隔1分鐘,向/root/bailongma.txt文件中添加一個(gè)11的數(shù)字

*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt

(3)可以用tail -f 目標(biāo)文件來(lái)實(shí)施監(jiān)控追加的內(nèi)容

查看日志

可以用tail -f /var/log/cron.log觀察

Cron表達(dá)式見(jiàn)文章:

ls

cd

例:

cd -P $(dirname $p1) ; pwd 先跳轉(zhuǎn)到文件的所在目錄,再打印$p1文件的實(shí)際路徑

概述

①cp(copy):只能在本機(jī)中復(fù)制

②scp(secure copy):可以復(fù)制文件給遠(yuǎn)程主機(jī)

scp -r test.sh hxr@hadoop102:/root

③rsync(remote sync):功能與scp相同,但是不會(huì)改文件屬性

rsync -av test.sh test.sh hxr@hadoop102:/root

④nc(netcat):監(jiān)聽(tīng)端口,可以實(shí)現(xiàn)機(jī)器之間傳輸文件。

nc -lk 7777 (-l表示listen,-k表示keep)

強(qiáng)制覆蓋不提示的方法:\cp

例:scp -r test.sh hxr@bigdata1:/root

例:rsync -av test.sh hxr@bigdata1:/root

例:

nc -lp> nc_test.txt

nc -w 1 hadoop102 shutdown > reboot > halt

(1)sync(功能描述:將數(shù)據(jù)由內(nèi)存同步到硬盤(pán)中)

(2)halt(功能描述:關(guān)閉系統(tǒng),等同于shutdown -h now 和 poweroff)

(3)reboot(功能描述:就是重啟,等同于 shutdown -r now)

(4)shutdown

安裝

yum install -y telnet-server telnet

ls -i 顯示文件的節(jié)點(diǎn)號(hào)

find -inum 節(jié)點(diǎn)號(hào) -delete 刪除指定的節(jié)點(diǎn)即可刪除對(duì)應(yīng)的文件

啟動(dòng)一個(gè)服務(wù): systemctl start postfix.service

關(guān)閉一個(gè)服務(wù): systemctl stop postfix.service

重啟一個(gè)服務(wù): systemctl restart postfix.service

顯示一個(gè)服務(wù)的狀態(tài): systemctl status postfix.service

在開(kāi)機(jī)時(shí)啟用一個(gè)服務(wù): systemctl enable postfix.service

在開(kāi)機(jī)時(shí)禁用一個(gè)服務(wù): systemctl disable postfix.service

注:在enable的時(shí)候會(huì)打印出來(lái)該啟動(dòng)文件的位置

列出所有已經(jīng)安裝的服務(wù)及狀態(tài):

systemctl list-units

systemctl list-unit-files

查看服務(wù)列表狀態(tài):

systemctl list-units –type=service

查看服務(wù)是否開(kāi)機(jī)啟動(dòng): systemctl is-enabled postfix.service

查看已啟動(dòng)的服務(wù)列表: systemctl list-unit-files | grep enabled

查看啟動(dòng)失敗的服務(wù)列表: systemctl –failed

查看服務(wù)日志: journalctl -u postfix -n 10 -f

命令類(lèi)似systemctl,用于操作native service。

添加腳本為服務(wù)(需要指定啟動(dòng)級(jí)別和優(yōu)先級(jí)): chkconfig –add

刪除服務(wù): chkconfig –del

單獨(dú)查看某一服務(wù)是否開(kāi)機(jī)啟動(dòng)的命令 : chkconfig –list

單獨(dú)開(kāi)啟某一服務(wù)的命令 : chkconfig on

單獨(dú)關(guān)閉某一服務(wù)的命令: chkconfig off

查看某一服務(wù)的狀態(tài): /etc/intd.d/ status

啟用服務(wù)就是在當(dāng)前”runlevel”的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面對(duì)應(yīng)服務(wù)配置文件的軟鏈接;禁用服務(wù)就是刪除此軟鏈接,添加服務(wù)就是添加軟連接。

su 用戶名稱(chēng) (切換用戶,只能獲得用戶的執(zhí)行權(quán)限,不能獲得環(huán)境變量)

su – 用戶名稱(chēng)(切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權(quán)限)

echo $PATH 打印環(huán)境變量

設(shè)置普通用戶具有root權(quán)限

修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:

或者配置成采用sudo命令時(shí),不需要輸入密碼

修改完畢,現(xiàn)在可以用hxr 帳號(hào)登錄,然后用命令 sudo ,即可獲得root權(quán)限進(jìn)行操作。

以azkaban用戶執(zhí)行引號(hào)中的命令

gpasswd -d 將用戶從組中刪除

gpasswd -a 將用戶加入到組中

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實(shí)際上就是對(duì) /etc/group文件的更新。

0首位表示類(lèi)型 – 代表文件 d 代表目錄 l 鏈接文檔(link file)

三種特殊權(quán)限suid、sgid、sticky

例子:

變更文件權(quán)限方式一

例:chmod u-x,o+x houge.txt

變更文件權(quán)限方式二

例:chmod -R/mnt/ 修改整個(gè)文件夾的文件權(quán)限

在linux中創(chuàng)建文件或者目錄會(huì)有一個(gè)默認(rèn)權(quán)限的,這個(gè)默認(rèn)權(quán)限是由umask決定的(默認(rèn)為0022)。umask設(shè)置的是權(quán)限的“補(bǔ)碼”,而我們常用chmod設(shè)置的是文件權(quán)限碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設(shè)置umask值。

umask計(jì)算

如root用戶的默認(rèn)umask為0022(之一個(gè)0 代表特殊權(quán)限位,這里先不考慮),創(chuàng)建的文件默認(rèn)權(quán)限是644(即默認(rèn)666掩上umask的022),創(chuàng)建的目錄是755(即默認(rèn)777掩上umask的022)。

對(duì)于root用戶的umask=022這個(gè)來(lái)說(shuō),777權(quán)限二進(jìn)制碼就是(111)(111)(111),022權(quán)限二進(jìn)制碼為(000)(010)(010)。

上面就是一個(gè)umask的正常計(jì)算過(guò)程,但是這樣實(shí)在是太麻煩了。我們使用如下的簡(jiǎn)單的方法快速計(jì)算。

上面的這個(gè)方法計(jì)算是非常方便的, 為何得到奇數(shù)要+1呢?

文件的更大權(quán)限是666,都是偶數(shù),你得到奇數(shù),說(shuō)明你的umask有奇數(shù)啊,讀為4,寫(xiě)為2,都是偶數(shù),說(shuō)明你有執(zhí)行權(quán)限的。

就按照上面的umask=023為例,在計(jì)算其他用戶權(quán)限的時(shí)候6-3=3 ,6是讀寫(xiě),3是寫(xiě)和執(zhí)行,其實(shí)應(yīng)該是讀寫(xiě)權(quán)限減去讀權(quán)限的得到寫(xiě)權(quán)限的,相當(dāng)于我們多減去了一個(gè)執(zhí)行權(quán)限。所以結(jié)果加1。

umask修改

如果想單獨(dú)修改某個(gè)文件夾的新建文件的權(quán)限,可以使用setfacl命令。

例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt

node linux命令行參數(shù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于node linux命令行參數(shù),Node里的Linux命令行參數(shù)使用方法,Linux命令的信息別忘了在本站進(jìn)行查找喔。

成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專(zhuān)業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣等一站式服務(wù)。


新聞標(biāo)題:Node里的Linux命令行參數(shù)使用方法(nodelinux命令行參數(shù))
URL標(biāo)題:http://www.dlmjj.cn/article/codidsc.html