Linux read命令用于從標(biāo)準(zhǔn)輸入讀取數(shù)值。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)萊蕪免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
read 內(nèi)部命令被用來(lái)從標(biāo)準(zhǔn)輸入讀取單行數(shù)據(jù)。這個(gè)命令可以用來(lái)讀取鍵盤輸入,當(dāng)使用重定向的時(shí)候,可以讀取文件中的一行數(shù)據(jù)。
參數(shù)說(shuō)明:
1、簡(jiǎn)單讀取
測(cè)試結(jié)果為:
2、-p 參數(shù),允許在 read 命令行中直接指定一個(gè)提示。
測(cè)試結(jié)果為:
3、-t 參數(shù)指定 read 命令等待輸入的秒數(shù),當(dāng)計(jì)時(shí)滿時(shí),read命令返回一個(gè)非零退出狀態(tài)。
執(zhí)行程序不輸入,等待 5 秒后:
4、除了輸入時(shí)間計(jì)時(shí),還可以使用 -n 參數(shù)設(shè)置 read 命令計(jì)數(shù)輸入的字符。當(dāng)輸入的字符數(shù)目達(dá)到預(yù)定數(shù)目時(shí),自動(dòng)退出,并將輸入的數(shù)據(jù)賦值給變量。
該例子使用了-n 選項(xiàng),后接數(shù)值 1,指示 read 命令只要接受到一個(gè)字符就退出。只要按下一個(gè)字符進(jìn)行回答,read 命令立即接受輸入并將其傳給變量,無(wú)需按回車鍵。
只接收 2 個(gè)輸入就退出:
執(zhí)行程序輸入兩個(gè)字符:
5、 -s 選項(xiàng)能夠使 read 命令中輸入的數(shù)據(jù)不顯示在命令終端上(實(shí)際上,數(shù)據(jù)是顯示的,只是 read 命令將文本顏色設(shè)置成與背景相同的顏色)。輸入密碼常用這個(gè)選項(xiàng)。
執(zhí)行程序輸入密碼后是不顯示的:
6.讀取文件
每次調(diào)用 read 命令都會(huì)讀取文件中的 "一行" 文本。當(dāng)文件沒有可讀的行時(shí),read 命令將以非零狀態(tài)退出。
通過(guò)什么樣的方法將文件中的數(shù)據(jù)傳給 read 呢?使用 cat 命令并通過(guò)管道將結(jié)果直接傳送給包含 read 命令的 while 命令。
測(cè)試文件 test.txt 內(nèi)容如下:
測(cè)試代碼:
執(zhí)行結(jié)果為:
使用 -e 參數(shù),以下實(shí)例輸入字符 a 后按下 Tab 鍵就會(huì)輸出相關(guān)的文件名(該目錄存在的):
1.grep:找出文件中含有關(guān)鍵字的行
2.cat:讀取,顯示或拼接文件內(nèi)容
3.head:查看文件前多少行,默認(rèn)為10行
4.less:使文件內(nèi)容可以翻頁(yè)顯示,按q退出觀看模式
5.sed :文本替換
6.vi:創(chuàng)建文件并寫入內(nèi)容
點(diǎn)擊鍵盤上的“i”鍵,進(jìn)入編輯狀態(tài) ,如果看到底部出現(xiàn)“插入”兩字,表示成功進(jìn)入編輯狀態(tài),此時(shí)就可以在文件中輸入你想要輸入的內(nèi)容了
輸入想插入的內(nèi)容,輸入完成后點(diǎn)擊鍵盤上的“esc”鍵,退出編輯
輸入:wq,點(diǎn)擊回車,退出并保存
查看剛才是否些文件成功
7.%操作符,#操作符:根據(jù)拓展名切分文件名,“名稱.擴(kuò)展名”
有一些腳本是依據(jù)文件名進(jìn)行各種處理的。我們可能會(huì)需要在保留擴(kuò)展名的同時(shí)修改文件名,轉(zhuǎn)換文件格式或提取部分文件名。
新手,純純搬運(yùn)工【出處引用自: 】
1. Linux常用命令
最常用:
ls(英文全拼:list files):列出目錄及文件名
ls -l:列出目錄及文件名,可查看更多
ls -al:可以看到隱藏文件
cd(英文全拼:change directory):切換目錄
cd .. :返回上一級(jí)
cd 文件夾名:進(jìn)入目錄
pwd(英文全拼:print work directory):顯示目前的目錄
mkdir 文件夾名(英文全拼:make directory):創(chuàng)建一個(gè)新的目錄
rmdir 文件夾名(英文全拼:remove directory):刪除一個(gè)空的目錄
cp xxx xxx(英文全拼:copy file): 復(fù)制文件或目錄
mv xxx xxx(英文全拼:move file): 移動(dòng)文件或目錄,或修改文件或目錄的名稱
rm(英文全拼:remove): 刪除文件
rm -r 文件夾名:遞歸刪除某目錄
clear:清空terminal的所有內(nèi)容(或者使用Ctrl+L)
tab按鍵:補(bǔ)充完整文件名或文件夾名
次常用:
vim/vi 某文件 (編輯文件)
nano 某文件 (編輯文件)
touch 文件 (新建空文件)
sudo -s (切換到root模式)
exit (退出root模式等)
sudo chmod -R 755 文件名/文件夾名 (獲取文件/文件夾的755權(quán)限)
chown [用戶] [文件或目錄] (改變文件或目錄的所有者)
chgrp [用戶組] [文件或目錄] (改變文件或目錄的所屬組)
make (編譯成.exe)
解壓/解包:
tar文件?(注:tar是打包,不是壓縮!)
解包:tar?xvf?FileName.tar
打包:tar?cvf?FileName.tar?DirName
.gz文件
解壓1:gunzip?FileName.gz
解壓2:gzip?-d?FileName.gz
壓縮:gzip?FileName
.tar.gz?和?.tgz文件
解壓:tar?zxvf?FileName.tar.gz
壓縮:tar?zcvf?FileName.tar.gz?DirName
安裝和卸載deb軟件包:
安裝:sudo dpkg -i deb文件
查看:sudo dpkg -l
卸載:sudo dpkg -r 軟件名
參考資料:
[1]? Linux?教程
[2]? Linux常用命令
[3]? linux中tar命令的用法
[4]? 全網(wǎng)最全Linux命令總結(jié)
2. vim/vi里的操作
:q 退出
:wq 保存并退出
:w 保存
:q! 強(qiáng)行退出(不保存退出)
:w! 強(qiáng)行保存
i 進(jìn)入編輯,轉(zhuǎn)為輸入模式(光標(biāo)前面)
a 進(jìn)入編輯,轉(zhuǎn)為輸入模式(光標(biāo)后面)
o 進(jìn)入編輯,轉(zhuǎn)為輸入模式(光標(biāo)下方新建一行)
Esc 退出i(插入)命令
3. 超算中PBS常用命令
pbsnodes (查看所有節(jié)點(diǎn))
pbsnodes -l free (查看空閑節(jié)點(diǎn))
pbsnodes 某節(jié)點(diǎn) (查看某節(jié)點(diǎn)狀態(tài))
ssh 某節(jié)點(diǎn) (轉(zhuǎn)到某節(jié)點(diǎn))
exit (離開節(jié)點(diǎn))
qsub 文件名.pbs/sh (提交任務(wù))
qstat (列出狀態(tài))
qstat -q (列出隊(duì)列)
qstat -n (列出隊(duì)列中使用的節(jié)點(diǎn))
qstat -f jobid (查看jobid任務(wù)的詳細(xì)信息)
qdel jobid (取消任務(wù))
4. 其他
(1)Linux開機(jī)自啟
sh文件中包含:
#!/bin/bash#chkconfig: 2345 80 90#description:auto_run
sh文件移動(dòng)到/etc/init.d后,分別輸入命令:
chkconfig --add xxx.sh
chkconfig --list???
chkconfig xxx.sh on?
service xxx.sh start
參考資料: linux 開機(jī)啟動(dòng) .sh 文件 - 自己的太陽(yáng) - 博客園
(2)Linux環(huán)境變量
方法1:臨時(shí)使用環(huán)境變量:export PATH="/home/www/anaconda3/bin:$PATH"
方法2:修改.bashrc文件
參考資料: Linux PATH 作用以及查看和修改方法_haozhepeng的專欄
(3)兩個(gè)sh文件
a.sh文件(用于提交任務(wù),執(zhí)行a.py文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1python a.py
a.sh文件(用于提交任務(wù),執(zhí)行a.exe文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1./a.exe
(4)一個(gè)makefile文件
makefile文件(用于編譯Fortran文件)
INC := -I/public/software/compiler/intel/composer_xe_2015.2.164/mkl/include/intel64/lp64
LIB := -L/public/software/compiler/intel/composer_xe_2015.2.164/mkl/lib/intel64
mpi:= -I/public/software/mpi/mpich/3.1.4/intel/include /public/software/mpi/mpich/3.1.4/intel/lib -lmpich -limf -lsvml -lintlc
src:=Console1exec:=a
all: $(src).f90
ifort? $(src).f90? $(INC) $(LIB) -openmp -lmkl_intel_lp64 -Wl,--start-group -lmkl_intel_thread -lmkl_lapack95_lp64 -lmkl_core -lmkl_blas95_lp64? -Wl,--end-group -liomp5 -lpthread -O2 -o $(exec).exe