Linux筆記

Linux筆記

基于 CentOS7.4

  • 1.分區
  • 2.基礎
  • 3.文件權限
  • 4.常用命令
  • 5.shell快捷鍵

分區:

關鍵字:主分區,擴展分區,邏輯分區,掛載點,swap,hda1

  • 主分區:
    linux可以有1-3個主分區

  • 擴展分區:
    linux可以有1個擴展分區

  • 邏輯分區:
    linux可以有若干個邏輯分區,邏輯分區都屬于擴展分區

  • 掛載點:
    類似于windows的盤符, / /boot 都可以設置為掛載點

  • swap:
    虛擬內存區,一般設置為真實內存1-2倍

  • hda1:
    hd指硬盤,a指第一塊硬盤,1指第一個分區(hdc2表示第3塊硬盤的第2個分區,分區文件可在/dev 文件下查看)

  • 注意:
    linux分區大致為3(主分區)+[1(擴展分區)+n(邏輯分區,邏輯分區都在擴展分區中)],擴展分區的分區號從5開始

  • 分區建議:
    / 根目錄(必須)
    /boot 系統安裝目錄(建議單獨分區)
    swap 虛擬內存(必須,真實內存1-2倍)

基礎:

  • [root@localhost ~]#

    • root 用戶名
    • localhost 主機名
    • ~ 當前目錄名
    • # 超級用戶
    • $ 普通用戶
    • 超級用戶默認進入在 /root 文件
    • 普通用戶默認進入在 /home/用戶名 文件
  • 文件目錄

    • /bin /sbin /usr/bin /usr/sbin 都是用來保存系統命令的(bin下的命令所有用戶都可以執行 sbin下的命令只有超級用戶才能執行)
    • /dev 設備目錄
    • /etc 系統默認配置文件
    • /home 普通用戶家目錄
    • /root 超級用戶家目錄
    • /lib linux函數庫保存目錄
    • /mut 掛在外接設備目錄(如U盤光盤之類)
    • /proc /sys 保存內存掛載點不能直接操作
    • /tmp 臨時目錄
    • /usr 系統資源保存目錄
    • /var 系統可見文檔目錄

文件權限:

  • -rwx---------.

第一位代表文件類型(-文件 d目錄 l軟鏈接文件)
后面的每3位代表的一組(rwx分別代表:讀,寫,執行):第一組所有者權限;第二組所屬組權限;第三組其他用戶權限。
.代表ACL權限(centos6以后才有)

  • linux中點開頭的文件是隱藏文件

常用命令:

