Linux 基礎課程筆記

Linux系統安裝
1.1磁盤分區
/ 根分區

/boot 系統啓動分區
ps:建議將/boot分區分出,有利於系統奔潰後的排錯

swap 分區 將硬盤的空間模擬成內存空間,提供給計算機使用

     ps:分區大小建議內存爲4G,swap分區爲2G
                     內存爲4G-16G,swap分區爲4G
                     內存爲16G-64G,swap分區爲16G

/home 分區

/var 分區 用於存放日誌(如果有需要)

1.2 kdump (kernel dump)
主要功能是用於防止內核crash ,開啓後內存會默認少128MB
一般運維人員可以關閉這個功能

  1. Linux 使用基礎
    2.1 Linux系統登錄
    2.1.1 圖形界面登錄
    如果登錄方式爲圖形界面 Ctrl+Alt+F2-F6 切換到命令行中,Ctrl+Alt+F1 切回到圖形界面

    init 3 純字符界面,並未運行圖形界面的應用程序
    2.1.2 字符界面登錄
    startx ,開始啓用圖形界面程序

    如果登錄式爲字符界面Ctrl+Alt+F7 圖形界面,Ctrl+Alt+F1-F6 字符界面

2.2 home 目錄
每一個用戶都會在home目錄下生成一個該用戶用戶名的文件夾,用於存放該用戶文件
useradd user1 就會在生成/home/user1

2.3 添加新用戶,添加密碼,修改密碼,刪除用戶
useradd admin 添加用戶

passwd admin XXXX 用戶添加密碼

在本用戶登錄的狀態下 passwd XXXX 修改該用戶密碼

userdel -r admin 刪除用戶

  建議不要使用root用戶登錄,使用普通用戶登錄。

2.4 更改用戶身份
2.4.1 命令提示符由組成
  [\u@\h \w]# u=用戶變量,h=主機名,w=所在目錄
  [root@localhost home]#

2.4.2 切換用戶身份
  su - user1
  
ps: su user1和 su - user1 不同

2.4.3 查看用戶的信息
   id

ps:用戶的身份之間不要切來切去,如果要切的話建議
su - admin  exit
su - root     exit
su - user1   exit

2.5 使用Tab 鍵補齊命令
儘可能多的使用Tab鍵,來保證效率和準確性
2.6 查看歷史記錄,history命令
有一個.bash_history 用來記錄歷史記錄,所以重啓後用戶依然可以看見歷史記錄

 使用歷史記錄將參數補齊 Alt+.

vim文本編輯器
3.1 vi和vim的區別
vim是vi的升級版,具備vi所有功能
vi 字體是黑色的
vim 文件有顏色,支持語法檢測。如果語法有問題,顏色會變成紅色
3.2 vim 的三種種模式,命令模式,插入模式和末行模式

 3.2.1命令模式

 d,刪除一個字符,按u還原一個字符

 G    文件中跳到最後一行

 dd   刪除整行,使用u還原整行
 ps:dd有兩個作用如果你粘貼就是剪切,如果你不粘貼就是刪除

 p                             粘貼到當前行的下面

 P                             粘貼到當前行的上面

 y y進行復制,粘貼使用p/P

 3.2.2 插入模式
  i (insert模式)              要修改內容

   3.2.3 末行模式
set nu 查看文本中行數

   Esc                          回到命令模式 

   :wq!/q! 保存退出/不保退出

  1. man幫助
    4.1命令的組成
    SYNOPSIS
    ls [OPTION]... [FILE]...
    ls -l /etc/ ls爲命令 -l爲選項 /etc/ 參數
    選項是帶- 參數是不帶-

    ls --help 代表後面是一個整體不可以拆分

    ls -la ls -l -a 多個選項可以寫在一起,也可以分開寫

    ls -l ; cp /etc/passwd /tmp 使用;將兩個命令在一跳命令中實現

    (cal 2007 ; cal 2008 )>cal.txt 輸出重定向

4.2 語法規則
4.2.1 date: 用於顯示時間和日期
  date --help
man date
4.2.2 date語法結構
date [OPTION]... [+FORMAT]

  OPTION 後面有...代表可以跟多個選項
  FORMAT 後面沒有...,只有添加一個FORMAT

     date +%Y-%m-%d%H:%M:%S
     date +'%Y-%m-%d %H:%M%S' 

     date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]  修改date日期

   4.2.3 cal 語法結構
        cal [-smjy13] [[[day] month] year]

4.3 man 文檔
q 退出
/ -q 用於查找-q
n 往下找
  N 往上找

5 文件系統管理
5.1 文件系統的結構
windows中每一個分區是一棵獨立的數,互相不會有影響
Linux 所有的一切都從根開始

文件系統結構

