Linux使用詳解,10分鍾帶你玩轉Linux基礎操作


歡迎前往CSND查看,我的博客原文https://blog.csdn.net/smilehappiness/article/details/105176667

@

Linux使用總結

1.Linux介紹

  • 摘自-百度百科
    Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲於1991年第一次釋出,它主要受到Minix和Unix思想的啟發,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。Linux有上百種不同的發行版,如基於社區開發的debian、archlinux,和基於商業開發的Red Hat Enterprise Linux、SUSE、oracle linux等。
  • 歷史背景
    Linux內核kernel最初是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的,在1991年10月5日第一次正式向外公布;
    在linux發布之前,有一種操作系統叫unix,由於價格昂貴不開放源碼,所以李納斯·托瓦茲(Linus Torvalds)決心要開發自己免費的操作系統,Linux借鑒了unix的思想,但沒有一行unix的代碼,linux系統是從unix系統發展出來的;
    Linux 英文解釋為Linux is not Unix,現在業界有一種說法叫:類Unix
  • Linux構成
    Linux是由Linux Kernel+軟件包構成;
  • 發行版本
    Linux的發行版就是將Linux內核與應用軟件做一個打包。
    目前市面上比較知名的Linux發行版有:
    RedHat、CentOS、Ubuntu、Fedora、Debian、Aliyun Linux、SUSE Linux、Open SUSE、CoreOS、FreeBSD等;
    一般來講Web應用都選擇CentOS,像Java、PHP等都是CentOS操作系統;ASP、.NET、SQL Server微軟的一系列組件選擇Windows Server操作系統;

2.Linux常用遠程連接工具

建議童鞋們買個服務器,阿里雲、華為雲都可以,Linux使用必須多練習,才能達到熟練掌握。

  • 遠程連接工具

SecureCRT
官網下載:https://www.vandyke.com

XShell
官網下載:https://www.netsarang.com/zh/xshell/
Putty
下載鏈接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

XFTP
下載鏈接:https://www.netsarang.com/zh/xftp/
WinSCP
下載鏈接:https://winscp.net/eng/download.php

以上幾個遠程連接工具簡單說明一下:
SecureCRT這個工具可以直接連接並且上傳文件,當然,如果上傳文件到服務器,建議使用XFTP或者WinSCP,速度會快一些。
XShell和Putty,使用哪個都行,可以連接遠程Linux服務器。

推薦使用:Xshell + WinSCP組合

3.Linux常用命令總結

3.1 Linux特色目錄

. .. - ~
一個點是表示當前目錄,兩個點是表示上一級目錄,一個橫杠表示上一個工作目錄,比如你cd -就返回到上一個工作目錄,~表示用戶的根目錄(/root);

3.2 磁盤管理

cd 目錄進入某個目錄
cd /info/a 進入多個目錄
cd 該命令可以切換目錄
在這里插入圖片描述
pwd 顯示當前目錄
cd .. 返回上一級目錄
cd / 返回根目錄
fdisk -l 查看新的分區

ll 縱向列出當前目錄下目錄及文件
ll -a 可以額外展示隱藏的目錄和文件
ls 橫向列出當前目錄下目錄及文件
ls -a 可以額外展示隱藏的目錄和文件
ll 和 ls命令區別:ll縱向展示目錄和文件,並且展示目錄的組、擁有者和權限,而ls僅僅橫向展示目錄和文件
ll -h 可以列出目錄以及目錄的大小
dir 列出當前目錄下的目錄及文件

df 查看系統磁盤空間使用情況,df命令可以查看一級文件夾大小、使用比例、檔案系統及其掛入點,但對文件卻無能為力
df -h 查看系統磁盤空間使用情況,參數-h 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式,使得看起來更直觀
在這里插入圖片描述
上面的命令輸出的第一個字段(Filesystem)及最后一個字段(Mounted on)分別是檔案系統及其掛入點。我們可以看到 /dev/sda1 這個分割區被掛在根目錄下。接下來的四個字段 Size、Used、Avail、及 Use% 分別是該分割區的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,當硬盤容量已滿時,您可能會看到已使用的百分比超過 100%,因為 FreeBSD 會留一些空間給 root,讓 root 在檔案系統滿時,還是可以寫東西到該檔案系統中,以進行管理。
df -T 可以用來查看分區的文件系統