命令 [選項](-ad等于--all) [參數]

  • ls 查看目錄文件
    ls -l           顯示目錄下詳細信息
    ls -a           顯示目錄下全部信息包括隱藏文件
    ls -h           顯示目錄下人性化顯示
    ls -d           顯示當前目錄詳細信息
    ls -i           顯示目錄下文件inode(文件id號)
    
  • vi 編輯
    vi /jianghe/test.conf        #編輯test.conf 
    
    • i編輯
    • :wq保存并退出
    • :q退出
    • 如果是用ctrl+z終止編輯下次編輯該文件需要先刪除.swp文件
  • mkdir(make directory)創建目錄
    mkdir /jianghe              在/根目錄下創建jianghe目錄
    mkdir -p /jianghe/test      在/根目錄下遞歸創建jianghe/test目錄(多層目錄)
    
  • touch 創建空文件或改變文件系統時間
    touch ex2         在當前目錄下建立一個空文件ex2
    
  • cd(change directory)改變路徑
    cd /jianghe         跳轉到/jianghe
    cd -                進入上次目錄
    cd ~(直接cd)          進入當前用戶家牡目錄
    cd ..               進入上級目錄
    
  • pwd(print woring drectory)顯示當前目錄
  • cat 查看文件內容
    cat /jianghe/test.conf    查看相應路徑下的test.conf
    
  • rmdir (remove empty drectory) 刪除空目錄(用的極少)
  • rm (remove) 刪除
    rm -r /tem/                 刪除tem目錄(不加刪目錄會報錯)
    rm -f /tem/test.conf        強制test.conf文件(不需要確認)
    rm -rf /tem/                強制刪除tem目錄
    rm -rf /tem/*               強制刪除tem下的所有文件
    
  • cp(copy) 拷貝
    cp -r                           復制目錄(不加復制文件會報錯)
    cp -p                           復制帶文件屬性
    cp -d                           若文件是鏈接文件則復制連接屬性
    cp -a                           相當于 -pdr
    cp /tem/test /jianghe/dir1/     復制test文件到/jianghe/dir下
    cp /tem/test /jianghe/dir2      復制test文件到/jianghe下改名叫dir2
    
  • ll (等于ls -l) 目錄下詳細信息
  • mv(move)剪切或改名(源文件和目標文件在同一個目錄下是改名 源文件和目標文件不在同一個目錄下是剪切)
    mv jianghe/dir1/ jianghe/dir2/      將jianghe/dir1/文件剪切到jianghe/dir2/目錄下
    mv zhangsan lisi                    將zhangsan文件改名為lisi
    
  • ln(link)鏈接(原文件路徑必須使用絕對路徑)
    ln -s                       建立軟連接
    ln -s /root/test /jianghe/dir1/test.soft    在/jianghe/dir1/下建立一個test.soft軟連接指向/root/test文件
    ln /root/test /jianghe/dir1/test.hard       在/jianghe/dir1/下建立一個test.hard硬和/root/test文件擁有相同的inode和存儲block(/root和/jianghe在同一個分區下)
    
    • 硬鏈接:同一個分區上擁有相同inode和相同存儲block的稱為硬鏈接(2硬鏈接指向是同一個存儲空間,因為指向的是同一個存儲空間所以不能跨分區設置,其次硬鏈接不能針對目錄設置)
    • 軟鏈接:軟連接擁有自己的inode和block,軟連接文件權限第一位以l開頭,軟連接中只保存了源文件的inode和文件名(軟連接好比windows中的快捷方式或者是C中的保存指針的變量)
  • locate 定位,搜索 模糊匹配(只能按照文件名搜索,centos7最小安裝默認沒有該命令可用yum install mlocate安裝,然后updatedb)
    locate test        搜索文件名中包含test的文件
    
    • 原理:去/var/lib/mlocate數據庫中搜索,并不是便利整個系統文件,但是mlocate文件一天才更新有所以當天新建的文件無法搜索到,可以手動執行updatedb更新mlocate數據庫,這樣就可以實時搜索到新建文件。
  • whereis 搜索命令 搜索命令所在文件和幫助文檔
    whereis -b nginx        只查找nginx可執行文件
    whereis -m nginx        只查找nginx幫助文檔
    
  • which 搜索命令 搜索命令所在位置和別名
    which ll                搜索命令所在位置和別名(ll=ls -l --color=auto)
    
  • find [搜索范圍] [搜索條件]
    find / -name jianghe                在根下搜索文件名叫jianghe的文件 精確匹配,模糊查詢需要使用通配符(*任意字符 ?一個字符 []選擇中括號內一個字符進行匹配)
    find / -iname jianghe               不區分大小
    find / -user root                   按照所有者搜索
    find / -nouser root                 搜索沒有所有者的文件
    find / -mtime +10                   十天之前修改文件
    find / -mtime 10                    十天當天修改文件
    find / -mtime -10                   十天之內修改文件
    find / -size 25k                    等于25k的文件
    find / -size -25k                   小于25k的文件
    find / -size +25k                   大于25k的文件
    find / -inum 231232                 查找inode是231232的文件
    find / -name jh -exec rm -f {}\;    先查找根目錄下jh文件讓后刪除它
    
  • grep 搜索字符串
    grep -v "jianghe" /data/log/        在log下搜索不包含jianghe的所有行
    grep -i "jiangHe" /data/log/        在log下搜索包含jianghe的所有行(忽略大小寫)
    
  • man(manual) 幫助命令(查看命令的幫助文檔)
    man ls              查看ls幫助文檔             
    
  • zip 壓縮命令
    zip /tem/test /data/ziptest         將test壓縮到/data下名為ziptest
    zip /tem/path /data/ziptest         將path目錄壓縮成/data下名為ziptest
    
  • unzip 解壓縮壓縮命令
    unzip -n /tem/ziptest -d /data/file             將ziptest解壓到/data下名為file(重名不覆蓋)
    unzip -v test.zip                               查看壓縮文件但不解壓
    
  • gzip 壓縮成.gz格式
    gzip -c 源文件                         壓縮成.gz格式輸出壓縮文件(源文件會消失)
    gzip -c 源文件 > 壓縮文件               輸出壓縮文件(源文件不會消失)
    gzip -r 源目錄                         壓縮目錄
    
  • gunzip 解壓縮.gz格式
    gunzip -r 壓縮目錄          解壓縮目錄
    
  • tar 壓縮解壓
    tar -cvf 打包文件 源文件                        #打包命令
    tar -xvf 解打包文件                             #解打包命令
    tar -zcvf 壓縮文件 源文件1 源文件2               #壓縮成.tar.gz
    tar -zxvf 解壓文件                              #解壓.tar.gz
    tar -jcvf 壓縮文件 源文件1 源文件2               #壓縮成.tar.ba2
    tar -jxvf 解壓文件                              #解壓.tar.ba2
    
  • shutdown
    shutdown -h now             #關機
    shutdown -r                 #重啟
    shutdown -c                 #取消上一個命令
    
  • logout 退出當前用戶
  • mount(掛載命令)
    mount -a        #自動掛/etc/fstab配置文件的內容
    #掛載光驅
    mkdir /mnt/cdrom/                          #建立掛載點
    mount -t 文件系統 /dev/sr0 /mnt/cdrom/      #掛載光盤
    
  • umount(卸載命令)
    umount 設備文件名或掛載點
    
  • w jianghe 查看jianghe用戶信息
  • who 查看當前登錄用戶
  • last 查看系統登錄信息
  • alias 別名=‘原名’ 取別名
    alias gameover=‘shutdown -h now’        給shutdown -h now一個別名gameover
    
  • unalias 別名 刪別名
    unalias gameover         刪除gameover別名
    
  • service network restart 重啟網絡服務
  • firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效)永久打開80端口
  • firewall-cmd --zone=public --list-ports 查看所有打開的端口
  • firewall-cmd --reload 更新防火墻規則
  • systemctl stop firewalld.service 關閉防火墻服務
  • systemctl start firewalld.service 開啟防火墻服務
  • echo $PATH 查看環境變量
  • rpm -qa | grep vsftpd 查看是否安裝vsftpd
  • ps -ef | grep nginx 查看nginx進程
  • ps -ef | grep nginx 查看nginx進程
  • kill -9 [PID] 根據pid殺進程
  • groupadd dev 新建dev分組
  • chgrp -R dev /root 修改目錄所有組
  • useradd jianghe 新建jianghe用戶
  • passwd jianghe 設置jianghe用戶密碼
  • gpasswd -a jianghe dev 將jianghe用戶加入dev分組
  • chmod 775 /data 設置/data目錄權限為775也就是(drwxrwxr-x)

shell快捷鍵:

  • ctrl+l 清屏
  • tab 補全
  • 2下tab 顯示文件列表
  • ctrl+u 清行
  • ctrl+a 行頭
  • ctrl+e 行尾
  • ctrl+z 暫停當前進程(進程掛起)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。