咱們通常會經過終端工具鏈接遠程Linux服務器,咱們如今的遠程Linux服務器在虛擬機上,因此咱們可使用終端工具在Windows上直接鏈接到虛擬機上的Linux服務器,而後實戰操做該Linux服務器。html
首先鏈接虛擬機,而後配置網絡,配置網絡以前須要進入Linux系統裏面。linux
鏈接windows和Linux,經過配置網絡鏈接,如何查看網絡是否鏈接了呢?web
咱們能夠在終端測試,輸入 ifconfigshell
在Linux中,咱們經常使用命令取操做,因此如今,咱們說一下常見的指令數據庫
1
2
3
4
5
6
7
|
ls 查看當前目錄下有什麼文件和文件夾
cd 進入當前目錄
mkdir 建立文件夾
touch 建立文件
|
經常使用指令apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1su 進入root權限賬戶解決賬戶權限不夠的問題
2cd 進入根目錄
3ls 查看當前目錄
4cd ../ 返回上一層目錄 cd /直接返回根目錄
5rm 刪除文件或文件夾 rm -f 刪除文件rm-rf 刪除文件夾
6mkdir 建立文件夾 touch 建立文件
7 cp 複製文件cp / / / mv 移動文件 mv / / /
8 vim 打開txt文件編輯 cat 查看txt文件
9 find /name 文件檢索
|
su 進入root權限vim
mkdir 新建一個文件windows
ls查看目錄安全
rm刪除文件bash
touch 建立一個文件 eg: touch a.txt
tar 解壓縮
vim編輯文件裏面的內容
cat查看文件
find主要用於查找名爲何什麼的文件
1.1 pwd命令
該命令的英文解釋爲print working directory(打印工做目錄)。輸入pwd命令,Linux會輸出當前目錄。
1.2 cd命令
cd命令用來改變所在目錄。
cd / 轉到根目錄中
cd ~ 轉到/home/user用戶目錄下
cd /usr 轉到根目錄下的usr目錄中-------------絕對路徑
cd test 轉到當前目錄下的test子目錄中-------相對路徑
1.3 ls命令
ls命令用來查看目錄的內容。
選項 | 含義 |
-a | 列舉目錄中的所有文件,包括隱藏文件 |
-l | 列舉目錄中的細節,包括權限、全部者、組羣、大小、建立日期、文件是不是連接等 |
-f | 列舉的文件顯示文件類型 |
-r | 逆向,從後向前地列舉目錄中內容 |
-R | 遞歸,該選項遞歸地列舉當前目錄下全部子目錄內的內容 |
-s | 大小,按文件大小排序 |
-h | 以人類可讀的方式顯示文件的大小,如用K、M、G做單位 |
ls -l examples.doc | 列舉文件examples.doc的全部信息 |
1.4 cat命令
cat命令能夠用來合併文件,也能夠用來在屏幕上顯示整個文件的內容。
cat snow.txt 該命令顯示文件snow.txt的內容,ctrl+D退出cat。
1.5 grep命令
grep命令的最大功能是在一堆文件中查找一個特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個字符串,grep查找是區分大小寫的。
1.6 touch命令
touch命令用來建立新文件,他能夠建立一個空白的文件,能夠在其中添加文本和數據。
touch newfile 該命令建立一個名爲newfile的空白文件。
1.7 cp命令
cp命令用來拷貝文件,要複製文件,輸入命令:
cp <source filename> <target filename>
cp t.txt Document/t 該命令將把文件t.txt複製到Document目錄下,並命名爲t。
選項 | 含義 |
-i | 互動:若是文件將覆蓋目標中的文件,他會提示確認 |
-r | 遞歸:這個選項會複製整個目錄樹、子目錄以及其餘 |
-v | 詳細:顯示文件的複製進度 |
1.8 mv命令
mv命令用來移動文件。
選項 | 說明 |
-i | 互動:若是選擇的文件會覆蓋目標中的文件,他會提示確認 |
-f | 強制:它會超越互動模式,不提示地移動文件,屬於很危險的選項 |
-v | 詳細:顯示文件的移動進度 |
mv t.txt Document 把文件t.txt 移動到目錄Document中。
1.9 rm命令
rm命令用來刪除文件。
選項 | 說明 |
-i | 互動:提示確認刪除 |
-f | 強制:代替互動模式,不提示確認刪除 |
-v | 詳細:顯示文件的刪除進度 |
-r | 遞歸:將刪除某個目錄以及其中全部的文件和子目錄 |
rm t.txt 該命令刪除文件t.txt
1.10 rmdir命令
rmdir命令用來刪除目錄。
經常使用指令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
ls 顯示文件或目錄
-l 列出文件詳細信息l(list)
-a 列出當前目錄下全部文件及目錄,包括隱藏的a(all)
mkdir 建立目錄
-p 建立目錄,若無父目錄,則建立p(parent)
cd 切換目錄
touch 建立空文件
echo 建立帶有內容的文件。
cat 查看文件內容
cp 拷貝
mv 移動或重命名
rm 刪除文件
-r 遞歸刪除,可刪除子目錄及文件
-f 強制刪除
find 在文件系統中搜索某文件
wc 統計文本中行數、字數、字符數
grep 在文本文件中查找某個字符串
rmdir 刪除空目錄
tree 樹形結構顯示目錄,須要安裝tree包
pwd 顯示當前目錄
ln 建立連接文件
more、less 分頁顯示文本文件內容
head、tail 顯示文件頭、尾內容
ctrl+alt+F1 命令行全屏模式
|
系統管理命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
stat 顯示指定文件的詳細信息,比ls更詳細
who 顯示在線登錄用戶
whoami 顯示當前操做用戶
hostname 顯示主機名
uname 顯示系統信息
top 動態顯示當前耗費資源最多進程信息
ps 顯示瞬間進程狀態 ps -aux
du 查看目錄大小 du -h /home帶有單位顯示目錄信息
df 查看磁盤大小 df -h 帶有單位顯示磁盤信息
ifconfig 查看網絡狀況
ping 測試網絡連通
netstat 顯示網絡狀態信息
man 命令不會用了,找男人 如:man ls
clear 清屏
alias 對命令重命名 如:alias showmeit=
"ps -aux"
,另外解除使用unaliax showmeit
kill 殺死進程,能夠先用ps 或 top命令查看進程的id,而後再用kill命令殺死進程。
|
打包壓縮相關命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
gzip:
bzip2:
tar: 打包壓縮
-c 歸檔文件
-x 壓縮文件
-z gzip壓縮文件
-j bzip2壓縮文件
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
|
例:
tar -cvf /home/abc.tar /home/abc 只打包,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包,並用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,並用bzip2壓縮
固然,若是想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的「c」 換成「x」 就能夠了。
關機重啓機器
1
2
3
4
5
6
7
8
9
10
11
|
shutdown
-r 關機重啓
-h 關機不重啓
now 馬上關機
halt 關機
reboot 重啓
|
Linux管道
將一個命令的標準輸出做爲另外一個命令的標準輸入。也就是把幾個命令組合起來使用,後一個命令除之前一個命令的結果。
例:grep -r "close" /home/* | more 在home目錄下全部文件中查找,包括close的文件,並分頁輸出。
Linux軟件包管理
dpkg (Debian Package)管理工具,軟件包名以.deb後綴。這種方法適合系統不能聯網的狀況下。
好比安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用以下命令安裝。
sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟件
sudo dpkg -r tree 卸載軟件
注:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高級軟件工具。這種方法適合系統可以鏈接互聯網的狀況。
依然以tree爲例
1
2
3
4
5
6
7
|
sudo apt-
get
install tree 安裝tree
sudo apt-
get
remove tree 卸載tree
sudo apt-
get
update 更新軟件
sudo apt-
get
upgrade
|
將.rpm文件轉爲.deb文件
.rpm爲RedHat使用的軟件格式。在Ubuntu下不能直接使用,因此須要轉換一下。
sudo alien abc.rpm
vim使用
vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
命令模式下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
:q 退出
:q! 強制退出
:wq 保存並退出
:
set
number 顯示行號
:
set
nonumber 隱藏行號
/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
yyp 複製光標所在行,並粘貼
h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)
|
用戶及用戶組管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/etc/passwd 存儲用戶帳號
/etc/
group
存儲組帳號
/etc/shadow 存儲用戶帳號的密碼
/etc/gshadow 存儲用戶組帳號的密碼
useradd 用戶名
userdel 用戶名
adduser 用戶名
groupadd 組名
groupdel 組名
passwd root 給root設置密碼
su root
su - root
/etc/profile 系統環境變量
bash_profile 用戶環境變量
.bashrc 用戶環境變量
su user 切換用戶,加載配置文件.bashrc
su - user 切換用戶,加載配置文件/etc/profile ,加載bash_profile
|
更改文件的用戶及用戶組
sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz爲例。屬於用戶hadoop,組hadoop
要想切換此文件所屬的用戶及組。可使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件權限管理
三種基本權限
1
2
3
4
5
|
R 讀 數值表示爲4
W 寫 數值表示爲2
X 可執行 數值表示爲1
|
在Linux服務器上搭建web服務器,用ssh客戶端登陸後使用 ./startservice.sh 腳本啓動服務,可是當ssh斷開鏈接後起的服務器也會停掉。這時就可使用下面命令運行服務,這樣在ssh斷開後服務也不會停。
1
|
nohup ./startservice.sh >>nohup.
out
2 > &1 &
|
上面代碼的用途:不掛斷地運行命令。
語法:nohup Command [Arg ... ] [&]
描述:nohup命令運行由Command 參數和任何相關的 Arg 參數指定的命令,忽略全部掛斷(SIGHUP)信號。在註銷後使用 nohup命令運行後臺中的程序。要運行後臺中的 nohup命令,添加 & (表示「and」 的符號)到命令的尾部。
因此上面命令中帶 & 的命令行,即便 terminal(終端)關閉,或者電腦死機程序依然運行(前提是將程序提交給服務器)。
上面 2>&1 的意思就是把標準錯誤(2) 重定向到標準輸出(1),而標準輸出又導入文件 output裏面,因此結果是標準錯誤和標準輸出都導入文件output裏面了。至於爲何須要將標準錯誤重定向到標準輸出的緣由,那就歸結爲標準錯誤沒有緩衝區,而 stdout 有。這就會致使 >output 2>output 文件被output 被打開兩次,而 stdout 和 stderr 將會競爭覆蓋,這確定不是咱們相要的。
操做系統中有三個經常使用的流:
通常當咱們用 > console.txt,實際是 1>console.txt的省略用法;< console.txt ,實際是 0 < console.txt的省略用法。
ctrl+c和ctrl+z都是中斷命令,可是他們的做用卻不同.
ctrl+c是強制中斷程序的執行,,進程已經終止。
ctrl+z的是將任務停止(暫停的意思),可是此任務並無結束,他仍然在進程中他只是維持掛起的狀態,用戶可使用fg/bg操做繼續前臺或後臺的任務,fg命令從新啓動前臺被中斷的任務,bg命令把被中斷的任務放在後臺執行.
例如:當你vi一個文件是,若是須要用shell執行別的操做,可是你又不打算關閉vi,由於你得存盤推出,你能夠簡單的按下ctrl+z,shell會將vi進程掛起~,當你結束了那個shell操做以後,你能夠用fg命令繼續vi你的文件。
ctrl-d 不是發送信號,而是表示一個特殊的二進制值,表示 EOF。
注:在shell中,ctrl-d表示推出當前shell
今天看到Linux文件夾中的文件顏色,非常好奇,因此百度一下,知足了本身的好奇心。
共顯示了七列信息,從左至右依次爲:權限、文件數、歸屬用戶、歸屬羣組、文件大小、建立日期、文件名稱。
ll 列出來的結果詳細,有時間,是否可讀寫等信息 ,象windows裏的 詳細信息
ls 只列出文件名或目錄名 就象windows裏的 列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
ll不是命令,是ls -l的別名
ls 命令能夠說是linux下最經常使用的命令之一。
-a 列出目錄下的全部文件,包括以 . 開頭的隱含文件。
-b 把文件名中不可輸出的字符用反斜槓加字符編號(就象在C語言裏同樣)的形式列出。
-c 輸出文件的 i 節點的修改時間,並以此排序。
-d 將目錄象文件同樣顯示,而不是顯示其下的文件。
-e 輸出時間的所有信息,而不是輸出簡略信息。
-f -U 對輸出的文件不排序。
-g 無用。
-i 輸出文件的 i 節點的索引信息。
-k 以 k 字節的形式表示文件的大小。
-l 列出文件的詳細信息。
-m 橫向輸出文件名,並以「,」做分格符。
-n 用數字的 UID,GID 代替名稱。
-o 顯示文件的除組信息外的詳細信息。
-p -F 在每一個文件名後附上一個字符以說明該文件的類型,「*」表示可執行的普通
|
1
2
3
4
5
6
7
8
|
sh或是執行腳本,或是切換到sh這個bash裏,默認的shell是bash,你
能夠試試tcsh啊,csh啊,ksh,zsh什麼的,看看別的shell是什麼樣子的。
固然,linux中sh是連接到bash上的,因此sh與bash在功能上是沒有區別的。
還有就是在執行腳本的時候是用sh + 腳本名的方式來執行,其實,大部
分的時候,簡單腳本只要權限設置正確,能夠直接執行,不須要sh命令的
---------------------
|
普通文件(regular file):
就是通常存取的文件,由ls -al顯示出來的屬性中,第一個屬性爲 [-],例如 [-rwxrwxrwx]。另外,依照文件的內容,又大體能夠分爲:
一、純文本文件(ASCII):這是Unix系統中最多的一種文件類型,之因此稱爲純文本文件,是由於內容能夠直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬於這種文件類型。舉例來講,使用命令「cat ~/.bashrc」就能夠看到該文件的內容(cat是將文件內容讀出來)。
二、二進制文件(binary):系統其實僅認識且能夠執行二進制文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來講,命令cat就是一個二進制文件。
三、數據格式的文件(data):有些程序在運行過程當中,會讀取某些特定格式的文件,那些特定格式的文件能夠稱爲數據文件(data file)。舉例來講,Linux在用戶登入時,都會將登陸數據記錄在 /var/log/wtmp文件內,該文件是一個數據文件,它能經過last命令讀出來。但使用cat時,會讀出亂碼。由於它是屬於一種特殊格式的文件。
目錄文件(directory):
就是目錄,第一個屬性爲 [d],例如 [drwxrwxrwx]。
1,鏈接文件(link):相似Windows下面的快捷方式。第一個屬性爲 [l],例如 [lrwxrwxrwx]。
2,設備與設備文件(device):與系統外設及存儲等相關的一些文件,一般都集中在 /dev目錄。一般又分爲兩種:
3,塊設備文件:就是存儲數據以供系統存取的接口設備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。第一個屬性爲 [b]。
4,字符設備文件:即串行端口的接口設備,例如鍵盤、鼠標等等。第一個屬性爲 [c]。
5,套接字(sockets):這類文件一般用在網絡數據鏈接。能夠啓動一個程序來監聽客戶端的要求,客戶端就能夠經過套接字來進行數據通訊。第一個屬性爲 [s],最常在 /var/run目錄中看到這種文件類型。
6,管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所形成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性爲 [p]。
/:根目錄,全部的目錄、文件、設備都在/之下,/就是Linux文件系統的組織者,也是最上級的領導者。
/bin:bin 就是二進制(binary)英文縮寫。在通常的系統當中,均可以在這個目錄下找到linux經常使用的命令。系統所須要的那些命令位於此目錄。
/boot:Linux的內核及引導系統程序所須要的文件目錄,好比 vmlinuz initrd.img 文件都位於這個目錄中。在通常狀況下,GRUB或LILO系統引導管理器也位於這個目錄。
/cdrom:這個目錄在剛剛安裝系統的時候是空的。能夠將光驅文件系統掛在這個目錄下。例如:mount /dev/cdrom /cdrom
/dev:dev 是設備(device)的英文縮寫。這個目錄對全部的用戶都十分重要。由於在這個目錄中包含了全部linux系統中使用的外部設備。可是這裏並非放的外部設備的驅動程序。這一點和經常使用的windows,dos操做系統不同。它其實是一個訪問這些外部設備的端口。能夠很是方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。
/etc:etc這個目錄是linux系統中最重要的目錄之一。在這個目錄下存放了系統管理時要用到的各類配置文件和子目錄。要用到的網絡配置文件,文件系統,x系統配置文件,設備配置信息,設置用戶信息等都在這個目錄下。
/home:若是創建一個用戶,用戶名是"xx",那麼在/home目錄下就有一個對應的/home/xx路徑,用來存放用戶的主目錄。
/lib:lib是庫(library)英文縮寫。這個目錄是用來存放系統動態鏈接共享庫的。幾乎全部的應用程序都會用到這個目錄下的共享庫。所以,千萬不要輕易對這個目錄進行什麼操做,一旦發生問題,系統就不能工做了。
/lost+found:在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裏。當系統啓動的過程當中fsck工具會檢查這裏,並修復已經損壞的文件系統。有時系統發生問題,有不少的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。
/mnt:這個目錄通常是用於存放掛載儲存設備的掛載目錄的,好比有cdrom等目錄。能夠參看/etc/fstab的定義。
/media:有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器等等。
/opt:這裏主要存放那些可選的程序。
/proc:能夠在這個目錄下獲取系統信息。這些信息是在內存中,由系統本身產生的。
/root:Linux超級權限用戶root的家目錄。
/sbin:這個目錄是用來存放系統管理員的系統管理程序。大可能是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是類似的,凡是目錄sbin中包含的都是root權限才能執行的。
/selinux :對SElinux的一些配置文件目錄,SElinux可讓linux更加安全。
/srv 服務啓動後,所需訪問的數據目錄,舉個例子來講,www服務啓動讀取的網頁數據就能夠放在/srv/www中
/tmp:臨時文件目錄,用來存放不一樣程序執行時產生的臨時文件。有時用戶運行程序的時候,會產生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄類似。
/usr這是linux系統中佔用硬盤空間最大的目錄。用戶的不少應用程序和文件都存放在這個目錄下。在這個目錄下,能夠找到那些不適合放在/bin或/etc目錄下的額外的工具
/usr/local:這裏主要存放那些手動安裝的軟件,即不是經過「新立得」或apt-get安裝的軟件。它和/usr目錄具備相相似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面、。
/usr/share :系統共用的東西存放地,好比 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。
/var:這個目錄的內容是常常變更的,看名字就知道,能夠理解爲vary的縮寫,
/var下有/var/log 這是用來存放系統日誌的目錄。
/var/ www目錄是定義Apache服務器站點存放目錄;
/var/lib 用來存放一些庫文件,好比MySQL的,以及MySQL數據庫的的存放地。
一個start.sh文件,原本是灰色的(普通的文件),若是執行chmod +x 給了權限,文件顏色就變成綠色。
若是使用chmod -x 則就會變成灰色(普通的文本顏色),普通的文本顏色是不能執行的,執行會報錯。
設置誰擁有執行這個文件權限。chmod +x 和chmod a+x 是同樣的,通常沒有明確要求,就可使用chmod +x。