du 查看文件和目錄的磁盤空間使用情況,du可以查看文件及文件夾的大小
在這里插入圖片描述
du -h 查看文件和目錄的磁盤空間使用情況
在這里插入圖片描述

3.3 文件管理

  • mkdir 創建目錄(文件夾)
  • mkdir -p file1/file2 遞歸創建多個目錄
  • mkdir -v file4 創建新目錄都顯示創建信息
  • mkdir -vp {hello/,maven/} 一個命令創建多個目錄結構

    參數解釋:
    -p, --parents 可以是一個路徑名稱。
    此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄
    -v, --verbose 每次創建新目錄都顯示信息
    在這里插入圖片描述

  • touch 創建空文件或將文件的最后修改時間改為當前時間
  • rm -f 刪除文件或目錄
  • rm -rf 遞歸刪除目錄以及目錄包含的所有文件
  • mv 文件(夾) 重命名或者將文件(夾)移動到指定目錄
    命令格式: mv [參數] 源文件或目錄 目標文件或目錄

    參數說明:
    -b :若需覆蓋文件,則覆蓋前先行備份。
    -f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
    -i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
    -u :若目標文件已經存在,且 source 比較新,才會更新(update)
    -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在后。
    -v:顯示過程

  • cat 文件名 將整個文件內容輸出到控制台
  • more 文件名 逐屏輸出(按空白鍵space就往下一頁)
  • less 文件名 逐屏輸出(按PgUp、PgDn上下翻頁),到結束的時候退出按 q
  • head 文件名 顯示頭10行
  • tail 文件名 顯示末尾10行
  • cp 文件復制
  • cp -rf 遞歸復制目錄
  • find 查找文件,比如:find ./ -name 文件名稱
    在這里插入圖片描述
  • find ./ -mtime +5 查找5天前修改過的文件
  • which 在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果,這條命令主要是用來查找系統 PATH目錄下 的可執行文件。說白了就是查找那些我們已經安裝好的可以直接執行的命令。比如which mkdir
  • whereis 查找文件,主要用於程序名的搜索,而且只搜索二進制文件(參數-b)man說明文件(參數-m)源代碼文件(參數-s),如果省略參數,則返回所有信息。

3.4 系統設置

  • ps -aux 查看系統進程

  • ps -ef 查看系統進程

  • kill pid 殺掉進程

  • kill -9 pid 強制殺掉進程

  • date 顯示或設置系統日期和時間

  • echo $LANG 顯示當前語言環境

  • locale 查看是否有中文語言包,如有zh cn表示已經安裝了中文語言包

  • uname 查看系統信息

  • cat /etc/centos-release 查看當前centos版本(CentOS Linux release 7.6.1810 (Core))

  • who 顯示當前已登錄的用戶信息

  • whoami 當前登錄的是那個用戶

  • su 用戶名 切換用戶

  • shutdown –h now 關機

  • reboot 重啟

  • clear 清除屏幕,實際上內容並沒有清除,是移到最上面

  • Tab 可以自動補齊命令或者文件名

  • top 查看系統運行負載情況,Linux系統可以通過top命令查看系統的CPU內存運行時間交換分區執行的線程等信息。通過top命令可以有效的發現系統的缺陷出在哪里。是內存不夠、CPU處理能力不夠、IO讀寫過高。 詳細介紹可以參考我另一篇博文
    在這里插入圖片描述

  • uptime 系統運行負載情況,這個相當於top第一行看到的信息
    系統平均負載定義:在特定時間間隔內運行隊列中的平均進程數。
    如果一個進程滿足以下條件則其就會位於運行隊列中:
    a、它沒有在等待I/O操作的結果
    b、它沒有主動進入等待狀態(也就是沒有調用'wait')
    c、沒有被停止(例如:等待終止)

    一般來說,每個CPU內核當前活動進程數不大於3,則系統運行表現良好!當然這里說的是每個cpu內 核,也就是如果你的主機是四核cpu的話,那么只要uptime最后輸出的一串字符數值小於12即表示系統負載不是很嚴重.當然如果達到20,那就表示當前系統負載非常嚴重,估計打開執行web腳本非常緩慢

  • free 顯示內存的使用情況 (kb)

  • free -m 顯示內存的使用情況 (m)

  • free -h 顯示內存的使用情況 (G)