/
/root
/home/username
/bin ,/user/bin,/user/local/bin 用戶可執行命令
/sbin,/usr/sbin,/usr/local/sbin 管理員可執行的命令
/media ,/mnt 掛載點
/etc 配置目錄
/tmp 臨時文件
PS:可以刪除tmp下的所有文件但最好不要刪除/tmp文件
/boot 啓動目錄和引導程序
/var, /srv 存放服務數據
/proc, /sys 系統啓動過程中和內存有關
/dev 所有的設備都在/dev下
/dev/sda1
/dev/sda2
  PS:s:scsi類型的設備 d:disk a:第幾塊硬盤 1/2 :分區

inux下面沒有註冊表,所以linux沒有擴展名的概念
所有的文件名嚴格區分大小寫
所有的命令嚴格區分大小寫

5.2 文件系統管理
5.2.1 相對路徑 絕對路徑
絕對路徑是一切從根開始
  cp /etc/passwd /data/ 絕對路徑的寫法

相對路徑是從當前的位置做爲起點
  cp ../etc/passwd . 相對路徑的寫法

.當前目錄 ..上級目錄

cd (Changing Directories) 進入目錄
cd .. 回到上一層目錄cd - 回到上一次的目錄
cd /etc/yum 從根目錄下/etc/yum目錄
cd etc 從當前目錄進入etc目錄

ls 查看當前目錄下的文件
cd 目錄名

5.2.2 文件管理命令
pwd ls touch cp mv rm stat

pwd 查看當前的工作目錄

ls 列出目錄下的內容

ls  -a                      顯示目錄下的所有文件,所有隱藏文件都會被顯示出來                                PS: 刪除文件時,隱藏文件不會被刪除

  ls -l 列出文件的詳細信息
  PS:藍色代表文件夾,黑色代表普通文件,綠色代表可執行文件,淡藍色代表快捷方式,紅色黃色代表具有特殊權限

touch 創建文件
touch text.txt

cp source destination 拷貝

cp /root/cal.txt /tmp/ 拷貝單個文件
cp /root/cal.txt /root/inital.setup-ks.cfg /tmp/ 拷貝多個文件

cp -r /etc/ /tmp/ 拷貝文件夾時,使用遞歸拷貝,目錄下所有子文件一併拷貝過去

cp -p cal.txt /tmp/ 拷貝文件時不修改原文件用戶權限

cp -rp cal.txt /tmp 拷貝文件夾又可以保留權限

mv 剪切文件還可以改名
mv /etc/ /data/

rm 刪除文件
rm -rf etc/ 遞歸刪除當前目錄下,etc下的所有文件

stat 查看文件時間戳

5.2.3 目錄管理命令
mkdir rmdir

mkdir 創建文件夾
mkdir redhat

rmdir 刪除文件

5.2.4 看文本命令
cat、tac、more、less、head、tail

cat 連接並顯示,將文本文件的內容完全顯示出來
cat -n 顯示時對每一行進行編號

tac 反過來顯示文本文件

more、less 分屏顯示命令

more                            支持向後翻,不支持向前翻

less                                支持向前翻,按q纔會退出

head 查看文件的前n行(n默認爲10)
   head -n 1 /etc/initab 查看前一行
head -n 2 /etc/initab 查看前兩行

tail 查看文件的後n行
tail -n 5 /etc/initab

  1. 用戶組權限
    6.1 用戶
    用戶:每創建一個用戶就會爲其創建一個唯一的user ID (UID)
    UID 0 爲root
    UID RH7從1000開始分配 RH6從500開始分配
       PID 進程號

    #useradd -u 1003 zhangsan 指定用戶的UID
      系統只認識數字,而人是通過文件名或者系統名來識別的
    系統識別一個用戶是通過UID來識別,而人是通過用戶名來識別

6.1.1 用戶信息存放在 /etc/passwd

cat /etc/passwd |grep admin
admin:x:501:501::/home/admin:/bin/bash  
    admin                      代表用戶名
    x                          代表是否需要身份驗證
    501:501                    UID GID 
    /home/admin                用戶家目錄
    /bin/bash                   shell,解釋語言

6.2 用戶組
用戶組: 將用戶添加到組中,對組添加對應的權限 (GID)
  

6.2.1 用戶組的信息存放 /etc/group
cat /etc/group |grep users
  admin:x:501:user
admin 代表組名
x 代表是否需要身份驗證
501 代表GID
user 組裏面有哪些成員

6.3 創建用戶和用戶組
6.3.1 創建用戶
  useradd user1 創建過程
  創建user1用戶
  2.創建user1的/home/user1
  3.創建user1組
  4.將user1用戶加入user1組中

6.3.2 修改用戶組
  usermod -aG admin user1 將user1 加入到了admin這個組中,並且保留原來組

Id user 查看添加的組
  
6.3.3 創建用戶組
  groupadd user2
  
6.3.4 刪除用戶組
  groupdel user2
  
6.3.5 修改用戶組
  groupmod -g 修改GID
   -n 修改用戶組名
  
6.4 如何查看和設置文件權限
  每一個文件應該擁有一個UID 和GID
每一個進程也應該擁有一個UID和GIDs

6.4.1 Linux 將訪問文件的用戶分爲三類
文件屬主(user) u
文件屬組(group) g
其他用戶(other) o

6.4.2 普通文件和目錄文件權限
ls -l /etc/passwd
-rw-r--r--. 1 root root 1463 Jul 10 17:10 /etc/passwd
dr-xr-xr-x. 5 root root 1024 Jun 28 14:18 boot

  • 代表普通文件
    r :代表有讀該文件內容
    w:代表有修改該文件內容內容
    x:可以執行該文件

d 代表目錄文件
r:代表可以ls 列出目錄中的內容
w:可以在該文件夾中創建和刪除文件
x:執行權限,cd進入該目錄
PS:對於目錄文件來說r-x是在一起的,單獨沒有意義

6.4.3 改變文件屬主
chown :change owner 修改文件的擁有人

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown user1 group

chown user1 /data/ 只修改文件本身
chown -R user1 /data/ 遞歸修改

chown zhangsan:user2 /data 一併把擁有人和擁有組

6.4.4 改變文件屬組
chgrp : change group 修改文件擁有組

chgrp [OPTION]... GROUP FILE...
chgrp admin /data/

6.4.5 chmod 修改文件的讀寫執行權限
chmod: change mode 修改文件權限

6.4.5.1 修改某類用戶某位或某些位權限
u,g,o,a
chmod 用戶類別+|- MODE file...

chmod u-w /data/
chmod ugo-w /data/
chmod ugo-rx /data/
chmod ugo+r /data/
chmod -R ugo-x /data/

6.5.5.2 修改某類用戶或者某些類用戶的權限
u,g,o,a
chmod 用戶類別=MODE file,...

chmod u=rwx /tmp/abc
chmod g=rwx /tmp/abcbn
chmod g=r,o=r /tmp/abc
chmode go=wrx /tmp/abc

6.4.5.3 修改三類用戶的權限
用數字來代表不同的權限
r:4
w:2
x:1

chmod MODE file,...
-R
chmod 755 /data/
7:擁有人的權限
5:擁有組的權限
5:其他人的權限

alias 別名
alias ll=‘ls-l --color=auto’

  1. 標準I/O和管道
    7.1 三種標準I/O
    標準輸入:默認鍵盤輸入

    標準輸出:默認顯示器輸出

    標準錯誤輸出:默認顯示器輸出
    7.2 輸出重定向
    當我們想將標準輸出或者標準錯誤倒給另外一個文件 ,這時我們就需要輸出重定向
      命令格式:command operator filename 命令 操作符 文件名

:正確的輸出重定向 find /etc/ -name passwd >find.out

2> :錯誤的輸出重定向 find /etc/ -name passwd 2>find.err

&> :所有輸出重定向 find /etc/ -name passwd &>find.all

find /etc/ -name passwd >find.out 2>find.err

echo hello
echo hello > find.out
當我們進行輸出重定向時,默認會將原文件覆蓋
7.3 追加重定向

> :追加 如果目標文件中已經有內容我們使用追加,將新內容添加到目標文件最後,原內容不變

2>>:錯誤追加

&>>:全部追加

7.4 管道符
我們希望將一個命令的結果輸出給另一個命令,我們使用管道

command1 |command2:將command1 執行的結果作爲command2的輸入

7.5 grep 過濾

grep 'user1' /etc/passwd
'關鍵字'
cat /etc/passwed |grep user1

cat /etc/passwed |grep -w user1 完全匹配關鍵字

cat /etc/passwed |grep -i user1 忽略大小寫

cat /etc/passwed |grep -v user1 反向選擇

rpm -qa |grep ftp

軟件包的安裝、卸載、升級、查詢

9.1 RPM包的格式和
mount /dev/cdrom /media/ 將光驅掛載到media目錄下

RPM包的格式: zsh-4.3.11-4.el6.x86_64.rpm

rpm file /package
version 版本
release 發行版
arch 操作系統內核版本,32/64
rpm 擴展名
uname -r 查看操作系統內核版本

1.軟件包的安裝 install /upgrade
rpm -i | -U rpmfile
rpm -i vsftpd-3.0.2-9.el7.x86_64.rpm i代表安裝
rpm -ivh ivh 這個安裝的進度

  1. 軟件包卸載
    rpm -e pakage e代表卸載
    刪除rpm包時,系統會自動幫你保存一份配置文件
    如果重新安裝該文件後,將備份文件重定向到配置中文件中

  2. 重新安裝rpm包
    rpm -ivh rpmfile --force

  3. 將軟件包降級 --oldpackage

5.忽略軟件包之間的衝突 --replacefile

6.忽略包的依賴性關係 --nodeps

7.軟件包的查詢
rpm -q vsftp/httpd
-q 必須要知道軟件包完整的名字,不可以模糊

rpm -qa 查詢系統中所有的軟件包
rpm -qa |vsft

查詢軟件包文件列表
rpm -ql vsftpd

查看軟件包配置文件
rpm -qc vsftp

rpm -qf
5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章