国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java工程師linux命令,這篇文章就夠了

elva / 2468人閱讀

摘要:如果有需要重復(fù)輸入的命令就不用輸?shù)诙瘟恕T撁铑愃朴谙碌拿睢?duì)于每個(gè)目錄,該命令將列出其中的所有子目錄與文件。第一組表示文件屬主的權(quán)限,第二組表示同組用戶的權(quán)限,第三組表示其他用戶的權(quán)限。每一組的三個(gè)字符分別表示對(duì)文件的讀寫和執(zhí)行權(quán)限。

精彩內(nèi)容推薦

一套java架構(gòu)師學(xué)習(xí)資源,等你拿

java實(shí)戰(zhàn)練習(xí)項(xiàng)目教程

你所需要的大數(shù)據(jù)視頻教程

java全套學(xué)習(xí)視頻教程及源碼

微服務(wù)資源springboot、springcloud、docker、dubbo項(xiàng)目實(shí)戰(zhàn)等傾心分享

shell簡介 1.1 shell家族

shell:命令解釋器,根據(jù)輸入的命令執(zhí)行相應(yīng)命令。

察看當(dāng)前系統(tǒng)下有哪些shell:

cat /etc/shells

察看當(dāng)前系統(tǒng)正在使用的shell

echo $SHELL

常見shell:

/bin/sh (已經(jīng)被 /bin/bash 所取代)
/bin/bash (就是 Linux 默認(rèn)的 shell)
/bin/ksh (Kornshell 由 AT&T Bell lab. 發(fā)展出來的,兼容于 bash)
/bin/tcsh (整合 C Shell ,提供更多的功能)
/bin/csh (已經(jīng)被 /bin/tcsh 所取代)
/bin/zsh (基于 ksh 發(fā)展出來的,功能更強(qiáng)大的 shell)
1.2 bash

bash 是一個(gè)為GNU計(jì)劃編寫的Unix shell。它的名字是一系列縮寫:Bourne-Again SHell — 這是關(guān)于Bourne shell(sh)的一個(gè)雙關(guān)語(Bourne again / born again)
bash 是 許 多 Linux 平 臺(tái) 的 內(nèi) 定 Shell, 事 實(shí) 上, 還 有 許 多 傳 統(tǒng) UNIX 上 用 的 Shell, 像 tcsh、csh、ash、bsh、ksh等等,Shell Script大致都類同,當(dāng)您學(xué)會(huì)一種Shell以后,其 它的Shell會(huì)很快就上手,大多數(shù)的時(shí)候,一個(gè)Shell Script通常可以在很多種Shell上使用。

bash是大多數(shù)Linux系統(tǒng)以及Mac OS X v10.4默認(rèn)的shell,它能運(yùn)行于大多數(shù)Unix風(fēng)格 的操作系統(tǒng)之上,甚至被移植到了Microsoft Windows上的Cygwin系統(tǒng)中,以實(shí)現(xiàn)windows的POSIX虛擬接口。此外,它也被DJGPP項(xiàng)目移植到了MS-DOS上。

1.3 命令和路徑補(bǔ)齊

在bash下敲命令時(shí),Tab鍵可以補(bǔ)全已經(jīng)敲了一部分的文件名和目錄名。如果是Ubuntu 系統(tǒng),系統(tǒng)默認(rèn)啟用了bash completion,還可以補(bǔ)全命令的某些參數(shù)、Makefile目標(biāo)等 等。如果是Debian系統(tǒng),可以用以下命令啟用bash completion:

$ source /etc/bash_completion

建議將這一行加入~/.bashrc啟動(dòng)腳本中。比如使用sudo后面接命令,如果沒有bash completion則只有sudo可以補(bǔ)全,后面的命令不能補(bǔ)全。如果啟用了bash completion,則 后面的命令,包括命令的某些參數(shù)(比如aptitude命令的install)都可以補(bǔ)全了。

比如在主目錄下要列出桌面目錄的內(nèi)容,輸入(不回車)

$ ls De

然后敲Tab鍵,如果以De開頭的文件或文件夾只有Desktop一個(gè),就自動(dòng)補(bǔ)全為

$ ls Desktop

否則,再敲一次Tab鍵,將會(huì)把所有以De開頭的文件或文件夾列在下面供你選擇(在這里 我們手動(dòng)創(chuàng)建另外一個(gè)以De開頭的文件)

$ touch Death
$ ls De
Death    Desktop/

你可以再補(bǔ)敲一個(gè)s再Tab,這次Desktop就會(huì)補(bǔ)全到命令后面了。有 的 人 是 從 DOS 時(shí) 代 過 來 的, 留 下 一 個(gè) 很 不 好 的 習(xí) 慣 就 是 在 找 一 個(gè) 文 件 時(shí) 反 復(fù) 地cd、ls、cd、ls等找到了要找的文件時(shí)再想回到先前的目錄,已經(jīng)不記得先前是 從哪個(gè)目錄轉(zhuǎn)到這里來的了。

我們從上面可以看出,Tab補(bǔ)全本身就具備了ls的功能,上面的Tab補(bǔ)全相當(dāng)于ls -Fd De*命令。所以我們完全不必反復(fù)地cd到別的目錄然后ls去找文件,多按幾次Tab就可以一條 命令完成了,這樣的好處是我們的當(dāng)前目錄不用變,不需要找完了文件再cd回來,同時(shí)省去 了大量的按鍵次數(shù)。更重要的是,自動(dòng)補(bǔ)全同時(shí)兼具了檢查拼寫錯(cuò)誤的功能,如果前面幾個(gè) 字母拼寫錯(cuò)了,就補(bǔ)全不出東西來,用戶就知道拼寫錯(cuò)了,如果前面幾個(gè)字母沒有拼寫錯(cuò), 那么由系統(tǒng)補(bǔ)全出來的文件名肯定也不會(huì)有拼寫錯(cuò)誤,避免了用戶在敲很長的文件名時(shí)易犯 的拼寫錯(cuò)誤。

1.4 歷史記錄
history

歷史記錄是另外一個(gè)非常方便的功能。按上下移動(dòng)光標(biāo)鍵(或者Ctrl-p、Ctrl-n)可以 一條一條瀏覽以前輸過的命令。如果有需要重復(fù)輸入的命令就不用輸?shù)诙瘟恕H绻隳苡?住以前輸過的某條命令中的某個(gè)關(guān)鍵字,可以按Ctrl-r,然后輸入關(guān)鍵字,隨著你每輸入一 個(gè)字母,bash會(huì)做增量式(increasingly)查找,也可以反復(fù)按Ctrl-r或Ctrl-s向前向后查 找。如果找到了,按左右移動(dòng)光標(biāo)鍵或Home鍵(Ctrl-a)或End鍵(Ctrl-e)將該命令帶回提示 符下進(jìn)一步修改,或者直接按Enter鍵原封不動(dòng)地執(zhí)行該命令。

1.5 主鍵盤快捷鍵

bash的快捷鍵和emacs保持一致,用慣其中之一再用另一個(gè)程序會(huì)很順手的。請記住一條原則:盡量使用主鍵盤快捷鍵而不使用移動(dòng)光標(biāo)鍵和編輯鍵。因?yàn)槭植槐仉x開主鍵盤是效 率最高的,這樣在你一生之中所節(jié)省的來回移動(dòng)手的時(shí)間絕對(duì)可以用星期來計(jì)算,是絕對(duì)值 得你花十分鐘的時(shí)間記住這些快捷鍵的。

功能 快捷鍵 助記
Ctrl-p previous
Ctrl-n next
Ctrl-b backward
Ctrl-f forward
Del Ctrl-d delete光標(biāo)后面的
Home Ctrl-a the first letter
End Ctrl-e end
Backspace Backspace delete光標(biāo)前面的
目錄和文件 2.1 類Unix系統(tǒng)目錄結(jié)構(gòu)

