《java軟件工程師面試 -Linux常用命令》由會員分享,可在線閱讀,更多相關《java軟件工程師面試 -Linux常用命令(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、二、入門
1、識別當前運行的是哪種shell
ps
2、校正錯誤:
<1>刪除一個字符:backspace/delete/ctrl+h(stty ek 來設置)
<2>刪除一個單詞:ctrl+w
<3>刪除一行:ctrl+U/ctrl+x(stty ek 來設置)
3、終止執(zhí)行:
ctrl+c,有時是del/delete(中斷鍵)、ctrl+z(掛起鍵)
kill
4、--help
5、man、info
三、命令行工具
1、特殊字符
2、基本工具
?ls:顯示文件名
cat:顯示文本文件內(nèi)容
rm:刪除文件
les
2、s和more:分屏顯示文件
hostname:顯示系統(tǒng)名
3、文件操作
cp:復制文件
mv:更改文件名
lpr:打印文件
lpr report:默認打印機打印report
lpr –Pmailroom report:指定打印機打印report
lpq:查看打印隊列中的打印作業(yè)
lprm 86:刪除停止打印該作業(yè)
lpr –Plasert1 a.txt b.txt c.txt:指定打印機lasert1打印3個文件
grep:查找字符串(grep可以在多個文件中查找)
grep ‘ERROR’ a.txt
head:顯示
3、文件頭部
head -1 a.txt:顯示文件的第1行
tail:顯示文件尾部
tail -5 a.txt:顯示文件的后面5行
tail –f app-intra.log:監(jiān)視逐漸增長的文件(按ctrl+c結(jié)束之shell)
sort:按順序顯示文件內(nèi)容
sort a.txt:如果加-u使得排序列表每一行都唯一
uniq:(顯示文件內(nèi)容)忽略文件中的重復行
diff:比較兩個文件
diff –u a.txt b.txt
file:測試文件的內(nèi)容(查看文件信息)
file a.bz2
file a.txt b.jpg:查看2個文件信息
4、|(管道):實現(xiàn)進程間的通信
4、
cat a.txt | head
cat a.txt | head -1 :顯示文件的第1行
tail a | lpr :通過管道打印程序的輸出
5、4個有用的工具
echo:顯示文本(復制其后的內(nèi)容并顯示在屏幕上)
echo star:*:通配符
date:顯示日期和時間
date +"%A %B %d":設定日期顯示格式
script:記錄Linux會話信息
unix2dos:將linux文件轉(zhuǎn)換為windows格式
unix2dos a.txt:linux下轉(zhuǎn)化為windows下格式
d
5、os2unix a.txt:windows下轉(zhuǎn)化為linux下格式
6、壓縮和歸檔文件
bzip2:壓縮文件
bzip2 –v a.txt :文件擴展名.bz2(v:verbose包含詳細信息)
bunzip2和bzcat:解壓縮文件
bunzip2 a.txt.bz2
bzcat a.txt.bz2:顯示壓縮文件的內(nèi)容,文件格式不變,可與管道使用
bzip2recover:
gzip:壓縮文件
gzip a.txt :文件擴展名.gz
gunzip和zcat
compre
6、ss:壓縮文件,不如gzip高效
tar:打包和解包文件
tar –cvf allTest.tar a.txt b.txt c.txtq :打包
tar –tvf allTest.tar :表格形式顯示,但不解包
tar –xvf allTest.tar:解壓得到的文件可能會重寫原來文件
解壓包a.tar.gz
gunzip a.tar.gz
tar –xvf a.tar
另:使用管道:gunzip -c apache-tomcat-6.0.29.tar.gz | tar -xvf
7、-
附:刪除非空文件夾:rm -rf apache-tomcat-6.0.29
7、定位命令
which和whereis:定位工具
apropos:搜索關鍵字
whatis:搜索關鍵字,與關鍵字完全匹配
slocate:搜索文件
8、獲取用戶和系統(tǒng)信息
who:列出系統(tǒng)上的用戶
figer:列出系統(tǒng)上的用戶
w:列出系統(tǒng)上的用戶
9、與其他用戶通信
write:發(fā)送消息
mesg:拒絕或接受消息
四、Linux文件系統(tǒng)(略,見之前筆記)
五、Shell
1、命令行
選項的合并
2、標準輸入輸出
作為標
8、準輸入的鍵盤和標準輸出的屏幕
3、重定向:
<1>重定向標準輸出
重定向標準輸出符號:>(重定向到指定文件而不再是屏幕)
cat > a.txt (如果a.txt存在則會覆蓋)
ctrl+d(cat收到EOF信號,結(jié)束)
多個文件內(nèi)容重定向另外一個文件
cat a b c > d.txt
<2>重定向標準輸入
重定向標準輸入符號:< (重定向為來自指定文件而不再是鍵盤)
<3>noclobber:避免文件的重寫
Bash:
set -o noclobber (打開noclobber功能)
echo 'aaaaa' > fu.txt(提示-bash
9、: fu.txt: cannot overwrite existing file)
set +o noclobber(禁用noclobber功能)
echo 'aaaawwwa' > fu.txt(重寫成功)
Tcsh:
set noclobber
echo 'aaaaa' > fu.txt(fu.txt: file exists)
unset noclobber
echo 'aaaawwwa' > fu.txt(重寫成功)
tcsh下,重定向輸出符號后跟管道符號可以忽略noclobber設置(>|)
<4>向文件追加標準輸出
追加輸出符號:>>
cat fu
10、.txt >> fu1.txt
who >> fu1.txt
<5>/dev/null:使數(shù)據(jù)消失
echo “hi here” > /dev/null
cat /dev/null fu1.txt
4、管道:
Shell使用管道將一個命令的輸出直接連接接到另一個命令的輸入。
管道的符號為一條豎線(|)
tr:通過使用 tr,您可以非常容易地實現(xiàn) sed 的許多最基本功能。您可以將 tr 看作為 sed 的(極其)簡化的變體:它可以用一個字符來替換另一個字符,或者可以完全除去一些字符。您也可以用它來除去重復字符。
cat fu1.txt | tr
11、35 00
管道可以完成臨時文件的工作
who | grep ‘root’
ls | less (less和more):空格,回車,q鍵,h鍵(幫助)
<1>過濾器:
who | sort | lpr :sort是一個過濾器
<2>tee:向兩個方向輸出
who | tee who.out | grep root
5、
在后臺運行程序
末尾加&,則變成了后臺運行的程序(小數(shù)字:作業(yè)編號;大數(shù)字:進程表示PID)
將作業(yè)從前臺移到后臺
<1>Ctrl+z掛起,用bg+ 作業(yè)編號,放到后臺運行;(只有一個的時候,不用輸入作業(yè)編號)
fg+ 作業(yè)
12、編號,后臺放到前臺;(只有一個的時候,不用輸入作業(yè)編號)
<2>Kill:終止后臺作業(yè)
Kill+ PID(或Kill+ %作業(yè)編號)
tail -f app-intra.log &
ps | grep tail
kill 10922
RETURN
Tcsh:
tail -f app-intra.log &
bigjobs &
jobs
kill %1
6、文件名生成/路徑名擴展
<1>特殊字符?
?為一個字符
ls app-intra.lo?
ls app?intra.log
注:試驗文件名的生成,可用e
13、cho和ls
<2>特殊字符*
*為多個字符,包含0個
<3>特殊字符[]
echo [a-m]*
echo *[^ab]
echo [0-9]
echo page[a6h]
六、vim編輯器
1、入門:用vim創(chuàng)建和編輯文件
vim fujilong
a或i進入輸入模式
esc返回到命令模式
退出vim不保存并且返回到shell提示符:q!(:wq保存并退出)
<1>命令模式時,輸入:set number RETURN使得每行左端顯示對應行號
:set nonnumber將不再顯示行號
vim區(qū)分大小寫的
輸入文本:i/
14、a
esc返回命令模式
<2>獲取幫助
命令模式時,:help
Ctrl+d下移半個窗口,ctrl+u上移半個窗口,:q!關閉幫助窗口
在輸入模式下校正文本
Ctrl+h字符刪除,ctrl+u行刪除,ctrl+w字刪除
移動光標
命令模式下,RETURN鍵,空格鍵,回車鍵,方向鍵盤(或h,j,k,l表示左下上右)
刪除文本
命令模式下,X刪除字符,dw刪除字,dd刪除行
撤銷誤操作
命令模式下,u撤銷。如果設置了compatible參數(shù),則只能撤銷一次。
重做
命令模式下,Ctrl+r或者:redo(和u撤銷一樣,可以多次)
添加文本
i:光標之前加內(nèi)容
15、
a:光標之后追加內(nèi)容
O:在上方加一空行
o:在下方加一空行
校正文本
修改文字:光標到單詞前,dw刪除單詞,i光標之前插入需要的單詞,esc返回命令模式
dw和i可以用一個命令cw(change word)進入輸入模式
<3>結(jié)束編輯會話
命令模式下,ZZ保存退出(:wq),:q!不保存退出
2、compatible參數(shù)
設置了參數(shù),撤銷只能撤銷一次,沒設置,可撤銷多次。
:help compatible幫助
:help vi-diff可查看vim與vi的不同之處
設置compatible使用-C選項,撤銷對compatible設置使用-N
Sh
16、ell
eg:
-------------------
#!/bin/sh
#對變量賦值
a="你好Shell!"
#打印a的內(nèi)容
echo "a is:"
echo ${a}
#for實例1
for var in 1 2 3 4 5 ;do
echo "var is: $var"
done
#for實例2
for((i=1;i<=30;i++));do
echo "i:$i"
done
#for實例3
for i in {1..10};do
echo $i
done
#while循環(huán)
f=1;
while(($f<20));do
echo "while循環(huán)1,${f}"
f=expr $f + 1
done
#使用函數(shù)
function hello(){
echo "hello linux shell function!"
}
hello
#函數(shù)-參數(shù)傳遞
function hello1(){
echo "hello linux shell function1:'$1'"
}
hello1 fujilong
---------------------------------