文章出處

前面的話

  本文將詳細介紹Linux常見操作

 

基本概念

  Linux嚴格區分大小寫,所有內容以文件形式保存,包括硬件

  Linux沒有擴展名的概念,不靠擴展名來區分文件類型。但有一些約定俗成的擴展名

壓縮包: .gz .bz2 .tar.bz2 .tgz
二進制軟件包:.rpm
網頁文件: .html .php
腳本文件: .sh
配置文件: .conf

  [注意]windows下的程序不能直接在linux中安裝和運行

  Linux字符界面的優勢如下:

  1、占用的系統資源更少

  2、減少了出錯、被攻擊的可能性

【分區類型】

  主分區:最多只能有4個

  擴展分區:最多只能有1個,主分區加擴展分區最多有4個,不能寫入數據,只能包含邏輯分區

【硬件設置文件名】

硬件  設置文件名
IDE硬盤 /dev/hd[a-d]
SCSI/SATA/USB硬盤 /dev/sd[a-p]
光驅  /dev/cdrom 或/dev/hdc
軟盤  /dev/fd[0-1]
打印機(25針)  /dev/1p[0-2]
打印機(USB)  /dev/usb/1p[0-15]
鼠標  /dev/mouse

【掛載】

必須分區
/ (根分區)
swap分區 (交換分區,內存2倍,不超過2GB)

推薦分區
/boot (啟動分區,200MB)

 

顯示

【起始標識】

[root@bogon ~]#

  root表示當前登錄用戶為管理員

  bogon表示主機名

  ~表示當前所在目錄

  #是管理員的提示符

  $是普通用戶的提示符

 【命令格式】

  當有多個選項時,可以寫在一起

  選項包括簡化選項與完整選擇如-a 等于 --all

命令 [選項] [參數]

  [注意]個別命令使用不遵循此格式

 

文件

【文件類型】

  Linux包括以下7種文件類型,以文件位第一位來表示文件類型

- 文件
d 目錄
l 軟鏈接文件

  除了上面這3種,還有塊設備文件、字符設備文件、套接字文件和管道文件。這4種文件都是linux系統中的特殊文件

【文件身份】

  文件位共有10位組成,除了第1位表示文件類型外,后9位每3位為一組,表示文件的所有者、所屬組和其他人

【文件權限】

r讀
w寫
x執行

  下面這個例子中,表示這是一個文件,所有者有讀寫權限,而所屬組和其他人只有讀權限

  一般地,用戶在自己主目錄下擁有寫權限,主目錄之外只有讀權限。如果一定在要不具有寫權限的目錄下操作文件,如新建文件。則可以使用sudo命令,變身管理員,然后輸入管理員的密碼來執行這個操作

 sudo touch aaa

【文件信息】

  上面的例子中,兩個root之后,分別代碼文件大小、文件最后一次修改時間及文件名稱

  [注意]linux中文件名以.開頭的文件是隱藏文件

【修改文件權限】

  比如,將a.txt文件的權限變更為讀寫權限

chmod 666 a.txt

  實際中使用 chmod 命令最多的一種情形可能是給自己寫的腳本加一個執行權限

chmod +x a.sh

【常用一級目錄作用】 

/ 根目錄
/bin 存放系統命令
/sbin 存放只有管理員才能執行的系統命令 
/usr 系統資源保存目錄,包含了一般不需要修改的應用程序,命令程序文件、程序庫、手冊和其它文檔
/usr/bin 存放系統命令 
/usr/sbin 存放只有管理員才能執行的系統命令
/boot 存放內核以及啟動所需的文件等 
/dev 存放設備文件 
/etc 存放系統的配置文件 
/lib 存放函數庫
/home 用戶文件的主目錄,用戶數據存放在此目錄中
/root 管理員的主目錄
/mnt 空目錄,存放臨時的映射文件系統,常把軟驅和光驅掛裝在這里的floppy和cdrom子目錄下
/media 空目錄,存放臨時的映射文件系統,老式linux無該目錄
/misc 空目錄,存放臨時的映射文件系統,老式linux無該目錄
/proc 不能直接操作,存放存儲進程和系統信息
/sys 不能直接操作,存放存儲進程和系統信息
/tmp 存放臨時文件的目錄
/var 包含系統產生的經常變化的文件

 

關機

關機

【shutdown】

shutdown [選項] 時間
選項:
    -c: 取消前一個關機命令
    -h: 關機
    -r: 重啟
shutdown -h now 立刻關機

【其他關機命令】

halt
poweroff
init 0

【其他重啟命令】

reboot
init 6

【運行級別】

  系統運行級別包括以下7個

0 關機
1 單用戶,安全模式
2 不完全多用戶,不含nfs服務
3 完全多用戶
4 未分配
5 圖形界面
6 重啟
cat /etc/inittab
#修改系統默認運行級別
id:3:initdefault:

runlevel
#查詢系統運行級別

 

登錄

【查看登錄用戶信息】

【退出登錄】

logout

【who】

【查詢當前登錄和過去登錄的用戶信息】

【查看所有用戶的最后一次登錄時間】

shell

  shell是一個命令行解釋器,它為用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶可以用shell來啟動、掛起、停止甚至是編寫一些程序

  shell還是一個功能非常強大的編程語言,易編寫,易調試,靈活性較強。shell是解釋執行的腳本語言,在shell中可以直接調用linux系統命令

 

【語法類型】

Bourne Shell:    主文件名為  sh
語法類型:sh、ksh、Bash、psh、zsh
C Shell  :  主要在BSD版的Unix系統中使用
語法類型:  csh、 tcsh

【查看當前系統的SHELL類型】

【編輯腳本】

vi hellp.sh

【退出腳本】

  在vim中編輯好之后,按esc鍵,回到一般模式,再輸入“:wq”,回車執行

【腳本執行】

  1、賦予執行權限,直接運行

chmod 755 hello.sh
./hello.sh

  2、或者,可以通過bash調用執行腳本

bash hello.sh

 

VIM

  VIM是linux系統中的編輯器,類似于windows系統中的記事本

【操作模式】

  vim編輯器有三種模式:

  1、命令模式(等待用戶輸入命令)

  2、輸入模式(等待用戶向文本中輸入內容)

  3、底行模式(可以輸入一些指令)

vim abc.sh 打開或創建并打開abc.sh文件

i

  進入vim之后,vim進入命令模式,這時敲擊i鍵,可以把命令模式切換到輸入模式,這時就可以輸入內容了

ESC

  在輸入完成之后 ,敲擊ESC鍵,可以把輸入模式切換到底行模式,輸入:wq即可保存退出

【命令格式】

vim + abc.sh 打開文件后將光標定位到文件的最后一行
vim +3 abc.sh 打開文件后將光標定位到文件的第三行
vim +/123  abc.sh 打開文件后將光標定位到123第一次出現的那行,進入文件后,可以按n鍵使光標在多個123中切換

【常用指令】

  1、底行模式

  :w    保存
  :q    退出
  :!    強制執行
  :ls   列出當前編輯器中打開的所有文件
  :n    切換到下一個文件
  :N    切換到上一個文件
  :15   光標快速定位到15行
  /xxx  從光標位置開始向后搜索第一次出現xxx的行
  ?xxx  從光標位置開始向前搜索第一次出現xxx的行

  2、命令模式

  h  光標左移
  j  光標下移
  k  光標上移
  l  光標右移
  Ctrl+f  向下翻頁(front)
  Ctrl+b  向上翻頁(back)
  ctrl+d  向下翻半頁(down)
  Ctrl+u  向上翻半頁(up)
  dd  刪除光標所在行
  o  在光標所在行的下方插入一行并切換到輸入模式
  yy  復制光標所在的行
  p  在光標所在行的下方粘貼
  P  在光標所在行的上方粘貼

 

輸入輸出

【輸出重定向】

【輸入重定向】

wc [選項] [文件名]
    選項:
        -c  統計字節數
        -w  統計單詞數
        -l  統計行數

  命令<文件把文件作為命令的輸入

  命令<<標識符把標識符之間的內容作為命令的輸入

 

進程管理

  Linux 系統上有一個命令ps用來報告系統當前的進程狀態

$ ps aux

  上面指令可以查看系統當前所有進程

$ kill 1234

  上面指令可以強制關閉進程號為1234的進程

$ bg

  上面指令讓程序變成后臺執行

$ fg

  上面指令讓程序回到前臺

 

磁盤管理

【df】查看磁盤分區使用狀況

-I 僅顯示本地磁盤(默認)
-a 顯示所有文件系統的磁盤使用情況
-h 以1024進制計算最合適的單位顯示磁盤容量
-H 以1000進制計算最合適的單位顯示磁盤容量(新購買的U盤實際容量小于標識容量,是因為工業生產使用1000進制,而不是1024進制)
-T 顯示磁盤分區類型
-t 顯示指定類型文件系統的磁盤分區
-x 不顯示指定類型文件系統的磁盤分區

【du】統計磁盤上的文件大小

-b 以Byte為單位統計文件
-k 以KB為單位統計文件
-m 以MB為單位統計文件
-h 按照1024進制以最適合的單位統計文件
-H 按照1000進制以最適合的單位統計文件
-s 指定統計目標

【MBR分區】

fdisk -l 查看當前磁盤分區
fdisk /dev/sdb 進入分區模式

   通過下面的命令為磁盤分得一個3GB的主分區

  分配結束后,輸入p命令來查看分區信息

  最后輸入w來保存并結束當前分區結果

 【GPT分區】

  MBR分區的限制在于主分區不超過4個,單個分區容量最大為2TB。而GPT分區最多支持128個分區,單個分區容量最大為18EB

1EB = 1024PB
1PB = 1024TB
1TB = 1024GB

  GPT分區中,不適合安裝X86架構的系統,即32位操作系統

  fdisk命令只適合于MBR分區,而parted命令同時適合于MBR分區和GPT分區

  [注意]下面分區從1M開始是為了保持4K對齊

【分區格式化】

  先使用ll /dev/sdb*來查看sdb的分區情況

  使用mkfs命令來進行分區格式化

  [注意]擴展分區不能進行分區格式化

mkfs .ext4 /dev/sdb1

【掛載】

  格式化后的分區必須進行掛載操作,才能使用。一般地,掛載在mnt目錄下

  下面代碼中,將sdb1掛載到mnt目錄下的sdb1目錄中

mkdir -p /mnt/sdb1
mount /dev/sdb1 /mnt/sdb1

  通過mount命令掛載的分區不具有永久性,關機后失效。更好的方式是需要編輯etc目錄下的fstab文件

vim +  /etc/fstab

  這樣一來,即使系統重啟,也會進行自動掛載

【swap交換分區】

  在linux中添加swap交換分區的步驟如下

  1、先建立一個linux普通分區 (用MBR建立)輸入fdisk /dev/sdb

  2、修改分區類型的16進制:輸入t,再輸入該硬盤的分區號如6,再輸入16進制的編碼L。修改編碼83,改為82(swap類型)輸入w保存退出

  3、格式交換分區 mkswap /dev/sdb6

  4、啟動分區 swapon /dev/sdb6

  5、關閉分區 swapoff /dev/sdb6

 

用戶管理

  linux允許多個用戶在同一個時間登錄同一個操作系統

【group】

/etc/group 存儲當前系統中所有的用戶組信息
  Group:      x    : 123  :abc,def,xyz
  組名稱:組密碼占位符:組編號:組中用戶名列表

  當用戶組名稱與用戶名相同時,可以省略用戶名列表的信息

  組編號0為root,1-499為系統保留組編號,一般用于安裝在系統中的軟件或服務;用戶手動創建的用戶組從500開始

【gshadow】

/etc/gshadow 存儲當前系統中用戶組的密碼信息
Group:   *  :       : abc,def,xyz
組名稱:組密碼:組管理者:組中用戶名列表

  該文件中的內容與group里面的內容一一對應

【passwd】

/etc/passwd 存儲當前系統中所有用戶的信息
 user:     x    :  123  :    456  :  xxxxxxx :/home/user:/bin/bash
用戶名:密碼占位符:用戶編號:用戶組編號:用戶注釋信息:用戶主目錄:shell類型
/etc/shadow存儲當前系統中所有用戶的密碼信息
 user :vf;/Zu8sdf...:::::
用戶名:     密碼    :::::

  由于系統運行過程中,group和passwd這兩個文件經常需要被讀取,而密碼又屬于敏感數據,于是單獨設置了gshadow和shadow來保存密碼

【基本命令】

groupadd  用戶組名 #創建用戶組
groupmod -n 新組名 原組名 #修改用戶組名    
groupmod -g 組編號 組名稱 #修改組編號
groupadd -g 組編號 組名稱 #創建用戶組并指定組編號
groupdel 組名稱 #刪除用戶組

useradd -g 用戶組 用戶 #向指定用戶組中添加用戶
useradd -d 文件夾 用戶 #創建用戶并指定用戶的個人文件夾
usermod -c 備注信息 用戶 #給用戶添加備注信息
usermod -l 新用戶 原用戶 #修改用戶名
usermod -g 目標用戶組名 用戶 #切換用戶組
userdel 用戶名 #刪除用戶 userdel
-r 用戶名 #刪除用戶及對應的個人文件夾 touch /etc/nologin #禁止除root外的用戶登錄服務器
passwd abc #給用戶adc設置密碼

  [注意]在centos系統下,使用useradd會默認在home目錄下,新增一個與用戶名同名的目錄。如果是ubuntu系統,默認不創建目錄,如果需要則添加-m參數

【進階命令】

passwd -l 用戶名 #鎖定用戶 禁用
passwd -u 用戶名 #解鎖用戶
passwd -d 用戶名 #清除用戶密碼,可以無密碼登錄

  用戶可以同時屬于多個組,一個是主要組,其他的為附屬組

gpasswd -a 用戶名 附屬組,附屬組,..... #添加附屬組

  用戶創建的文件默認為主要組;需要以附屬組創建文件的,需將身份切換到附屬組

newgrp 附屬組名稱 #切換附屬組

  [注意]需要用戶登錄后,自己執行,切換,組密碼是在組切換時用的,如果有,會要求輸入組密碼

gpasswd -d 用戶名 附屬組 #刪除附屬組
useradd -g group1 -G group2,group3,.... #創建用戶同時指定主要組和附屬組
gpasswd 用戶組 #設定組密碼

  [注意]輸入后回車,會有提示讓輸入密碼

su username #切換當前用戶身份,su后不加參數切換到root
sudo su #切換到root用戶 whoami #顯示當前登錄用戶名 id 用戶名 #顯示制定用戶信息,包括用戶編號,用戶名,主要組編號及名稱,附屬組列表 groups 用戶名 #顯示用戶所在的所有組 chfn 用戶名 #設置用戶資料 finger 用戶名 #顯示用戶詳細資料

 

端口設置

  查看某個端口被占用情況

lsof -i:8081

  然后使用kill -9命令來結束進程

kill -9 18446

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()