ubuntu沒有盤符這個(gè)概念,只有一個(gè)根目錄/,所有文件都在它下面

/    根目錄
bin    //系統(tǒng)可執(zhí)行程序,如命令
boot        //內(nèi)核和啟動(dòng)程序,所有和啟動(dòng)相關(guān)的文件都保存在這里 grub    //引導(dǎo)器相關(guān)文件
dev    //設(shè)備文件
etc    //系統(tǒng)軟件的啟動(dòng)和配置文件,系統(tǒng)在啟動(dòng)過程中需要讀取的文件都在這個(gè)目錄。如LILO參數(shù)、用 戶賬戶和密碼。
home    //用戶的主目錄。下面是自己定義的用戶名的文件夾
lib    //系統(tǒng)程序庫文件,這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)鏈接共享庫,類似于Windows下的system32 目錄,幾乎所有的應(yīng)用程序都需要用到這些共享庫。
media //掛載媒體設(shè)備,如光驅(qū)、U盤等
mnt    //目錄是讓用戶臨時(shí)掛載別的文件系統(tǒng),如掛載Windows下的某個(gè)分區(qū),ubuntu默認(rèn)還是掛載在/media 目錄。
opt    //可選的應(yīng)用軟件包(很少使用)
proc    //這個(gè)目錄是系統(tǒng)內(nèi)存的映射,我們可以直接訪問這個(gè)目錄來獲取系統(tǒng)信息。也就是說,這個(gè)目錄 的內(nèi)容不在硬盤上而是在內(nèi)存里。
sbin    //管理員系統(tǒng)程序 selinux
srv
sys    //udev用到的設(shè)備目錄樹,/sys反映你機(jī)器當(dāng)前所接的設(shè)備 tmp //臨時(shí)文件夾
usr    //這是個(gè)最龐大的目錄,我們要用到的很多應(yīng)用程序和文件幾乎都存放在這個(gè)目錄下。] bin    // 應(yīng)用程序
game //游戲程序 include
lib    //應(yīng)用程序的庫文件 lib64
local    //包含用戶程序等 sbin    //管理員應(yīng)用程序
2.2 用戶目錄

位于/home/user,稱之為用戶工作目錄或家目錄,表示方式:

/home/user
~
2.2.1 相對(duì)路徑和絕對(duì)路徑

絕對(duì)路徑

從/目錄開始描述的路徑為絕對(duì)路徑,如:

cd /home ls /usr

相對(duì)路徑

從當(dāng)前位置開始描述的路徑為相對(duì)路徑,如:

cd ../../ ls abc/def

.和..

每個(gè)目錄下都有.和..
. 表示當(dāng)前目錄
.. 表示上一級(jí)目錄,即父目錄 根目錄下的.和..都表示當(dāng)前目錄

2.3 ls
ls [OPTION]… [FILE]…

ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容。這是用戶最常用的一個(gè)命令,因 為用戶需要不時(shí)地查看某個(gè)目錄的內(nèi)容。該命令類似于DOS下的dir命令。 對(duì)于每個(gè)目錄, 該命令將列出其中的所有子目錄與文件。對(duì)于每個(gè)文件,ls將輸出其文件名以及所要求的其 他信息。默認(rèn)情況下,輸出條目按字母順序排序。當(dāng)未給出目錄名或是文件名時(shí),就顯示當(dāng) 前目錄的信息。

主要的OPTION有:

-a 列出隱藏文件,文件中以“.”開頭的均為隱藏文件,如:~/.bashrc
-l 列出文件的詳細(xì)信息
-R 連同子目錄中的內(nèi)容一起列出

ls -l命令顯示的信息中,開頭是由10個(gè)字符構(gòu)成的字符串,其中第一個(gè)字符表示文 件類型,它可以是下述類型之一:

- 普通文件 d 目錄
l 符號(hào)鏈接
b 塊設(shè)備文件
c 字符設(shè)備文件
s socket文件,網(wǎng)絡(luò)套接字 p 管道

后面的9個(gè)字符表示文件的訪問權(quán)限,分為3組,每組3位。第一組表示文件屬主的權(quán) 限,第二組表示同組用戶的權(quán)限,第三組表示其他用戶的權(quán)限。每一組的三個(gè)字符分別表示 對(duì)文件的讀、寫和執(zhí)行權(quán)限。各權(quán)限如下所示:

r 讀
w 寫
x 可執(zhí)行。對(duì)于目錄,表示進(jìn)入權(quán)限。
s 當(dāng)文件被執(zhí)行時(shí),把該文件的UID或GID賦予執(zhí)行進(jìn)程的UID(用戶ID)或GID(組 ID)。
t 設(shè)置標(biāo)志位(sticky bit)。如果是有sticky bit的目錄,在該目錄下任何用戶只要有適當(dāng)?shù)臋?quán)限即可創(chuàng)建文 件,但文件只能被超級(jí)用戶、目錄擁有者或文件屬主刪除。如果是有sticky bit的可執(zhí)行文件,在該文件執(zhí)行后, 指向其正文段的指針仍留在內(nèi)存。這樣再次執(zhí)行它時(shí),系統(tǒng)就能更快地裝入該文件。
- 沒有相應(yīng)位置的權(quán)限。

訪問權(quán)限后面的數(shù)字表示與該文件共享inode的文件總數(shù),即硬鏈接數(shù)(參見下面ln命 令)。

2.4 cd

change dir 改變當(dāng)前所在路徑

cd ~
cd dir1/dir2 cd ..
2.5 which

查看指定命令所在路徑

which ls
2.6 pwd

查看當(dāng)前所在路徑

pwd
2.7 mkdir
mkdir [OPTION] DIRECTORY…

創(chuàng)建目錄DIRECTORY,可以一次創(chuàng)建多個(gè)。OPTION如果是-p,表示可以連同父目錄一起 創(chuàng)建。

2.8 rmdir
rmdir [OPTION]… DIRECTORY…

刪除空目錄,可以一次刪除多個(gè)。OPTION如果是-p,表示可以連同空的父目錄一起刪 除。mkdir和rmdir的用法舉例:

$ mkdir a
$ mkdir a/b
$ ls a b
$ rmdir a/b
$ ls a
$ rmdir a
$ mkdir a/b
mkdir: cannot create directory `a/b": No such file or directory
$ mkdir -p a/b
$ rmdir -p a/b
2.9 touch
touch [OPTION]… FILE…

將每個(gè)文件的訪問及修改時(shí)間都更新為目前的時(shí)間。

如果文件不存在,則創(chuàng)建一個(gè)字節(jié)數(shù)為0的文件。

2.10 rm

刪除文件:

rm file

刪除目錄:

rm dir -rf
2.11 mv

重命名:

mv file1 file2

移動(dòng)文件:

mv file1 ~/
2.12 cp

拷貝文件:

cp file1 file2 cp file1 dir/ cp file1 ../

拷貝目錄:

cp dir1 dir2 -r cp dir1 ~/ -r
2.13 cat

查看文件里內(nèi)容,輸出到終端,如果cat時(shí)沒跟文件名,則讀標(biāo)準(zhǔn)輸入,遇到n后,輸 出到標(biāo)準(zhǔn)輸出,終端下輸入Ctrl-d表示結(jié)束

2.14 more
more [OPTION] FILE…

查看文本文件的內(nèi)容,屏幕顯示完一屏就等待用戶按下任意鍵再滾動(dòng)到下一屏,如果中 途不想繼續(xù)看下去了,可以按Ctrl+C或q終止顯示。

2.15 less
less [OPTION] FILE…

查看文本文件的內(nèi)容,屏幕顯示完一屏就等待用戶按鍵,用戶可以向上或向下查看,如 果中途不想繼續(xù)看下去了,可以按Ctrl+C或q終止顯示。

2.16 head

head [OPTION]… FILE… 顯示指定文件的前面幾行。如果沒有指定文件,將從標(biāo)準(zhǔn)輸入(鍵盤)上讀取。如果沒
有指定要顯示的行數(shù),則默認(rèn)顯示前10行。如果要顯示文件的前5行:

$ head -5 file1
2.17 tail

tail [OPTION]… FILE… 顯示文件的最后幾行。若沒有指定顯示的行或字符數(shù),則默認(rèn)顯示末尾10行。如果要顯
示文件末5行:

$ tail -5 file1
2.18 ln

鏈接有兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號(hào)鏈接(Symbolic Link)。建立硬鏈接時(shí),鏈接文件和被鏈接文件必須位于同一個(gè)文件系統(tǒng)中,并且不能建立 指向目錄的硬鏈接。而對(duì)符號(hào)鏈接,則不存在這個(gè)問題。默認(rèn)情況下,ln產(chǎn)生硬鏈接。如果 給ln命令加上-s選項(xiàng),則建立符號(hào)鏈接。舉例如下,注意ls -l列出文件的硬鏈接數(shù)和字節(jié) 數(shù):

硬鏈接:

touch hello
ln hello word_h

軟鏈接:

ln -s hello word_s
2.19 tree

這個(gè)命令需要下載安裝,ubuntu下

sudo apt-get install tree

按結(jié)構(gòu)樹的形狀顯示目錄和文件

2.20 wc

利用 wc 指令我們可以計(jì)算文件的 Byte 數(shù)、字?jǐn)?shù)、或是列數(shù),若不指定文件名稱、或 是所給予的文件名為“-”,則 wc 指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。

wc -l ./*
-c 或–bytes 或–chars 只顯示 Bytes 數(shù)。
-l 或–lines 只顯示列數(shù)。
-w 或–words 只顯示字?jǐn)?shù)。
2.21 od
od -tcx file1
-t 指定數(shù)據(jù)的顯示格式,主要的參數(shù)有:
c ASCII字符或反斜杠序列
d[SIZE] 有符號(hào)十進(jìn)制數(shù),每個(gè)整數(shù)SIZE字節(jié)。 f[SIZE] 浮點(diǎn)數(shù),每個(gè)整數(shù)SIZE字節(jié)。
o[SIZE] 八進(jìn)制(系統(tǒng)默認(rèn)值為02),每個(gè)整數(shù)SIZE字節(jié)。 u[SIZE] 無符號(hào)十進(jìn)制數(shù),每個(gè)整數(shù)SIZE字節(jié)。
x[SIZE] 十六進(jìn)制數(shù),每個(gè)整數(shù)SIZE字節(jié)。
2.22 du

查看某個(gè)目錄的大小: 以M為單位

du -hm /home/sihai/test

以B為單位

du -hb ./*

以K為單位,4k的整數(shù)倍

du -hk ./*
2.23 df

df查看磁盤使用情況

df --block-size=GB df --block-size=MB
文件屬性和用戶用戶組 3.1 whoami

查看當(dāng)前登陸用戶

3.2 chmod

文字設(shè)定法

chmod [who] [+|-|=] [mode] 文件名

操作對(duì)象who可是下述字母中的任一個(gè)或者它們的組合:

u 表示“用戶(user)”,即文件或目錄的所有者。
g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。 o 表示“其他(others)用戶”。
a 表示“所有(all)用戶”。它是系統(tǒng)默認(rèn)值。

操作符號(hào)可以是:

+添加某個(gè)權(quán)限。

-取消某個(gè)權(quán)限。

= 賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)。

設(shè)置mode所表示的權(quán)限可用下述字母的任意組合:

r 可讀。 w 可寫。
x 可執(zhí)行。

數(shù)字設(shè)定法

chmod [mode] 文件名 我們必須首先了解用數(shù)字表示的屬性的含義:

0表示沒有權(quán)限,
1表示可執(zhí)行權(quán)限,
2表示可寫權(quán)限,
4表示可讀權(quán)限,

然后將其相加。所以數(shù)字屬性的格式應(yīng)為3個(gè)從0到7的八進(jìn)制數(shù),其順序是
(u)(g)(o)

例如,如果想讓某個(gè)文件的屬主有“讀/寫”二種權(quán)限,需要把4(可讀)+2(可寫)= 6(讀/寫)。

比如設(shè)置一個(gè)文件允許所有用戶可寫

$ chmod a+w file1

設(shè)置一個(gè)文件允許所有用戶可讀、可寫、不可執(zhí)行

$ chmod 666 file1
3.3 chown
chown [OPTION]… [OWNER:GROUP] FILE…

chown [OPTION]… –reference=RFILE FILE… 更改某個(gè)文件或目錄的屬主和屬組。這個(gè)命令也很常用。例如root用戶把自己的一個(gè)文件拷貝給用戶A, 為了讓用戶A能夠存取這個(gè)文件,root用戶應(yīng)該把這個(gè)文件的屬主設(shè)為A, 否則,用戶A無法存取這個(gè)文件。

OPTION的主要參數(shù):

-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者。

-v 顯示chown命令所做的工作。 比如把一個(gè)文件改為sihai用戶和nogroup用戶組所有

$ sudo chown sihai:nogroup file1

注意:

chown需要特權(quán)用戶才能執(zhí)行

一個(gè)文件的owner和owning group是沒有關(guān)聯(lián)的。一個(gè)文件屬于用戶A,也屬于用戶組 B,并不表示用戶A屬于用戶組B。

3.4 chgrp
chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE… 該命令改變(指定)指定文件所屬的用戶組。其中g(shù)roup可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。

文件名是以空格分開的要改變屬組的文件列表,支持通配 符。如果用戶不是該文件的屬主或超級(jí)用戶,則不能改變該文件的組。

OPTION的主要參數(shù):

-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。

查找與檢索 4.1 find

根據(jù)文件名查找

find [OPTION] path… [expression] 在目錄中搜索文件,path指定目錄路徑,系統(tǒng)從這里開始沿著目錄樹向下查找文件。它是一個(gè)路徑列表,相互用空格分離,如果不寫path,那么默認(rèn)為當(dāng)前目錄。Expression 是 find命令接受的表達(dá)式,find命令的所有操作都是針對(duì)表達(dá)式的。

一條最常用的find命令--在當(dāng)前目錄及子目錄下查找所有以file開頭的文件名。

$ find . -name "file*"


$ find / -name "vimrc"


$ find ~ -name "*.c"
4.2 grep

根據(jù)內(nèi)容檢索

grep [options] PATTERN [FILE...]

在指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行輸出到標(biāo)準(zhǔn)輸出。若不指定文件 名,則從標(biāo)準(zhǔn)輸入讀取。
[options]部分包含的主要參數(shù):

-c:只輸出匹配行的計(jì)數(shù)。

-I:不區(qū)分大小寫(只適用于單字符)。

-h:查詢多文件時(shí)不顯示文件名。

-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。

-n:顯示匹配行及行號(hào)。

-s:不顯示不存在或無匹配文本的錯(cuò)誤信息。

-v:顯示不包含匹配文本的所有行。

-R: 連同子目錄中所有文件一起查找。

比如到系統(tǒng)頭文件目錄下查找所有包含printf的文件

$ grep "printf" /usr/include -R
安裝卸載軟件 5.1 apt-get

更新源服務(wù)器列表

sudo vi /etc/apt/sources.list

更新完服務(wù)器列表后需要更新下源

sudo apt-get update 更新源
sudo apt-get install package 安裝包
sudo apt-get remove package 刪除包
sudo apt-cache search package 搜索軟件包
sudo apt-cache show package 獲取包的相關(guān)信息,如說明、大小、版本等 sudo apt-get install package --reinstall 重新安裝包
sudo apt-get -f install 修復(fù)安裝
sudo apt-get remove package --purge 刪除包,包括配置文件等 sudo apt-get build-dep package 安裝相關(guān)的編譯環(huán)境
sudo apt-get upgrade 更新已安裝的包 sudo apt-get dist-upgrade 升級(jí)系統(tǒng)
sudo apt-cache depends package 了解使用該包依賴那些包 sudo apt-cache rdepends package 查看該包被哪些包依賴 sudo apt-get source package 下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的包 sudo apt-get check 檢查是否有損壞的依賴
5.2 deb包安裝
安裝deb軟件包命令: sudo dpkg -i xxx.deb 
刪除軟件包命令: sudo dpkg -r xxx.deb
連同配置文件一起刪除命令: sudo dpkg -r --purge xxx.deb
查看軟件包信息命令: sudo dpkg -info xxx.deb
查看文件拷貝詳情命令: sudo dpkg -L xxx.deb
查看系統(tǒng)中已安裝軟件包信息命令: sudo dpkg -l
重新配置軟件包命令: sudo dpkg-reconfigure xxx
5.3 原碼安裝

解壓縮源代碼包

cd dir

./configure 檢測文件是否缺失,創(chuàng)建Makefile,檢測編譯環(huán)境

make 編譯源碼,生成庫和可執(zhí)行程序

sudo make install 把庫和可執(zhí)行程序,安裝到系統(tǒng)路徑下

磁盤管理 6.1 mount

命令格式:

mount [-t vfstype] -o options device dir

其中:

-t vfstype 指定文件系統(tǒng)的類型,通常不必指定。mount 會(huì)自動(dòng)選擇正確的類型。常 用類型有:

光盤或光盤鏡像:iso9660

DOS fat16文件系統(tǒng):msdos Windows 9x fat32文件系統(tǒng):vfat Windows NT ntfs文件系統(tǒng):ntfs

Mount Windows文件網(wǎng)絡(luò)共享:smbfs UNIX(LINUX) 文件網(wǎng)絡(luò)共享:nfs

-o options 主要用來描述設(shè)備或檔案的掛接方式。常用的參數(shù)有: loop:用來把一個(gè)文件當(dāng)成硬盤分區(qū)掛接上系統(tǒng)

ro:采用只讀方式掛接設(shè)備
rw:采用讀寫方式掛接設(shè)備 iocharset:指定訪問文件系統(tǒng)所用字符集

device 要掛接(mount)的設(shè)備。

dir設(shè)備在系統(tǒng)上的掛接點(diǎn)(mount point)。

6.1.1 掛接光盤鏡像文件

由 于 近 年 來 磁 盤 技 術(shù) 的 巨 大 進(jìn) 步, 新 的 電 腦 系 統(tǒng) 都 配 備 了 大 容 量 的 磁 盤 系 統(tǒng), 在 Windows下許多人都習(xí)慣把軟件和資料做成光盤鏡像文件通過虛擬 光驅(qū)來使用。這樣做有 許多好處:一、減輕了光驅(qū)的磨損;二、現(xiàn)在硬盤容量巨大存放幾十個(gè)光盤鏡像文件不成問 題,隨用隨調(diào)十分方便;三、硬盤的讀取速度要遠(yuǎn) 遠(yuǎn)高于光盤的讀取速度,CPU占用率大大 降低。其實(shí)linux系統(tǒng)下制作和使用光盤鏡像比Windows系統(tǒng)更方便,不必借用任何第三方軟 件包。

1.從光盤制作光盤鏡像文件。將光盤放入光驅(qū),執(zhí)行下面的命令。

cp /dev/cdrom /home/sunky/mydisk.iso

dd if=/dev/cdrom of=/home/sunky/mydisk.iso

注:執(zhí)行上面的任何一條命令都可將當(dāng)前光驅(qū)里的光盤制作成光盤鏡像文件/home/ sunky/mydisk.iso

2.文件和目錄制作成光盤鏡像文件,執(zhí)行下面的命令。

mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

注:這條命令將/home/sunky/mydir目錄下所有的目錄和文件制作成光盤鏡像文件/ home/sunky/mydisk.iso,光盤卷標(biāo)為:mydisk

3.光盤鏡像文件的掛接(mount)

mkdir /mnt/vcdrom

注:建立一個(gè)目錄用來作掛接點(diǎn)(mount point)

mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

注:使用/mnt/vcdrom就可以訪問盤鏡像文件mydisk.iso里的所有文件了。

6.1.2 掛載U盤

1.檢測存儲(chǔ)設(shè)備名稱

sudo fdisk -l

2.掛載存儲(chǔ)設(shè)備sdb1到掛載點(diǎn)/mnt目錄

sudo mount /dev/sdb1 /mnt

3.訪問/mnt

4.卸載/mnt

sudo umount /mnt
6.2 umount

卸載命令

sudo umount 掛在點(diǎn)
6.3 dd

dd:拷貝

例1:拷貝光碟(注意,你的光碟是標(biāo)準(zhǔn)的 iso9660格式才可以這么做)

dd if=/dev/cdrom of=cdrom.iso

例2:將文件sfile拷貝到文件 dfile中。

$ dd if=sfile of=dfile

例3:創(chuàng)建一個(gè)100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

/dev/null,外號(hào)叫無底洞,你可以向它輸出任何數(shù)據(jù),它通吃,并且不會(huì)撐著!

/dev/zero,是一個(gè)輸入設(shè)備,你可你用它來初始化文件,從里面讀出來的數(shù)據(jù)都是0。

壓縮包管理 7.1 tar

tar [主選項(xiàng)+輔選項(xiàng)] 文件或者目錄 tar可以為文件和目錄創(chuàng)建檔案。

利用tar命令用戶可以為某一特定文件創(chuàng)建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。使用該命令時(shí),主選項(xiàng)是 必須要有的,輔選項(xiàng)是輔助使用的,可以選用。

主選項(xiàng)包括:

c 創(chuàng)建新的檔案文件。如果用戶想備份一個(gè)目錄或是一些文件,就要選擇這個(gè)選項(xiàng)。

r 把要存檔的文件追加到檔案文件的未尾。

t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。

u 更新文件。用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最 后。

x 從檔案文件中釋放文件。(常用)

輔選項(xiàng)包括:

f 使用檔案文件或設(shè)備,這個(gè)選項(xiàng)通常是必選的。(常用) k 保存已經(jīng)存在的文件。

m 在還原文件時(shí),把所有文件的修改時(shí)間設(shè)定為現(xiàn)在。 M 創(chuàng)建多卷的檔案文件,以便在幾個(gè)磁盤中存放。

v 詳細(xì)報(bào)告tar處理的文件信息。如無此選項(xiàng),tar不報(bào)告文件信息。(常用) w 每一步都要求確認(rèn)。

z 用gzip來壓縮/解壓縮文件,加上該選項(xiàng)后可以將檔案文件進(jìn)行壓縮,但還原時(shí)也一定要使用該選項(xiàng)進(jìn)行解壓 縮。(常用)

j 用bzip2來壓縮/解壓縮文件,加上該選項(xiàng)后可以將檔案文件進(jìn)行壓縮,但還原時(shí)也一定要使用該選項(xiàng)進(jìn)行解壓 縮。(常用)

要將文件備份到一個(gè)特定的設(shè)備,只需把設(shè)備名作為備份文件名。 打包:

tar cvf dir.tar dir tar xvf dir.tar dir

打gz壓縮包:

tar zcvf dir.tar.gz dir tar zxvf dir.tar.gz

打bz2壓縮包:

tar jcvf dir.tar.bz2 dir tar jxvf dir.tar.bz2

指定目錄解壓縮:

tar zxvf dir.tar.gz -C ~/test
7.2 rar

打包:把dir壓縮成newdir.rar

rar a -r newdir dir

解包:把newdir.rar解壓縮到當(dāng)前目錄

unrar x newdir.rar
7.3zip

打包:

zip -r dir.zip dir

解包:

unzip dir.zip
進(jìn)程管理 8.1 who

查看當(dāng)前在線上的用戶情況。所有的選項(xiàng)都是可選的,不使用任何選項(xiàng)時(shí),who命令將 顯示以下三項(xiàng)內(nèi)容:

login name:登錄用戶名; terminal line:使用終端設(shè)備; login time:登錄到系統(tǒng)的時(shí)間。

sihai@ubuntu:~/demo$ who -uH
名稱    線路    時(shí)間    空閑    進(jìn)程號(hào) 備注 sihai tty2    2014-08-14 13:31        .    6798
sihai tty7    2014-08-14 01:31 舊    2423
sihai pts/1    2014-08-14 01:31 12:00    2843 (:0)
sihai pts/3    2014-08-14 10:39    .    2843 (:0)
8.2 ps
ps [選項(xiàng)]

ps命令用于監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入/輸 出設(shè)備進(jìn)行通信的,所以如果需要檢測其情況,便可以使用ps命令了。選項(xiàng)部分如下:

-e 顯示所有進(jìn)程。

-f 全格式。

-h 不顯示標(biāo)題。

-l 長格式。

-w 寬輸出。

a 顯示終端上的所有進(jìn)程,包括其他用戶的進(jìn)程。 r 只顯示正在運(yùn)行的進(jìn)程。

x 顯示沒有控制終端的進(jìn)程。

這個(gè)命令參數(shù)有很多,但一般的用戶只需掌握一些最常用的命令參數(shù)就可以了。

最常用的三個(gè)參數(shù)是u、a、x, 我們首先以root身份登錄系統(tǒng),查看當(dāng)前進(jìn)程狀況

sihai@ubuntu:~$ ps aux
USER    PID %CPU %MEM    VSZ    RSS TTY    STAT START    TIME COMMAND
root    1 0.0 0.0    3672    2008 ?    Ss    08:46    0:01 /sbin/init

sihai@ubuntu:~$ ps ajx
PPID    PID PGID    SID TTY    TPGID STAT    UID    TIME COMMAND 4592 6948 6948 4592 pts/3        6948 R+    1000    0:00 ps ajx


sihai@ubuntu:~$ ps -Lf 2423
UID    PID PPID    LWP C NLWP STIME TTY    STAT    TIME CMD
1000    2423 2282 2423 0    4 08:46 ?    Ssl    0:00 gnome-session --session=ubuntu
1000    2423 2282 2465 0    4 08:46 ?    Ssl    0:00 gnome-session --session=ubuntu
1000    2423 2282 2466 0    4 08:46 ?    Ssl    0:00 gnome-session --session=ubuntu
1000    2423 2282 2468 0    4 08:46 ?    Ssl    0:00 gnome-session --session=ubuntu

Head標(biāo)頭:

USER    用戶名
UID 用戶ID(User ID)
PID 進(jìn)程ID(Process ID)
PPID 父進(jìn)程的進(jìn)程ID(Parent Process id) SID 會(huì)話ID(Session id)
%CPU 進(jìn)程的cpu占用率
%MEM 進(jìn)程的內(nèi)存占用率
VSZ 進(jìn)程所使用的虛存的大小(Virtual Size)
RSS 進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,Kbytes字節(jié)。 TTY 與進(jìn)程關(guān)聯(lián)的終端(tty)
STAT 進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)
R 運(yùn)行 Runnable (on run queue) 正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào)。 I 空閑 Idle
Z 僵死 Zombie(a defunct process) 進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào) 用后釋放。
D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中 斷發(fā)生。
T 停止 Terminate 進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。 P 等待交換頁
W 無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配。 X 死掉的進(jìn)程
< 高優(yōu)先級(jí)進(jìn)程 高優(yōu)先序的進(jìn)程
N 低優(yōu)先 級(jí)進(jìn)程 低優(yōu)先序的進(jìn)程
L 內(nèi)存鎖頁 Lock 有記憶體分頁分配并縮在記憶體內(nèi) s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads)

位于后臺(tái)的進(jìn)程組

START 進(jìn)程啟動(dòng)時(shí)間和日期 TIME 進(jìn)程使用的總cpu時(shí)間
COMMAND 正在執(zhí)行的命令行命令 NI 優(yōu)先級(jí)(Nice)
PRI 進(jìn)程優(yōu)先級(jí)編號(hào)(Priority)
WCHAN 進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。 FLAGS 與進(jìn)程相關(guān)的數(shù)字標(biāo)識(shí)

8.4 fg
fg [job…]

把指定的后臺(tái)作業(yè)或掛起作業(yè)移到前臺(tái)運(yùn)行。 參數(shù)job是一個(gè)或多個(gè)進(jìn)程的PID,或者 是命令名稱,或者是作業(yè)號(hào)(作業(yè)號(hào)前面要帶一個(gè)%號(hào))。

通常在shell中輸入命令啟動(dòng)進(jìn)程后,如果該進(jìn)程需要與用戶交互,那么此后用戶的鍵 盤輸入都被該進(jìn)程讀取,直到該進(jìn)程退出后才出現(xiàn)shell提示符$,這種進(jìn)程為前臺(tái)進(jìn)程。

如果在命令行的末尾加上&字符,則shell為這個(gè)命令創(chuàng)建一個(gè)后臺(tái)進(jìn)程,它雖然也可以 輸出到屏幕,但是不能讀取鍵盤輸入,不管執(zhí)行命令的進(jìn)程有沒有退出都立刻回到shell提 示符接受下一條命令的輸入。如果該進(jìn)程也需要讀取鍵盤輸入,則被掛起等待直到用戶用fg 命令把它變成前臺(tái)進(jìn)程。如果一個(gè)命令需要較長的處理時(shí)間并且不需要與用戶交互,就適合 把它放在后臺(tái)執(zhí)行。

8.5 bg
bg [job…]

把被掛起的進(jìn)程提到后臺(tái)執(zhí)行。 其中,job是一個(gè)或多個(gè)進(jìn)程的PID、命令名稱或者作 業(yè)號(hào),在參數(shù)前要帶%號(hào)。

8.6 kill

向指定進(jìn)程發(fā)送信號(hào)

kill [ -signal | -s signal ] pid ...

查看信號(hào)編號(hào)

kill -l [ signal ]

給一個(gè)進(jìn)程發(fā)信號(hào),或終止一個(gè)進(jìn)程的運(yùn)行。

kill命令如果不帶參數(shù)而直接跟pid,就是發(fā)給該進(jìn)程SIGTERM信號(hào),大部分進(jìn)程收到該 信號(hào)就會(huì)終止。但是被掛起的進(jìn)程不能處理信號(hào),所以必須發(fā)SIGKILL信號(hào),由系統(tǒng)強(qiáng)制終 止進(jìn)程。

8.7env

查看當(dāng)前進(jìn)程環(huán)境變量

$env

vim ~/.bashrc 配置當(dāng)前用戶環(huán)境變量

vim /etc/profile 配置系統(tǒng)環(huán)境變量,配置時(shí)需要有root權(quán)限

用戶管理 9.1 創(chuàng)建用戶
sudo useradd -s /bin/bash -g sihai -d /home/sihai -m sihai sudo useradd -s /bin/sh -g group -G adm,root xwp

此命令新建了一個(gè)用戶xwp,該用戶的登錄Shell是/bin/sh,他屬于group用戶組,同時(shí) 又屬于adm和root用戶組,其中g(shù)roup用戶組是其主組。

-s 指定新用戶登陸時(shí)shell類型

-g 指定所屬組,該組必須已經(jīng)存在

-G 指定附屬組,該組必須已經(jīng)存在

-d 用戶家目錄

-m 用戶家目錄不存在時(shí),自動(dòng)創(chuàng)建該目錄

9.2 設(shè)置用戶組
sudo groupadd sihai
9.3 設(shè)置密碼
sudo passwd sihai
9.4 切換用戶
su 用戶名
su sihai
9.5 root用戶

變成root用戶

sudo su

設(shè)置root密碼

passwd
9.6 刪除用戶
userdel 選項(xiàng) 用戶名

常用的選項(xiàng)是-r,他的作用是把用戶的主目錄一起刪除。 例如:

sudo userdel -r sihai

此命令刪除用戶sihai在系統(tǒng)文件(主要是/etc/passwd,/etc/shadow,/etc/ group等)中的記錄,同時(shí)刪除用戶的主目錄。

網(wǎng)絡(luò)管理 10.1 ifconfig

1.查看網(wǎng)卡信息

 ifconfig 

2.關(guān)閉網(wǎng)卡

sudo ifconfig eth0 down 

3.開啟網(wǎng)卡eth0

sudo ifconfig eth0 up 

4.給eth0配置臨時(shí)IP

sudo ifconfig eth0 IP
10.2ping
ping [選項(xiàng)] 主機(jī)名/IP地址

查看網(wǎng)絡(luò)上的主機(jī)是否在工作。它向該主機(jī)發(fā)送ICMP ECHO_REQUEST包。有時(shí)我們想從網(wǎng)絡(luò)上的某臺(tái)主機(jī)上下載文件,可是又不知道那臺(tái)主機(jī)是否開著,就需要使用ping命令查看。

命令中各選項(xiàng)的含義如下:

-c 數(shù)目 在發(fā)送指定數(shù)目的包后停止。
-d 設(shè)定SO_DEBUG的選項(xiàng)。
-f 大量且快速地送網(wǎng)絡(luò)封包給一臺(tái)機(jī)器,看它的回應(yīng)。
-I 秒數(shù) 設(shè)定間隔幾秒送一個(gè)網(wǎng)絡(luò)封包給一臺(tái)機(jī)器,預(yù)設(shè)值是一秒送一次。
-l 次數(shù) 在指定次數(shù)內(nèi),以最快的方式送封包數(shù)據(jù)到指定機(jī)器(只有超級(jí)用戶可以使用此選項(xiàng))。
-q 不顯示任何傳送封包的信息,只顯示最后的結(jié)果。
-r 不經(jīng)由網(wǎng)關(guān)而直接送封包到一臺(tái)機(jī)器,通常是查看本機(jī)的網(wǎng)絡(luò)接口是否有問題。
-s 字節(jié)數(shù) 指定發(fā)送的數(shù)據(jù)字節(jié)數(shù),預(yù)設(shè)值是56,加上8字節(jié)的ICMP頭,一共是64ICMP數(shù)據(jù)字節(jié)。
10.3netstat
netstat [選項(xiàng)]

顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息,可以讓用戶得知目前都有哪些網(wǎng)絡(luò)連接正在運(yùn) 作。命令中各選項(xiàng)的含義如下:

-a 顯示所有socket,包括正在監(jiān)聽的。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網(wǎng)絡(luò)接口的信息,格式同“ifconfig -e”。
-n 以網(wǎng)絡(luò)IP地址代替名稱,顯示出網(wǎng)絡(luò)連接情形。
-r 顯示核心路由表,格式同“route -e”。
-t 顯示TCP協(xié)議的連接情況。
-u 顯示UDP協(xié)議的連接情況。
-v 顯示正在進(jìn)行的工作。
10.4nslookup
nslookup name

查詢一臺(tái)機(jī)器的IP地址和其對(duì)應(yīng)的域名。它通常需要一臺(tái)域名服務(wù)器來提供域名服務(wù)。 如果用戶已經(jīng)設(shè)置好域名服務(wù)器,就可以用這個(gè)命令查看不同主機(jī)的IP地址對(duì)應(yīng)的域名。

不帶參數(shù)使用nslookup命令時(shí),出現(xiàn)提示符“>”,在后面輸入要查詢的IP地址或域名 并回車即可。如果要退出該命令,輸入exit并回車即可。

sihai@ubuntu:~$ nslookup
> www.sihai.cn
Server:    127.0.0.1
Address:    127.0.0.1#53
10.5 finger

finger [-lmsp] user [user@host …] 查詢用戶的信息,通常會(huì)顯示系統(tǒng)中某個(gè)用 戶的用戶名、主目錄、停滯時(shí)間、登錄時(shí)間、登錄shell等信息。如果要查詢遠(yuǎn)程機(jī)上的用 戶信息,需要在用戶名后面接“@主機(jī)名”,采用[用戶名@主機(jī)名]的格式,不過要查詢的網(wǎng) 絡(luò)主機(jī)需要運(yùn)行finger守護(hù)進(jìn)程。

命令中各選項(xiàng)的含義如下:

-s    顯示用戶的注冊名、實(shí)際姓名、終端名稱、寫狀態(tài)、停滯時(shí)間、登錄時(shí)間等信息。
-l 除了用-s選項(xiàng)顯示的信息外,還顯示用戶主目錄、登錄shell、郵件狀態(tài)等信息,以 及用戶主目錄下的.plan、.project和.forward文件的內(nèi)容。
-p 除了不顯示.plan文件和.project文件以外,與-l選項(xiàng)相同。
sihai@ubuntu:~$ finger sihai
Login: sihai    Name: sihai
Directory: /home/sihai    Shell: /bin/bash
On since Mon Sep 8 08:55 (CST) on tty7    14 hours 48 minutes idle On since Mon Sep 8 21:57 (CST) on pts/1 from :0
11 minutes 18 seconds idle
On since Mon Sep 8 23:12 (CST) on pts/2 from :0 6 seconds idle
No mail. No Plan.
常用服務(wù)器構(gòu)建 11.1 ftp
11.1.1ftp服務(wù)器

1.安裝vsftpd服務(wù)器

sudo apt-get install vsftpd

2.配置vsftpd.conf文件

sudo vi /etc/vsftpd.conf

添加下面設(shè)置

anonymous_enable=YES 
anon_root=/home/sihai/ftp 
no_anon_password=YES 
write_enable=YES 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_umask=0022

3.重啟服務(wù)器,重新加載/etc/vsftpd.conf配置文件

ubuntu12.04下
sudo /etc/init.d/vsftpd restart


ubuntu14.04下
sudo /lib/init/upstart-job vsftpd restart

4.進(jìn)入你的/home/sihai/ftp目錄下創(chuàng)建一個(gè)空目錄,供用戶上傳

cd ~/ftp

mkdir anonymous chmod 777 anonymous

5.測試上傳功能,登陸ftp服務(wù)器,進(jìn)入到anonymous目錄

ftp IP
cd anonymous

6.上傳命令,可以把你當(dāng)前目錄下的文件上傳到ftp服務(wù)器的anonymous目錄

put somefile 
get somefile
11.1.2 ftp客戶端

Ubuntu 默認(rèn)已經(jīng)安裝ftp客戶端

11.1.3 lftp客戶端

lftp 也 是 一 種 ftp 客 戶 程 序。 它 是 以 文 本 方 式 操 作 的, 但 是 比 起 圖 形 界 面 更 為 方 便。lftp幾乎具有bash的所有方便功能,Tab 補(bǔ)全,bookmark, queue, 后臺(tái)下載等可以 得到支持。用法與ftp類似,主要的指令如下:

put 上傳文件
mput 上傳多個(gè)文件 get 下載文件
mget 下載多個(gè)文件
mirror 下載整個(gè)目錄及其子目錄 mirror –R 上傳整個(gè)目錄及其子目錄
!command 調(diào)用本地shell執(zhí)行命令command

注意,有的發(fā)行版可能缺省沒有安裝lftp工具,需要用戶自己安裝。如果是Debian或 Ubuntu系統(tǒng),則安裝lftp軟件包。

sudo apt-get install lftp
11.2 nfs

1.安裝nfs服務(wù)器

sudo apt-get install nfs-kernel-server

2.設(shè)置/etc/exports配置文件

sudo vi /etc/exports

添加這行配置

/home/用戶名/nfs    *(rw,sync,no_root_squash)

3.在用戶目錄下創(chuàng)建nfs目錄

mkdir /home/用戶名/nfs

4.重啟服務(wù)器,重新加載配置文件

sudo /etc/init.d/nfs-kernel-server restart

5.在/home/用戶名/nfs目錄下創(chuàng)建測試文件hello

cd /home/用戶名/nfs touch hello

6.測試服務(wù)器,把服務(wù)器共享目錄nfs掛在到/mnt節(jié)點(diǎn)

sudo mount -t nfs -o nolock -o tcp IP:/home/用戶名/nfs /mnt

7.進(jìn)入/mnt目錄可以看到hello文件,表示構(gòu)建成功

8.卸載網(wǎng)絡(luò)共享目錄

sudo umount /mnt
11.3ssh

1.安裝ssh服務(wù)器

sudo apt-get install openssh-server

2.遠(yuǎn)程登陸

ssh 用戶名@IP
其它命令 12.1 終端翻頁
Shift-pageup 
Shift-pagedown
12.2 man

看手冊(叫做manual或man page)。每一個(gè)命令和系統(tǒng)函數(shù)都有自己的man page。

man man
man read 

查看read命令的man page

man 2 read 

查看read系統(tǒng)函數(shù)的man page(在第二個(gè)section中,表示為read(2)) man -k read 以read為關(guān)鍵字查找相關(guān)的man page

12.3 clear

清屏。使光標(biāo)和提示符回到屏幕第一行。

快捷鍵:Ctrl-l

12.4 alias

alias [-p] name=value … 將 value 字 符 串 起 個(gè) 別 名 叫 name, 以 后 在 命 令 行 輸 入 name,shell 自 動(dòng) 將 其 解 釋 為value,如果不帶參數(shù)執(zhí)行本命令,或以參數(shù)-p執(zhí)行,則顯示當(dāng)前定義的別名列表。

$ alias
alias ls="ls --color=auto" alias rm="rm -i"
12.5 echo
echo [-n] 字符串

在顯示器上顯示一段文字,一般起到一個(gè)提示的作用。其中選項(xiàng)n表示輸出文字后不換 行;字符串可以加引號(hào),也可以不加引號(hào)。用echo命令輸出加引號(hào)的字符串時(shí),將字符串原 樣輸出;用echo命令輸出不加引號(hào)的字符串時(shí),將字符串中的各個(gè)單詞作為字符串輸出,各 字符串之間用一個(gè)空格分割。

查看上一個(gè)程序退出數(shù)值,正常情況程序退出值是0

echo $?
12.6 date

查看當(dāng)前時(shí)間

12.7 umask
umask [-p] -S [mode]

umask指定用戶創(chuàng)建文件時(shí)的掩碼,其中的mode和chmod的命令中的格式一樣。如果不用 mode參數(shù),則顯示當(dāng)前的umask設(shè)置。如果用-S參數(shù),則以符號(hào)形式顯示設(shè)置。

$ umask 0022
$ umask -S u=rwx,g=rx,o=rx

比如該用戶touch或gedit創(chuàng)建一個(gè)文件,則其默認(rèn)權(quán)限為-rw-r-r–,如果該用戶創(chuàng) 建一個(gè)可執(zhí)行文件(比如編譯生成的程序),則其默認(rèn)權(quán)限為-rwxr-xr-x。也就是說,由于 umask的設(shè)定,創(chuàng)建的文件默認(rèn)是不具有g(shù)的w權(quán)限和o的w權(quán)限的,除非用chmod更改權(quán)限。

12.8 創(chuàng)建終端

創(chuàng)建終端標(biāo)簽

Ctrl + Shift + t 

切換標(biāo)簽

 Alt+n(n=1)

新開終端

Ctrl + Shift + n
關(guān)機(jī)重啟

關(guān)機(jī)重啟這些操作都需要有root權(quán)限

13.1 poweroff 13.2 shutdown
shutdown -t 秒數(shù) [-rkhncfF] 時(shí)間 [警告訊息]

選項(xiàng):

-t 秒數(shù) : 設(shè)定在切換至不同的runlevel之前, 警告和刪除二訊號(hào)之間的延遲時(shí)間(秒).
-k : 僅送出警告訊息文字, 但不是真的要 shutdown.
-r : shutdown 之後重新開機(jī)
-h : shutdown 之後關(guān)機(jī).
-n : 不經(jīng)過 init , 由 shutdown 指令本身來做關(guān)機(jī)動(dòng)作.(不建議你用)
-f : 重新開機(jī)時(shí), 跳過 fsck 指令, 不檢查檔案系統(tǒng).
-F : 重新開機(jī)時(shí), 強(qiáng)迫做 fsck 檢查.
-c : 將已經(jīng)正在 shutdown 的動(dòng)作取消.

例子:

shutdown -r now 立刻重新開機(jī) shutdown -h now 立刻關(guān)機(jī)
shutdown -k now "Hey! Go away! now...." 發(fā)出警告訊息, 但沒有真的關(guān)機(jī) shutdown -t3 -r now 立刻重新開機(jī), 但在警告和刪除processes 之間, 延遲3秒鐘. shutdown -h 10:42 "Hey! Go away!" 10:42 分關(guān)機(jī)
shutdown -r 10 "Hey! Go away!" 10 分鐘後關(guān)機(jī)
shutdown -c 將剛才下的 shutdown 指令取消,必須切換至其它tty, 登入之後, 才能下此一指令. shutdown now 切換至單人操作模式(不加任何選項(xiàng)時(shí))

注意事項(xiàng):
時(shí)間參數(shù)務(wù)必要加: 不是用 now, 便是用 hh:mm 或 mm now 其實(shí)就是 0 的意思.

13.3 reboot 13.4 查看內(nèi)核版本信息
uname -a
13.5 查看發(fā)行版信息
lsb_release -a
13.6 查看空閑內(nèi)存
free -m
vim 16.1 vi簡介

vi是“Visual interface”的簡稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。 它可以執(zhí)行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需 要對(duì)其進(jìn)行定制。Vi不是一個(gè)排版程序,它不象Word或WPS那樣可以對(duì)字體、格式、段落等 其他屬性進(jìn)行編排,它只是一個(gè)文本編輯程序。 vi沒有菜單,只有命令,且命令繁多。

Vi有三種基本工作模式:

命令模式

文本輸入模式

末行模式。

16.1.1 命令行模式

任何時(shí)候,不管用戶處于何種模式,只要按一下ESC鍵,即可使Vi進(jìn)入命令模式;我們 在shell環(huán)境(提示符為$)下輸入啟動(dòng)Vi命令,進(jìn)入編輯器時(shí),也是處于該模式下。在該模式 下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時(shí)從鍵盤上輸入的任何字符 都被當(dāng)做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相 應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合 法命令,Vi會(huì)響鈴報(bào)警。

16.1.2 文本輸入模式

在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換 命令s都可以進(jìn)入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當(dāng)做文件內(nèi)容保 存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。

16.1.3 末行模式

末行模式也稱ex轉(zhuǎn)義模式。在命令模式下,用戶按“:”鍵即可進(jìn)入末行模式下,此時(shí) Vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè)“:”作為末行模式的提示 符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容 寫到文件中等)。末行命令執(zhí)行完后,Vi自動(dòng)回到命令模式。例如:

:sp newfile

則分出一個(gè)窗口編輯newfile文件。如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入命令a 或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末 行模式,然后輸入命令。

16.2 vim基礎(chǔ)操作

進(jìn)入插入模式:

i: 插入光標(biāo)前一個(gè)字符 I: 插入行首
a: 插入光標(biāo)后一個(gè)字符 A: 插入行未
o: 向下新開一行,插入行首 O: 向上新開一行,插入行首

進(jìn)入命令模式: ESC:從插入模式或末行模式進(jìn)入命令模式 移動(dòng)光標(biāo):

h: 左移 j: 下移 k: 上移 l: 右移
M: 光標(biāo)移動(dòng)到中間行
L: 光標(biāo)移動(dòng)到屏幕最后一行行首 G: 移動(dòng)到指定行,行號(hào) -G
w: 向后一次移動(dòng)一個(gè)字 b: 向前一次移動(dòng)一個(gè)字
{: 按段移動(dòng),上移
}: 按段移動(dòng),下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏
gg: 光標(biāo)移動(dòng)文件開頭 G: 光標(biāo)移動(dòng)到文件末尾

刪除命令:

x: 刪除光標(biāo)后一個(gè)字符,相當(dāng)于 Del
X: 刪除光標(biāo)前一個(gè)字符,相當(dāng)于 Backspace
dd: 刪除光標(biāo)所在行,n dd 刪除指定的行數(shù) D: 刪除光標(biāo)后本行所有內(nèi)容,包含光標(biāo)所在字符 d0: 刪除光標(biāo)前本行所有內(nèi)容,不包含光標(biāo)所在字符
dw: 刪除光標(biāo)開始位置的字,包含光標(biāo)所在字符

撤銷命令:

u: 一步一步撤銷
U: 一次性撤銷當(dāng)前行所作的所有操作 Ctr-r: 反撤銷

重復(fù)命令:

.: 重復(fù)上一次操作的命令

文本行移動(dòng):

: 文本行右移

<<: 文本行左移

復(fù)制粘貼:

yy: 復(fù)制當(dāng)前行,n yy 復(fù)制 n 行
p: 在光標(biāo)所在位置向下新開辟一行,粘貼

可視模式:

v: 按字符移動(dòng),選中文本
V: 按行移動(dòng),選中文本可視模式可以配合 d, y, >>, << 實(shí)現(xiàn)對(duì)文本塊的刪除,復(fù)制,左右移動(dòng)

替換操作:

r: 替換當(dāng)前字符
R: 替換當(dāng)前行光標(biāo)后的字符

查找命令:

/: str查找 
n: 下一個(gè)
N:上一個(gè)

替換命令: 把a(bǔ)bc全部替換成123

:%s/abc/123/g

代碼排版:

gg=G: 代碼自動(dòng)縮進(jìn)排版
16.3 vim分屏操作

分屏操作:

sp: 上下分屏,后可跟文件名 
vsp: 左右分屏,后可跟文件名
Ctr+w+w: 在多個(gè)窗口切換

啟動(dòng)分屏

1.使用大寫O參數(shù)進(jìn)行垂直分屏

$ vim -On file1 file2 ...

2.使用小寫o參數(shù)進(jìn)行水平分屏

$ vim -on file1 file2 ...

注: n是數(shù)字,表示分屏的數(shù)量,n要大于等于文件個(gè)數(shù)

關(guān)閉分屏

1.關(guān)閉當(dāng)前窗口

ctrl+w c

2.關(guān)閉當(dāng)前窗口,如果只剩最后一個(gè),則退出vim

ctrl+w q

編輯中分屏

1.上下分割當(dāng)前打開的文件

ctrl+w s

2.上下分割,并打開一個(gè)新的文件

:sp filename

3.左右分割當(dāng)前打開的文件

ctrl+w v

4.左右分割,并打開一個(gè)新的文件

:vsp filename

分屏編輯中光標(biāo)的移動(dòng) vi中的光標(biāo)鍵是h,j,k,l,要在各個(gè)屏之間切換,只需要先按一下ctrl+w

1.把光標(biāo)移動(dòng)到上邊的屏

ctrl+w k

2.把光標(biāo)移動(dòng)到下邊的屏

ctrl+w j

3.把光標(biāo)移動(dòng)到右邊的屏

ctrl+w l

4.把光標(biāo)移動(dòng)到左邊的屏

ctrl+w h

5.把光標(biāo)移動(dòng)到下一個(gè)的屏

ctrl+w w

移動(dòng)分屏 1.向上移動(dòng)

ctrl+w K

2.向下移動(dòng)

ctrl+w J

3.向右移動(dòng)

ctrl+w L

4.向左移動(dòng)

ctrl+w H

屏幕尺寸

1.增加高度

ctrl+w +

2.減少高度

ctrl+w -

3.讓所有屏的高度一致

ctrl+w =

4.左加寬度

ctrl+w >

5.右加寬度

ctrl+w <

6.右增加n寬 (如:n=30)

ctrl+w n <
文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號(hào):好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/76795.html

相關(guān)文章

  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡單 注解就這么簡單 Druid數(shù)據(jù)庫連接池...

    KevinYan 評(píng)論0 收藏0
  • 初學(xué)者福音!可能是最適合你的Java學(xué)習(xí)路線和方法推薦。

    摘要:學(xué)習(xí)完多線程之后可以通過下面這些問題檢測自己是否掌握,下面這些問題的答案以及常見多線程知識(shí)點(diǎn)的總結(jié)在這里。可選數(shù)據(jù)結(jié)構(gòu)與算法如果你想進(jìn)入大廠的話,我推薦你在學(xué)習(xí)完基礎(chǔ)或者多線程之后,就開始每天抽出一點(diǎn)時(shí)間來學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)。 我自己總結(jié)的Java學(xué)習(xí)的系統(tǒng)知識(shí)點(diǎn)以及面試問題,已經(jīng)開源,目前已經(jīng) 35k+ Star。會(huì)一直完善下去,歡迎建議和指導(dǎo),同時(shí)也歡迎Star: https://...

    yanest 評(píng)論0 收藏0
  • 超全的App 測試工具大全,收藏夠了【附帶官網(wǎng)|GitHub地址】

    摘要:三性能測試工具官網(wǎng)介紹騰訊開源的的隨身調(diào)測平臺(tái),支持和。官網(wǎng)介紹騰訊游戲部門開發(fā)的移動(dòng)全平臺(tái)性能測試分析工具平臺(tái)。百度的服務(wù)目前主要為收費(fèi)服務(wù)。 隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,App 應(yīng)用非常火,測試工程師也會(huì)接觸到各種 app 應(yīng)用。除了人工測試之外,也可以通過一些測試工具來提高我們的測試效率...

    MRZYD 評(píng)論0 收藏0
  • 【轉(zhuǎn)】成為Java頂尖程序員 ,看10本書夠了

    摘要:實(shí)戰(zhàn)高并發(fā)程序設(shè)計(jì)這本書是目前點(diǎn)評(píng)推薦比較多的書,其特色是案例小,好實(shí)踐代碼有場景,實(shí)用。想要學(xué)習(xí)多線程的朋友,這本書是我大力推薦的,我的個(gè)人博客里面二十多篇的多線程博文都是基于此書,并且在這本書的基礎(chǔ)上進(jìn)行提煉和總結(jié)而寫出來的。 學(xué)習(xí)的最好途徑就是看書,這是我自己學(xué)習(xí)并且小有了一定的積累之后的第一體會(huì)。個(gè)人認(rèn)為看書有兩點(diǎn)好處:showImg(/img/bVr5S5);  1.能出版出...

    DTeam 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<