3.5 Linux下的定時任務

Linux crontab 命令詳細使用,可參考我另一篇博文。

crontab -e 創建或者編輯crontab
crontab -l 查看crontab
crontab -r 刪除crontab,注意,這個命令會刪除所有的任務,一般不會使用

crontab使用舉例
*/1 * * * * echo "hello world" >> /opt/crontab.log

> 重定向覆蓋輸出,比如 > abc.txt
>> 重定向輸出追加,比如 >>abc.txt
| 這個豎線表示管道符號,用於把管道左邊的輸出作為右邊的輸入,如常見的ps -ef | grep tomcat
> a.log 清空日志

重定向這塊,可以參考博文:https://blog.csdn.net/smilehappiness/article/details/105181739

3.6 用戶管理

這里不做詳細介紹,具體的可以參考鏈接:https://www.runoob.com/linux/linux-user-manage.html

我只列幾個常用的命令:

  • 用戶操作
    useradd 用戶名 添加用戶
    userdel -r zhangsan 刪除用戶(userdel 常用的選項是 -r,它的作用是把用戶的主目錄一起刪除)
    passwd 修改用戶密碼,修改當前登錄用戶密碼passwd
    passwd zhangsan 修改指定用戶zhangsan密碼,這個只有root有該權限
    id 用戶名 可以獲取用戶的id等信息,如:uid=1001(用戶名) gid=1002(test) groups=1002(test)

  • 用戶組操作
    cat /etc/passwd 查看系統中的所有用戶
    cat /etc/group 查看系統中的所有用戶組
    groupadd 組名 創建用戶組
    groupdel 組名 刪除用戶組
    groups 查看當前用戶所在組
    groups 用戶名 查看指定用戶所在組
    usermod -g 組名(A) 用戶名(B) 給已有的用戶增加工作組,將用戶B加入組A(該命令用於修改用戶的基本信息)或者使用命令:gpasswd -a 用戶名 組名
    gpasswd -d user group 將一個用戶從某個組中刪除,注意:需要保證 group 不是 user 的主組

3.7 文件權限

  • 文件權限總結介紹
    使用ll命令,可以查看當前目錄下,所有目錄和文件的用戶、組以及權限等信息
    在這里插入圖片描述
    在Linux常見的文件類型有7種,如下圖所示:
    在這里插入圖片描述
    文件類型和權限
    -rw-rw-rw -表示文件
    drw-rw-rw d表示目錄文件夾
    srw-rw-rw s表示socket套接字文件
    brw-rw-rw b表示Block device塊設備
    crw-rw-rw c表示Character Device字符設備

    文件的權限只有3種:r,讀權限;w,寫權限;x,執行權限。權限的值可以用數字表示分別為,r:4,w:2,x:1
    r--read 表示讀權限,對應的值為4
    w--write 表示寫權限,對應的值為2
    x--execute 表示可執行權限,對應的值為1
    rwx=7表示擁有所有的讀、寫、可執行權限
    常見644、755、777三種權限

  • drwxr-xr-x詳細介紹:

第1個字母:代表文件類型
第2~4字母:代表用戶的權限,這三個字母對應的為屬主位,表示創建該文件者或被指定的文件所屬者
第5~7字母:代表用戶組的權限,這三個字母對應的為屬組位,表示文件的所屬組,在該組內的非屬主用戶對該文件擁有該屬組權限
第8~10字母:代表其他的用戶的權限,既不屬於屬主又不在屬組的用戶

>文件中rwx的具體含義:
r:可以使用類似cat等命令查看文件內容
w:可以編輯或刪除此文件
x:可以在命令提示符下當做命令提交給內核運行

