Linux發行版本:CentOS(應用最廣) redhat ubuntu
CentOS 6.4(64bit位)
發行版本:內核,發行文檔等
Linux下是一切皆文件。目錄也是文件
1、Xshell連接Linux系統:ssh root@ip地址
2、基本操作命令:
1)/表示根目錄,就是頂級目錄,Linux所有的文件都是從頂級目錄開始
2)文件或目錄嚴格區分大小寫 例:config Config conFig
3)路徑是以‘/’分割
4)cd /var/log 進入/var/log目錄的命令
5)pwd打印當前目錄
6)ls 列出當前目錄有哪些文件(包含目錄)
7)ls -l(參數) 列出當前目錄文件名稱、權限、大小等屬性
8)man 命令 查看命令幫助 q鍵是退出
9)ls -s 查看目錄本身的屬性
10)ls -d 查看目錄本身
11)ls -a 查看所有文件,包括(以.開頭的隱藏文件) ____ls的命令可以組合用
12)touch 123.txt(瞭解) 創建一個空文件
13)mkdir+目錄名稱 創建一個目錄
14)mkdir -p 遞歸的創建(多級目錄的創建)
15)rmdir 刪除目錄(只能刪除空目錄)
16)rm 刪除文件或者目錄
17)rm -f 強制刪除 可以組合
18)rm -r 刪除目錄 可以和f組合-rf
19)cp 拷貝文件
cp -r 複製目錄
cp -a 複製所有(包括屬性)
20)mv 移動或重命名
21)cat 查看文件內容整體展示
22)more 一頁一頁展示查看文件內容 (相當於分屏查看文件內容)
23)head -5 文件名 查看前5行內容
24)tail -10 文件名 查看後5行內容
25)Ctrl+c 終止命令
26). ./當前目錄
27).. ../上級目錄
!!28)du 統計文件或者目錄大小
du -s統計容量總和 h人性化的顯示 -sh人性化的統計容量總和
這個命令在生產環境下用的很多
!!29)find 查找的目標 匹配的條件 find /etc/ -name '*conf*' 在目錄裏面找符合條件的文件或目錄
-name
-type d(目錄) f(文件)
!!30)grep 在文件裏面找符合條件的行的內容顯示出來:grep 'root' /etc/passwd
-i 不區分大小寫
-v 取反
-A+數字 匹配條件的後多少行
-B+數字 匹配條件的前多少行
-n 顯示匹配條件的行號
-R 遞歸
支持正則表達式
!!31)vi 進入到命令行模式,通過(a,i,o)可以進入插入模式,插入模式通過(ESC)可以返回命令行,在命令行以:來進入最後行模式
w:保存
q:退出
!:強制
命令行模式:
dd 剪切(刪除)掉光標所在的行
3dd 剪切(刪除)掉光標所在的連續3行
p 粘貼
yy 複製
gg 光標快速定位到第一行
G 光標快速定位到最後一行
u 撤銷上一步操作
/字符串 查找文件中的字符串 按字母n向下搜索
按字母N向上搜索
最後行模式:
快捷鍵:進入最後行模式後:
:set nu 顯示行號
:5 光標快速定位到第5行
:G 光標快速定位到最後一行
:1,$s/nologin/888888/g 1代表第一行,s代表替換(這個是固定的),$代表最後一行,/是固定的,nologin原文件,888888是要替換的文件,如果不加g,默認只匹配每一行第一個相應的字符串
把整個文件的nologin文件替換成88888
!!32)vim
33)init 6 重啓命令
34)init 0 關機
35)wc 統計行
wc -l(line) 統計多少行(一般都和-l組合用)
例如:ps -ef(這個命令是查看系統進程的)| wc -l======>查看系統下有多少個進程
[root@localhost ~]代表:當前登陸用戶@主機名 當前目錄
~代表當前登陸用戶的家目錄:root用戶的家目錄時/root,其他所有用戶家目錄幾乎都是在/home/下面
如何區分文件和目錄?
答:ls -l或ll
文件:-rw-r--r--. 1 root root 0 May 28 00:28 123.txt ,當前面的屬性爲"-"時,就代表文件
目錄:drwxr-xr-x. 2 root root 4096 May 28 00:26 320 ,前面的屬性以d開頭就是目錄
du -sh /etc/* 統計所有的文件各自所佔用的空間大小
du -sh /etc/ 統計etc所佔用的空間大小
目錄結構:
etc:系統目錄
root:家目錄
sbin:命令
user:命令
boot:linux系統必須加載的內核文件
管道符號: |
把前一個命令的輸出結果,傳遞給後一個命令處理
!!哪些命令支持放在管道符號後面 more head grep wc
追加、覆蓋 >> >
>>把前一個命令的輸出結果追加(或者叫寫入)到某個文件中cat /etc/passwd >> /etc/eth0.log
>把前一個命令的輸出結果覆蓋到某個文件中
CentOS操作系統兩種工作界面
圖形化界面
字符界面(企業服務選擇):企業選擇字符界面的原因是因爲字符界面可以少啓動很多服務,節省很多資源
通過vi /etc/inittab 將id:5:initdetault改成3就可以將圖形化界面轉化位字符界面;
CentOS有7種啓動模式
1)init 0 關機
2)init 1 單用戶模式
3)init 2 多用戶,沒有網絡
4)init 3 字符界面
5)init 4 圖形化界面
6)init 5 圖形化界面的服務
7)init 6 重啓
用戶和用戶組
1、/etc/passwd 保存系統用戶的一些基本信息
用戶名:x:UID:GID G->group組
UID:系統默認給用戶分配的一個ID號,系統不是靠用戶名這個字符串去識別的,而是靠UID的ID號去識別的,只有UID=0的纔是超級用戶
GID:用戶組的ID,普通用戶屬於哪個組
/etc/group 保存用戶組的信息
2、創建一個用戶以後,系統默認會創建一個與用戶名同名的用戶組(瞭解即可,不需要記)
原因:平時我們只會用到root用戶,其他用戶是系統默認生成的用戶,這些用戶是用來運行系統進程的
!!每個進程都有系統用戶,就跟windows一樣
!!!1)useradd 增加用戶
---------------創建一個用戶以後,系統默認會創建一個與用戶名同名的用戶組(瞭解即可,不需要記)
useradd user01
!!!2)groupadd 增加用戶組
groupadd user
3)passwd 設置密碼
---------echo 回顯字符 例:echo '123' 輸出結果:123
echo重新設置密碼:echo '123456' | passwd --stdin user01 stdin參數必須有
!!!4)su 用戶切換 例:su - root
5)id 查看用戶信息 例:id user01
6)userdel 刪除用戶 userdel user01
!!!用戶家目錄:
創建完用戶以後,默認在/home目錄下生成一個與用戶名同名的目錄,這個目錄稱爲該用戶的家目錄
目錄和文件的權限
1)權限的查看
ls -la或者ll -a
drwxr-xr-x. 2 test02 test 4096 Nov 11 2010 .gnome2
-----test02 代表擁有者
-----test 代表擁有組
d 第一組(rwx) 第二組(r-x) 第三組(r-x)
文件類型 文件擁有者權限位 文件擁有組權限位 其他所有人
表示字符 權限名稱 對文件的含義 對目錄的含義
r(4)-----讀 讀取文件內容 檢查目錄內容
w(2)-----寫 修改文件內容 改變目錄內容
x(1)-----執行 執行文件(例如shell腳本) 進入目錄
!!!修改權限:只有root用戶才能使用命令進行權限的修改~!
修改權限命令:
1)chmod修改權限方式一:
[root@hadoop01 ~]# ll -d
dr-xr-x---. 28 root root 4096 Jun 2 02:16 .
[root@hadoop01 ~]# chmod u+w,g-r,o+w /srv
[root@hadoop01 ~]# ll -d /srv/
drwx-wxrwx. 2 root root 4096 May 29 01:57 /srv/
!!!chmod修改權限方式二:每一個數字代表每一個組所對應的權限
[root@hadoop01 ~]# chmod 134 /srv/
[root@hadoop01 ~]# ll -d /srv/
d--x-wxr--. 2 root root 4096 May 29 01:57 /srv/
目錄的默認權限:755
文件的默認權限:644
2)chown
修改文件擁有者的權限
[root@hadoop01 ~]# ll -d /srv/
drwxr-xr-x. 2 root root 4096 May 29 01:57 /srv/
[root@hadoop01 ~]# chown test01 /srv/
[root@hadoop01 ~]# ll -d /srv/
drwxr-xr-x. 2 test01 root 4096 May 29 01:57 /srv/
[root@hadoop01 ~]# chown test01:test01 /srv/
[root@hadoop01 ~]# ll -d /srv/
drwxr-xr-x. 2 test01 test01 4096 Jun 10 20:26 /srv/
Linux壓縮和解壓工具
後綴:
tar.gz
c 創建壓縮包 v顯示過程 t查看 ztvf
-----壓縮命令:tar -zcvf 壓縮後的包名.tar.gz 壓縮的目標
-------------例如:tar -zcvf varlog.tar.gz /var/log/
x解壓
-----解壓命令:tar -zxvf 壓縮後的包名.tar.gz [-C 目標目錄]
-------------例如: tar -zxvf varlog.tar.gz -C .
tar -zxvf varlog.tar.gz -C target/
/var/log/ 存放Linux應用層的日誌
-----壓縮命令:tar -jcvf 壓縮後的包名.tar.gz 壓縮的目標
-----解壓命令:tar -jxvf 壓縮後的包名.tar.gz [-C 目標目錄]
zip
---------壓縮 zip 壓縮的目標
---------解壓 unzip 壓縮包
rar
--------默認不支持 需要安裝第三方插件,纔可以支持,具體說明插件,我忘了,網上查一下
!!!磁盤管理
主分區+擴展分區(邏輯分區) <= 4個 (企業中:3+1或者2+1)
!!擴展分區無法使用,必須要在擴展分區之上分成邏輯分區後纔可以使用
Linux系統默認所有設備文件都在/dev下面
/dev/sda ---硬盤1 sda1代表第一個分區 sda2代表第二個分區 sda3代表第三個分區
/dev/sdb ---硬盤2 sda1代表第一個分區 sda2代表第二個分區 sda3代表第三個分區
/dev/sdc ---硬盤3 sda1代表第一個分區 sda2代表第二個分區 sda3代表第三個分區
---------------s代表接口
--------服務器的接口(sata,sas,scsi)
---------------d代表disk硬盤
fdisk -l 查看系統所有設備的分區情況 cylinders磁柱
作用:
1)系統一共有幾塊硬盤,每個硬盤容量大小
2)每個硬盤的分區情況(硬盤空間是否還有剩餘)
!!!fdisk /dev/sdb 針對sdb這塊硬盤進行分區(進入系統交互界面)
!!分區步驟:
df -h 查看掛載點命令
umount /mnt 刪除掛載點
1)fdisk 設備名稱(/dev/sda)
2)partx -a /dev/sdb 讓系統內核重新去硬盤讀取系統分區
3)格式化: mkfs.ext4 /dev/sdb6(格式化哪個分區)
4)掛載:mount /dev/sdb5 /mnt (mnt是掛載點) ----臨時生效(系統重啓後會消失)
修改/etc/fstab ------永久生效
/dev/sdb6 /wwwroot ext4 default 0 0
掛載光驅:mount /dev/cdrom /media(/media是你要掛載到哪個)
文件系統:ext2 ext3 ext4 xfs(CentOS7所對應的系統)
文件系統每個操作系統都有:windows,Linux,IOS等
文件系統是系統自帶的,就相當於對硬盤中的文件的一種管理機制(怎麼去快速的從硬盤中查詢或者寫入這種機制)
block:Linux操作系統管理文件的最小(邏輯)單位
block大小:默認有 1k 2k 4k
擴展瞭解:分區parted(自己百度去查一下) MBR GPT
軟件包管理(安裝)--------CentOS
!!! rpm包---------***.rpm----------使用rpm命令管理
--安裝 rpm -ivh +包的全路徑名
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
--卸載 rpm -e +包名(不要含有後面的.rpm)
rpm -e zlib-devel-1.2.3-29.el6.x86_64
--升級 rpm -U
--查看 rpm -qa----(查看所有已經安裝好的rpm包)
rpm -qa | grep zlib
--查看文件屬於哪個rpm包
rpm -qf /etc/ntp.conf
ls | kernel-*查看所有內核包 以kernel開頭的都是內核包
!!! yum命令:
----用來管理rpm包的,由於用rpm命令來管理rpm包的時候,有些包會存在很強的依賴關係,(例如,在安裝當前rpm包的時候,必須要先安裝另一個rpm包纔可以執行當前rpm包的安裝),因此,用yum命令,很容易的解決的這個問題
1)yum list--------- 列出所有可用(包含已安裝)的rpm包
yum list | grep httpd-tools(工作中一般yum和grep結合着用)
例:
包的名稱 包的版本 倉庫名
yum-utils.noarch 1.1.30-40.el6 base
httpd-tools.x86_64 2.2.15-29.el6.centos @anaconda-CentOS(前面有@代表這個包已經安裝過了)
2)yum -y install +包名(不需要寫全包名,就是不用加後綴.rpm),-y代表直接安裝 ---------安裝
3)yum -y remove +包名---------------卸載
!!!4)配置yum倉庫
-----------常用的倉庫地址:mirrors.163.com mirrors.sohu.com
-----------倉庫配置文件路徑:/etc/yum.repos.d
------DNS解析
!!!常用的系統管理命令
1)ifconfig 查看網卡IP
2)top 查看系統整體資源(相當於windows中的任務管理器)
------------load average負載
------------Tasks任務狀態
------------Swap交換分區(相當於windows中的虛擬內存:在windows高級設置中的高級裏面可以查看虛擬內存),當你的物理內存使用完後,可以使用swap分區來充當物理分區來使用
q:退出
3)free 查看內存(以KB爲顯示)
-m 以MB來顯示
4)netstat 查看端口情況
-an
-tlnp
5)ps 查看進程
-ef
auxf
6)瞭解:vmstat iostat mpstat sar
7)kill 殺死進程
-l 列出信號
-9 強制殺掉
kill -9 2243 2243,進程號
-5 正常殺掉
工作中,例如:當你啓動一個任務後,發現訪問不了該任務所對應的網站,這時候,你就需要先查看端口號,是否被監聽了,然後查詢進程,
例如:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
其中的State代表着監聽狀態,State所對應的LISTEN,代表端口在被監聽