Linux | Linux常用指令學習筆記


@


前言

由於項目需要用到一些Linux相關知識,故學習了一些Linux基本知識,如目錄結構與常用指令等;
資料來源:B站《2021韓順平 一周學會Linux》


1. Linux目錄結構:

Linux的目錄結構是核心內容之一,在Linux里,一切皆文件。

Linux目錄結構

目錄 說明
/root 【常用】超級管理員的主目錄;
/bin 【常用】Binary的縮寫,存放最經常使用的命令;
/sbin s是Super User的縮寫,存放系統管理員使用的系統管理程序;
/boot 【常用】存放Linux啟動時的一些核心文件,包括連接文件與鏡像文件;
/dev 類似windows的設備管理器,把硬件用文件方式儲存;
/etc 【常用】所有的系統管理所需要的配置文件和子目錄,如安裝mysql數據庫的my.conf;
/home 【常用】存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般目錄名為賬號名;
/var 【常用】存放不斷擴充的東西,習慣性將經常被修改的目錄放在這個目錄下,包括各種日志文件;
/lib 系統開機所需要最基本的動態連接共享庫,作用類似於Windows里的DLL文件。幾乎所有程序都要用到這些共享庫;
/usr 【常用】非常重要,用戶的應用程序與文件,類似於Windows下的program files目錄;
/media 【常用】Linux將識別的設備掛掛載在這個目錄下,如:U盤、光驅等;
/mnt 【常用】系統提供該目錄是為了讓用戶臨時掛載別的文件系統,可以將外部儲存掛載在/mnt/上;
/usr/local 【常用】另一個給主機額外安裝軟件所安裝的目錄。一般通過編譯源碼方式安裝的程序;
/lost+found 一般情況下是空的,當系統非法關機后,會存放一些文件;
/tmp 存放臨時文件;
/opt 給主機額外安裝軟件所存放的目錄,如安裝Oracle數據庫可以安裝在此。默認的為空;
/selinux SELinux是一種安全子系統,能控制程序只能訪問特定文件,有三種工作模式,可自行設置。
/proc 【不能動】虛擬目錄,系統內存的映射,訪問這個目錄來獲取系統信息;
/srv 【不能動】service的縮寫,存放一些服務啟動后需要提取的數據;
/sys 【不能動】Linux2.6內核變化,該目錄下安裝了2.6內核中新出現的文件系統sysfs;

2. 運行級別:

  • 0:關機;

  • 1:單用戶【找回丟失密碼】

  • 2:多用戶狀態沒有網絡服務(少用);

  • 3:多用戶有網絡狀態服務(經常用);

  • 4:系統未使用保留給用戶;

  • 5:圖形界面(常用);

  • 6:系統重啟;

init、systemctl

命令 說明
init 5 切換運行級別為5;
systemctl get-default 查看當前運行級別;
systemctl set-default TARGET.target 設置運行級別

TARGET:

在CentOS7后,在/etc/inittab文件中,進行了簡化:

multi-user.target :類似於3;

graphical.target:相當於5。


3. vim相關快捷鍵:

命令 說明
vim XXX 進入XXX文件 -> “一般模式”;
yy p 復制黏貼;
5yy p 賦值黏貼以下5行;
dd 刪除當前行;
u 撤銷;
gg 到首行;
G 到末行;
20 shift鍵+g 快速定位到20行;
i或a “一般模式”-> “編輯模式”;
ESC鍵 “編輯模式” ->“一般模式”;
: 或 / “一般模式”-> “命令行模式”;
:set nu 設置行號;
:set nonu 取消行號;
/XXX 查找XXX關鍵字,n查找下個;
:w 保存;
:q 退出;
:wq 保存並退出;
:q! 強制退出不保存;
ESC鍵 “命令行模式”-> “一般模式”;

4. 開關機相關命令:

shutdowm、halt、reboot、sync、logout

命令 說明
shutdowm -h now 立刻關閉主機;
shutdowm -h 1 "一分鍾后關機" 一分鍾后關機,並顯示“一分鍾后關機”;
shutdowm 同上;
shutdowm -r now 立刻重啟主機;
halt 關機;
reboot 重啟;
sync 把內存數據同步到磁盤;
su - root 切換root用戶;
logout 注銷當前用戶/注銷;

5. 查看系統信息相關命令:

命令 說明
uname -r 查看Linux內核版本;
cat /etc/os-release 查看系統配置;
cat /etc/redhat-release 查看centOS版本;

6. 用戶管理相關命令:

useradd、passwd、userdel、id、su、logout

命令 說明
useradd + 用戶名 添加用戶;
useradd -d /home/test king 添加King用戶,該用戶文件夾名為test;
passwd 給當前登錄用戶修改密碼;
passwd + 用戶名 給指定用戶修改密碼;
userdel + 用戶名 刪除用戶,保留家目錄(一般情況即建議保留);
userdel -r + 用戶名 【慎重】刪除用戶與家目錄;
id + 用戶名 查詢用戶信息;
whoami 查詢當前登錄的用戶,切換后還是之前的,下同;
who am i 查詢當前用戶信息,登錄ip等;
su + 用戶名 切換用戶(權限高向低不用密碼)
logout或exit 注銷當前用戶/注銷,返回上一層;

用戶組管理:

groupadd、usermod、groupdel

未指定組時默認新建跟用戶名相同的組名;

命令 說明
groupadd + 組名 添加組名;
useradd -g + 組名 + 用戶名 增加用戶時直接加上組;
usermod -g + 組名 + 用戶名 修改用戶的組;
groupdel + 組名 刪除組;

用戶和組相關文件

目錄 說明
/etc/password 【用戶配置文件】每行含義:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
/etc/shadow 【口令配置文件】每行含義:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
/etc/group 【組配置文件】每行含義:組名:口令:組標識號:組內用戶列表

7. 幫助指令:

man、help

命令 說明
man ls 獲取幫助信息(按空格鍵換頁),后續可以-a;
ls -a 列出所有文件,包括以“.”開頭的隱藏文件;
ls -l 單列輸出文件,每一行一個文件(詳細);
ls -la /root 列出指定目錄/root的所有、單列文件;
help 獲取shell內置命令的幫助信息;
help cd 獲取cd用法說明(英文),建議直接百度;

8. 文件目錄指令:

ls、pwd

命令 說明
ls 列出當前目錄下目錄或文件;
ls -a 列出所有文件,包括以“.”開頭的隱藏文件;
ls -l 單列輸出文件,每一行一個文件(詳細);
ls -h 按照人能看懂的單位顯示文件;(大小等)
ls -la /root 列出指定目錄/root的所有、單列文件;
pwd 顯示當前用戶在哪個目錄下(絕對路徑);

cd

命令 說明
cd XXX 進入XXX文件夾;
cd ~ 返回到家目錄;
cd .. 返回當前目錄是上一級目錄;
cd /root 回到root目錄;

mkdir、touch

命令 說明
mkdir 創建目錄(文件夾);
mkdir /home/dog 在home下創建dog目錄;
mkdir -p /home/animal/dog 創建多級目錄;
touch hello.txt 創建hello.txt空文件;

rmdir 、rm

命令 說明
rmdir + 路徑 刪除空目錄;
rm -rf + 路徑 【謹慎】遞歸強制刪除非空目錄(-r 遞歸)(-f 強制不提示);

cp、\cp

命令 說明
cp hello.txt bbb/ 將hello.txt復制到bbb文件夾下;
cp -r /home/bbb /opt 將/home/bbb整個目錄拷貝到/opt;
\cp -r /home/bbb /opt 【謹慎】強制覆蓋不提示;

mv

命令 說明
mv cat.txt pig.txt 兩個文件在同一級目錄下,重命名;
mv pig.txt /root/ 兩個文件在不同級目錄下,移動文件(剪切);
mv pig.txt /root/pig.txt 移動並重命名;
mv bbb/ /home/ 將/bbb整個目錄移動到/home下;

cat、more

命令 說明
cat /etc/profile 【推薦】查看/etc/profile文件內容;
cat -n /etc/profile 查看/etc/profile文件內容,顯示行號;
cat -n /etc/profile | more 管道命令 | more,將前面指令交給后面處理;(enter下一行,空格翻頁,q離開,=輸出當前行號,:f輸出文件名和當前行號,Ctrl+F向下滾動一屏,Ctrl+B返回上一屏)
more /etc/bashrc 用more指令操作/etc/bashrc;

less

命令 說明
less 類似more,動態加載;
less 雜文.txt 采用less查看大型文件/opt/ 雜文.txt;(空格鍵下一頁,pagedowm下翻一頁,pageup上翻一頁,q退出,/字符串 向下搜索字符串 n向下 N向上)

echo

命令 說明
echo 輸出內容到控制台;
echo $PATH 輸出環境變量;
echo $HOSTNAME 輸出主機名;
echo "hello world" 輸出hello world到控制台;

head、tail

命令 說明
head + 文件 顯示文件開頭部分,默認顯示前10行;
head -n 5 文件 查看文件前5行
tail+ 文件 查看文件尾10行;
tail -n 5 文件 查看文件尾5行;
tail -f 文件 實時追蹤該文檔的所有更新;

>、>>

命令 說明
> 輸出重定向(覆蓋);
>> 追加;
echo “hello” > /home/mydate.txt 將控制台輸出內容hello重定向輸入到mydate.txt文件;
ls -a > a.txt 列表的內容寫入a.txt中(覆蓋寫,文件不存在則自動創建);
ls -al >> aa.txt 列表的內容追加到aa.txt的末尾;
cat 文件1 > 文件2 將文件1的內容覆蓋到文件2;
cal >> /home/mycal 將當前日歷信息追加到/home/mycal中;

ln

命令 說明
ln -s /root/ /home/myroot 在/home目錄下創建一個軟連接myroot,連接到/root目錄;
rm /home/myroot 刪除軟連接myroot;

history

命令 說明
history 查看已執行歷史命令,也可執行歷史命令;
history 10 顯示最近10條歷史命令;
!5 執行歷史編號為5的指令;

9. 日期類指令:

date、cal

命令 說明
date 顯示當前時間;
date "+%Y" 顯示當前年份;
date "+%m" 顯示當前月份;
date "+%d" 顯示當前是哪一天;
date "+%Y-%m-%d %H:%M:%S" 顯示年月日、時分秒;
date -s "2021-07-09 14:33:10" 設置日期為2021-07-09 14:33:10;
cal 顯示日歷;
cal 2021 顯示2021年日歷;

10. 搜索查找類指令:

find、locate(updatedb)、which、grep

命令 說明
find 從指定目錄向下遞歸遍歷其各個子目錄,將滿足條件文件或目錄顯示在終端;
find /home -name hellow.txt 查找/home下的hello.txt文件;
find /opt - user nobody 查找/opt目錄下,用戶名為nobody的文件;
find / -size +200M 查找整個linux系統下大於200M的文件;(+n大於 -n小於 n等於,單位有k M G)
updatedb 將文件形成locate數據庫,使用locate查詢必須先updatedb;
locate 快速定位文件路徑(快速、需要定期updatedb);
locate hello.txt 快速定位hello.txt文件所在目錄;
which 可以查看某個指令在哪個目錄下;
which ls 查找ls指令在哪個目錄下;
grep 過濾查找,與管道符"|",一起用,表示將前一個命令的處理結果輸出傳遞給后面命令處理;
cat /home/hello.txt | grep "yes" 在hello.txt文件中,查找“yes”所在行;
cat /home/hello.txt | grep -n "yes" 在hello.txt文件中,查找“yes”所在行,並且顯示行號;
grep -n "yes" /home/hello.txt 同上;
cat /home/hello.txt | grep -i "yes" 在hello.txt文件中,查找“yes”所在行,並且不區分大小寫;

11. 壓縮與解壓類指令:

gzip、gunzip、zip、unzip、tar

命令 說明
gzip 壓縮文件(只能壓縮成 *.gz文件);
gzip /home/hello.txt 將/home下的hello.txt文件進行壓縮(只能壓縮成 *.gz文件);
gunzip /home/hellow.txt.gz 將/home下的hello.txt.gz文件進行解壓;
zip 用於壓縮文件或文件夾(-r遞歸壓縮 -d指定解壓后存放目錄);
zip -r myhome.zip /home/ 將/home下的所有文件進行壓縮成myhome.zip;(包括home文件夾本身)
unzip -d /opt/tmp /home/myhome.zip 將/home/myhome.zip解壓到/opt/tmp目錄下;
tar 打包,將文件打包成 .tar.gz;(-c產生.tar打包文件 -v顯示詳細信息 -f指定壓縮后的文件名 -z打包的同時壓縮 -x解包.tar文件)
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt 壓縮多個文件,將 /home/pig.txt 和 /home/cat.txt 壓縮成 pc.tar.gz;
tar -zcvf myhome.tar.gz /home/ 將 /home 的文件壓縮成 myhome.tar.gz;
tar -zxvf pc.tar.gz 將 pc.tar.gz 解壓到當前目錄,切換到 /opt/;
tar -zxvf /home/myhome.tar.gz -c /opt/tmp2 將 myhome.tar.gz 解壓到 /opt/tmp2 目錄下;


最后

新人制作,如有錯誤,歡迎指出,感激不盡!
歡迎關注公眾號,會分享一些更日常的東西!
如需轉載,請標注出處!


免責聲明!

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



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