>目錄中rwx的具體含義:
r:可以對此目錄執行ls以列出內部的所有文件
w:可以在此目錄創建文件
x:可以使用cd切換進此目錄,也可以使用ls -l查看內部文件的詳細信息
  • 設置文件的讀寫執行權限
    chmod 640 aa.txt
    -R 遞歸,將設置的權限應用到目錄以及目錄下面的所有文件,如:chmod -R 755 /usr/local

  • 修改文件所屬用戶
    chown centos aa.txt
    -R 遞歸修改文件及其下的子文件的所屬用戶
    chown -R centos /usr/local

  • 修改文件所屬組
    chgrp centos aa.txt
    -R 遞歸修改文件及其下的子文件的所屬組
    chgrp -R centos /usr/localhost

  • 一次性修改屬主和屬組
    chown [OWNER]:[GROUP]] FILE
    chown centos:centos aa.txt
    chown -R centos:centos /usr/local

  • 查看用戶所在組
    groups

3.8 文檔處理

grep 對文本進行匹配,搜索,如:ps -ef | grep tomcat
sort 排序,如:cat aa.log | sort
uniq 去除相鄰重復的行,如:cat aa.txt| sort | uniq
wc 依次輸出 行數、單詞數、字符數,如:cat aa.txt| wc

日志打印輸出、日志內容查找
grep -A 100 'Exception' catalina.out 匹配關鍵詞的后面100行 after
grep -B 100 'Exception' catalina.out 匹配關鍵詞的前面100行 befer
grep -C 100 'Exception' catalina.out 匹配關鍵詞的上下100行 center
或者
cat catalina.out | grep -C 100 'Exception'
cat catalina.out | grep -A 100 'Exception'
cat catalina.out | grep -B 100 'Exception'

tail -f catalina.out實時查看日志文件
tail -100f catalina.out實時查看日志文件末尾一百行
tail -f -n 100 catalina.out 實時查看日志末尾100行

3.9 網絡通訊

curl
抓取網絡文件內容,比如網頁
wget 網絡下載
yes、y 對linux命令執行后的接受、肯定、是、確認,如果不接受、不確認、否定 就輸入 no 或者 n
ifconfig 查看系統IP
curl ipinfo.io/ip或者curl ifconfig.me 查看外網ip
ping 測試某個地址是否可以連通
lsof -i 端口號 用於查看某一端口的占用情況,比如查看8000端口使用情況,lsof -i 8000,如果不存在的話,安裝:yum -y install lsof
netstat 查看所有網絡端口,如:netstat -nlp
netstat -tunlp | grep 端口號,用於查看指定的端口號的進程情況,如查看8000端口的情況,netstat -tunlp | grep 8000

netstat 相關參數說明:
-t (tcp) 僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化為數字
-l 僅列出在Listen(監聽)的服務狀態
-p 顯示建立相關鏈接的程序名

3.10 備份壓縮

  • tar 壓縮與解壓縮
    解壓
    tar -zxvf xxx.tar.gz
    tar -zxvf xxx.tar.gz -C /usr/local (可以通過-C執行把文件解壓到哪里去)
    tar -xvf xxx.tar
    壓縮:
    tar -zcvf xxx.tar.gz ./file/*
    tar -cvf xxx.tar ./file/*

  • zip 壓縮與解壓縮
    zip a.zip a.txt 壓縮為zip格式
    unzip a.zip 解壓zip格式的壓縮包

  • Windows里面:rar zip
    壓縮文件類型:tar tar.gz tar.bz2 tar.xz,他們依次壓縮得越厲害,壓縮速度當然就越來越慢
    解壓都可以使用:tar -xvf

    壓縮(記住他們是z j J):
    -zcvf file.tar.gz filenameOrDir 這個壓縮成tar.gz格式
    -jcvf file.tar.gz filenameOrDir 壓縮成tar.bz2格式
    -Jcvf file.tar.gz filenameOrDir 壓縮成tar.xz格式

3.11 Linux上rz和sz的使用

小文件同步到Linux服務器上,有時候不需要使用XFTP或者WinSCP等,可以使用rz和sz操作。

安裝:yum -y install lrzsz
rz 上傳文件
sz下載文件

本文參考鏈接:菜鳥教程

寫博客是為了記住自己容易忘記的東西,另外也是對自己工作的總結,希望盡自己的努力,做到更好,大家一起努力進步!
如果有什么問題,歡迎大家一起探討,代碼如有問題,歡迎各位大神指正!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM