linux基礎總結
linux的特點
- 免費的/開源
- 支持多線程/多用戶
- 安全性好
- 對內存和文件管理優越
關機命令
shutdown -h now(立即進行關機) shutdown -r now (現在重新啟動計算機) reboot (現在重新啟動計算機)
進入桌面
startx
用戶登錄
登錄時盡量少用root賬戶登錄,因為它是系統管理員,最大的權限,難免操作失誤。可以利用普通用戶登錄,登錄後再用“su -”命令來切換成系統管理員身份
用戶註銷
在提示符下輸入logout即可
linux的文件系統是采用層級式的樹狀目錄結構,在此結構中的最上層是根目錄“/”,然後在此目錄下再創建其他的目錄,深刻理解linux文件目錄是非常重要的
- /
- root,存放root用戶的相關文件
- home,存放普通用戶的相關文件
- bin,存放常用命令的目錄,如vi,su
- sbin,要具有一定權限才可以使用命令
- mnt,默認掛載光驅和軟驅的目錄
- etc,存放配置的相關文件
- var,存放經常變化的文件,如網絡連接的sock文件
- boot,存放引導系統啟動的相關文件
- usr,安裝一個軟件的默認目錄,相當於windows下的program files
下面就來介紹一些比較常用的命令及使用方法:
pwd,顯示當前在哪個路徑下
linux的用戶管理
useradd 用戶名,添加用戶
【案例】useradd xiaoming
passwd 用戶名,為新用戶設密碼
【案例】passwd xiaoming,修改小明的密碼
userdel 用戶名,刪除用戶
【案例】userdel xiaoming,刪除用戶但保存用戶主目錄
【案例】userdel ‐ xiaoming,刪除用戶以及用戶主目錄
logout,當前用戶推出
who am i,當前用戶是誰
cd,改變目錄
ls,列出文件和目錄
ls ‐a,顯示目錄下的所有文件,包括隱藏文件
ls ‐l,顯示長列表格式
mkdir,建立目錄
rmdir,刪除空目錄
touch,建立空文件
cp,復制命令
【案例】cp ‐r dir1 dir2,遞歸復制命令(復制子目錄信息)
mv,移動文件和改文件名
rm,刪除文件和目錄
rm ‐rf *,刪除所有內容,包含目錄和文件,r表示遞歸,f表示強制
ln,建立符號連接,類似於建立某個文件的快捷方式
ln ‐s 源目標
【案例】ln ‐s /etc/inittab inittab,inittab指向實際文件/etc/inittab inittab
more,顯示文件內容帶分頁,ctrl + page up上翻,長空格下翻
less,顯示文件內容帶分頁
grep,在文本中查詢內容
【案例】假設存在某個文件test.cpp中含有hello關鍵字,此時可以使用grep名命令來查找,grep n “hello” test.cpp,n表示在第n行出現
|,管道命令,在linux和unix系統,把上一個命令的結果交給|後面的命令處理
【案例】ls ‐l /etc/ | more
man [command],幫助,類似於dos中的help
find,搜索文件及目錄。在linux中,因為文件系統是以級別式的結構來組成的,所以要在整個系統中找到特定的文件和目錄並不是件容易的事。而“find”命令可以解決上述問題
在特定的目錄下搜索並顯示指定名稱的文件和目錄
【案例】find / -name man:意思是說從根目錄開始搜索名稱為man的文件或目錄
搜索一段時間內被存取/變更的文件或目錄
【案例】find /home -amin -10:十分鐘內存取的文件或目錄
【案例】find /home -atime -10:十小時內存取的文件或目錄
【案例】find /home -cmin -10:十分鐘內更改過的文件或目錄
【案例】find /home -ctime +10:十小時前更改過的文件或目錄
搜索指定大小的文件
【案例】find /home -size +10k:意思是說查找/home目錄下大小為10k的文件
重定向命令
ls -l > a.txt,列表的內容寫入文件a.txt中(覆蓋寫)
ls -al >> aa.txt,列表的內容追加到文件aa.txt的末尾
從文件中輸入信息:database_program < database_data
en,查看環境變量
壓縮和解壓
以zip和unzip處理.zip文件
zip命令的基本使用方法
zip file.zip *:zip後接壓縮後的文件名,在它的後面輸入要壓縮的文件即可
壓縮後,自動刪除原文件
【案例】zip m file.zip to.txt:把to.txt文件壓縮成file.zip文件,to.txt會自動刪除的
將子目錄一起壓縮
【案例】zip ‐r file.zip *:將當前目錄下的子目錄一起壓縮
忽略子目錄的內容
【案例】zip ‐j file.zip *
將已壓縮的或沒有必要壓縮的文件去掉
【案例】zip ‐n .mpg: .jpg: .gif:第一種文件中間要用“:”分開
壓縮某一日之後的文件
【案例】zip ‐t 080915 file.zip:將當前目錄下在2015年8月9日之後文件壓縮
不壓縮鏈接文件的原文件
【案例】zip ‐y file.zip *
壓縮率問題,-1~-9,其中-9的壓縮率最高
【案例】zip -9 file.zip *
將不需要壓縮的文件排除在外
【案例】zip file.zip * -x file2.txt:在壓縮時,將當前目錄內的file2.txt文件排除在外
以unzip命令進行.zip文件的解壓縮
直接解壓縮文件
【案例】unzip file.zip
排除不需要解壓縮的文件
【案例】unzip file.zip ‐x file2:除了file2文件外,其他的文件都解壓縮
查看壓縮包的內容
【案例】unzip ‐Z file.zip:查看file.zip壓縮包的內容,也可以使用“-l” “-v”來查看壓縮包的內容
以gzip和gunzip處理.gz文件
在linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念 。
1)所有者:一般為文件的創建者,誰創建了該文件,就天然的成為該文件的所有者。用ls ‐ahl命令可以看到文件的所有者。也可以使用chown 用戶名 文件名來修改文件的所有者。
2)文件所在組:當某個用戶創建了一個文件後,這個文件的所在組就是該用戶所在的組,用ls ‐ahl命令可以看到文件的所有組,也可以使用chgrp 組名 文件名來修改文件所在的組。
3)其它組:除開文件的所有者和所在組的用戶外,系統的其它用戶都是文件的其它組。
文件權限
ls -l中顯示的內容如下:
-rwxrw-r‐-1 root root 1213 Aug 9 09:39 abc
10個字符確定不同用戶能對文件幹什麽
第一個字符代表文件(-)、目錄(d),鏈接(l)
其余字符每3個一組(rwx),讀(r)、寫(w)、執行(x)
第一組rwx:文件所有者的權限是讀、寫和執行
第二組rw-:與文件所有者同一組的用戶的權限是讀、寫但不能執行
第三組r--:不與文件所有者同組的其他用戶的權限是讀不能寫和執行
也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7
1 表示連接的文件數
root 表示用戶
第二個root表示用戶所在的組
1213 表示文件大小(字節)
Aug 9 09:39 表示最後修改日期
abc 表示文件名
改變權限的命令
chmod 改變文件或目錄的權限
chmod 755 abc:賦予abc權限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用戶權限,g=組權限,o=不同組其他用戶權限
chmod u-x,g+w abc:給abc去除用戶執行的權限,增加組寫的權限
chmod a+r abc:給所有用戶添加讀的權限
改變所有者(chown)和用戶組(chgrp)命令
chown xiaoming abc:改變abc的所有者為xiaoming
chgrp root abc:改變abc所屬的組為root
chown root ./abc:改變abc這個目錄的所有者是root
chown ‐R root ./abc:改變abc這個目錄及其下面所有的文件和目錄的所有者是root
改變用戶所在組
在添加用戶時,可以指定將該用戶添加到哪個組中,同樣用root的管理權限可以改變某個用戶所在的組
usermod ‐g 組名 用戶名
你可以用 usermod ‐d 目錄名 用戶名,改變該用戶登錄的初始目錄
linux分區詳解
硬盤的分區主要分為基本分區(Primary Portion)和擴展分區(Extension Portion)兩種。只是針對一個硬盤來講,基本分區和擴展分區的數目之和不能大於4個,且基本分區可以馬上被使用但不能再分區。擴展分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。那麽有擴展分區再分下去的是什麽呢?它就是邏輯分區(Logical Portion),而且邏輯分區沒有數量上限制
對windows用戶來說,有幾個分區就有幾個驅動器,並且每個分區都會獲得一個字母標識符,然後就可以選用這個字母來指定在這個分區上的文件和目錄。它們的文件結構都是獨立的,非常好理解。但對這些用戶初上手Linux,可就有點惱人了。因為對Linux用戶來說無論有幾個分區,分給哪一個目錄使用,它歸根結底就只有一個根目錄、一個獨立且唯一的文件結構。Linux中每個分區都是用來組成整個文件系統的一部分。因為它采用了一種叫“載入”的處理方法,它的整個文件系統中包含了一整套的文件和目錄,並將一個分區和一個目錄聯系起來。這時要載入的那個分區將使它的存儲空間在這個目錄下獲得。
下面介紹幾個重要的命令
掛載命令
mount [-parameters] [設備名稱] [掛載點]
卸載命令
umount [掛載點]
查看磁盤使用情況
df [-parameters]
df -h
df ‐l
df [目錄全路徑],查看某個目錄是在哪個分區
查看linux系統分區具體情況
fdisk ‐l
shell編程
其實作為命令語言互動式地解釋和執行用戶輸入的命令只是shell功能的一個方面。shell還可以用來進行程序設計。它提供了定義變量和參數的手段以及豐富的程序控制結構。使用shell編程類似於DOS中批處理文件,稱為shell script,又叫shell程序或shell命令文件。
shell腳本文件:
是一個文本文件
命令的集合
有執行的權限
執行方式(./文件名)
用export可以臨時加入一個系統路徑,如export PATH=$PATH HOME/bin:/root/test/t1,輸出環境PATH,引用原來的值$PATH,$HOME表示工作主目錄,:是路徑分隔符
shell通配符
*代表多個字母或數字
?代表一個字母或數字
【案例】ls a* ls a? ls f080[1-6].tif
轉義字符\
【案例】ls /mnt/win1/My\Documents
單引號:不處理任何變量和命令
【案例】echo ‘Welcome $NAME, the date is date ’
雙引號:處理變量但不處理命令
【案例】echo “Welcome $NAME, the date is date “
反引號:把引號中的每個單詞作為一個命令,如果是變量則先求值然後作為一個命令處理
【案例】echo “Welcome $NAME, the date is `date` “
查閱歷史記錄
history,查看使用過的命令的歷史記錄
history 5,此項說明會顯示最近使用的5個命令
!5,此項說明執行歷史編號為5的命令
!ls,此項說明執行最後一次以“ls”開頭的命令
linux基礎總結