Linux常用命令
在經過一天的學習之后,當然少不了對知識的總結,
以下便是我對今天我所學習的內容進行一個概要素的總結吧,
學習目標
- 說出Linux下的目錄結構和常見的目錄的的作用
- 熟練使用Linux下的相對路徑和絕對路徑
- 熟練使用Linux下常用檔案和目錄操作相關的命令
- 熟練使用修改用戶權限、用戶和用戶組相關的命令
- 熟練使用檔案的查找和檢索的相關命令
- 熟練掌握Ubuntu下的軟體安裝和卸載
- 熟練使用壓縮工具完成檔案或目錄的壓縮和解壓
命令決議器
shell 就是命令決議器
命令決議器的作用“對用戶輸入到終端的命令進行決議,呼叫對應的執行程式,

-
用戶在終端輸入命令
-
由shell命令解釋器對命令進行決議決議成內核能夠識別的指令
-
然后再由內核去執行命令
-
最終由終端顯示命令的執行結果給用戶
常用的命令決議器:
shell – Bourne Shell
/bin/sh
bash – Bourne Again Shell
/bin/bash
查看當前系統所使用的shell
echo $SHELL
查看當前系統有哪些shell
cat /etc/shells
Linux下的目錄結構
Linux系統的目錄結構是一個樹狀結構

Linux下主要目錄介紹
/bin:binary,二進制檔案,可執行程式,shell命令
如: ls,rm,mv.cp等常用命令
/sbin:s--supervisor 存放系統管理員使用的系統管理程式,
如:ifconflg,halt,shutdown,reboot等系統命令
/dev:device,在linux下一切皆是檔案
硬碟,顯卡,顯示幕
字符設備,塊設備檔案
如:在input目錄下執行:sudo cat mouse0,移動滑鼠會顯示有輸入,
/lib:linux運行時需要加載的一些動態庫
如:libc.so、libpthread.so等
/mnt:手動的掛在目錄,如U盤
/media:外設的自動掛載目錄,如光驅等
/root:linux的監管者用戶root的主目錄
/usr:unix system resource --類似于Windows的programe files 目錄
include 目錄里存放都檔案,如 stdio.h、stdlib.h、string.h、pthread.h
/etc:存放組態檔的目錄
/etc/passwd
/etc/group
/etc/profile
/opt:安裝第三方應用程式
/home:linux下所有用戶的主目錄
/home/taylor
/temp:存放臨時檔案
新建在這個目錄下的檔案回在系統重啟后自動清楚
-
相對路徑和絕對路徑
和Windows下一摸一樣
絕對路徑
從根目錄開始表示的路徑,例如:/home/taylor/桌面
相對路徑
從當前所處的目錄開始表示的路徑
. 表示當前目錄(路徑)
…表示當前目錄的上一級目錄(路徑) -
Linux中的命令提示符

taylor–當前登錄的用戶
@–英文at,在
taylor-virtual-machine–主機名
/etc:當前的作業目錄,~表示主目錄
可通過:echo ~ 或者 echo $HOME 查看當前用戶的家目錄
$:表示當前用戶為普通用戶,#表示管理員用戶taylor@taylor-virtual-machine:/etc$
root@taylor-virtual-machine:/ect#
檔案和目錄操作相關的命令
1. tree 命令
以樹狀結構查看指定目錄內容,使用該命令前需要安裝軟體 tree
sudo apt-get update sudo apt-get install tree
使用方法
tree -- 樹形結構顯示當前目錄下的檔案資訊
tree 目錄 -- 樹形結構顯示指定目錄下的檔案資訊
在 /usr/lib/firefox/browser 目錄下 查看當前 目錄結構 tree

tree /usr/lib/firefox/browser 查看 /usr/lib/firefox/browser 目錄的結構

2. ls 命令
查看指定目錄下的檔案資訊
使用方法:
ls -- 顯示當前目錄下的檔案資訊
ls 目錄或檔案名 --顯示指定目錄下或檔案資訊
相關引數:
-a:列出當前目錄下的所有檔案
./ 當前目錄
../上一級目錄
隱藏檔案,以.開頭的檔案名,如.bashrc
普通檔案
-r:遞回方式列出所有目錄中的內容
-l:列出檔案的詳細資訊
taylor@taylor-virtual-machine:~$ ls -l
總用量 32
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 公共的
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 模板
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 視屏
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 圖片
drwxr-xr-x 2 taylor taylor 4096 1月 21 14:26 檔案
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 下載
drwxr-xr-x 2 taylor taylor 4096 1月 21 01:24 音樂
drwxr-xr-x 2 taylor taylor 4096 1月 21 14:26 桌面
檔案型別 第1個字符
- :普通檔案
d :目錄
l :符號鏈接,相當于windows中的快捷鍵方式
s :套接字
p :管道
b :塊設備
c :字符設備
用戶的操作權限 2-10字符
檔案所有者對檔案的操作權限 2,3,4字符
檔案所屬組用戶對檔案的操作權限 5,6,7字符
其他人對檔案的操作權限 8,9,10字符
硬鏈接計數:
對于目錄來說,鏈接計數等于該魯姆下所有的目錄總數,但不含該目錄下子目錄的檔案數量,執行ls-la命令可以進行查看
對于檔案來水,指的是開檔案所有的硬鏈接檔案數量
檔案所有者 :taylor
檔案所屬組 :taylor
檔案大小 :36
如果是目錄:只是表示目錄大小,不包含目錄中的內容,目錄大小為4KB
如果是檔案,表示檔案大小
檔案的創建日期或最后修改日期 : 1月 21 日 01:24
引數之間可以結合使用:
ls-la:列出當前目錄下所有檔案的相應資訊,包含隱藏檔案
ls-ltr:列出當前目錄下的檔案,按照時間逆向排序
使用ls -l 命令如下:

3. cd 命令
切換目錄,命令方式 cd +路徑
路徑可以使用相對路徑或者絕對路徑
cd /home/taylor 絕對路徑(從根目錄開始)
cd ./home/taylor 相對路徑(從當前目錄開始)
切換到家目錄
cd
cd ~
cd /home/taylor
cd $HOME
4. pwd 命令
查看用戶當前所處的作業目錄
5. which命令
顯示命令所在的目錄,如which ls,which cp
6. touch 命令
如果檔案不存在,就創建新檔案,如果檔案存在,更新檔案的最后修改時間,
命令方式:touch 檔案名
7. mkdir 命令
創建新目錄,make directory
創建方式:mkdir 目錄名
如果創建多級目錄需要添加引數 -p
例如 在當前目錄創建目錄,mkdir mydir
在宿主目錄下創建多級目錄:mkdir -p ~/test/hello/world/asshole
8. rmdir 命令
洗掉空目錄,只能洗掉空目錄,使用方式 :rmdir 目錄名
9. rm 命令
洗掉檔案: rm 檔案名
洗掉目錄: rm -r 目錄名
引數:
-r:遞回洗掉目錄,洗掉目錄必須添加此引數
-i:提示用戶是否闡述檔案或目錄
-f:強制洗掉
注意事項:
使用rm命令洗掉檔案或目錄不會放入回收站中,資料不易恢復
10. cp 命令
命令使用方式:cp 源目錄或檔案 目標目錄或檔案,若有目錄的拷貝則需要使用-r 引數
cp 要拷貝的檔案(file1) file(不存在)
創建file,將file1中的內容拷貝到file
cp file1 file(已存在)
file1 覆寫file
cp file dir(存在)
拷貝file到dir目錄
cp -r dir(存在) dir1(存在)
將dir目錄拷貝到dir1(不存在)
cp -r dir(存在) dir1(不存在)
創建 dir1
將 dir 中的內容拷貝到dir1中,不包括dir目錄
cp 拷貝目錄也可以使用-a引數,這樣可以保留被被拷貝的檔案的一些屬性資訊
11. mv 命令
改名或者移動檔案 mv file1 file2
改名
mv file(存在) file1(不存在)
mv dir(存在) dir(不存在)
mv file(存在) file2(存在)
file檔案覆寫file2檔案,file改名為 file2
移動(第二個引數一定是目錄檔案)
mv file dir
將file檔案移動到dir中
mv dir (目錄存在) dir1(目錄存在)
將dir移動到dir1中,dir就會作為dir1的子目錄而存在
12. cat 命令
將檔案內容一次性輸出到終端
使用方式:cat 檔案名
缺點:終端顯示的內容有限,如果檔案太長無法全部顯示
可用于檔案重定向 cat file1>file2,相當于 cp file1 file2
13. more 命令
檔案內容分頁顯示到終端,但是只能一直向下瀏覽,不能回退
使用方式:more +檔案名
相關操作:
顯示下一行:回車
顯示下一頁:空格
退出:q (ctrl+c)
14. less 命令
檔案內容分頁顯示到終端,可以自由上下瀏覽,
使用方式:less 檔案名
相關操作:
顯示下一行:回車、ctrl+p、鍵盤向下鍵
顯示上一行:ctrl+n、鍵盤向上鍵
顯示下一頁:空格、pageDown
退出:q(ctrl+c)
15. head 命令
從檔案頭部開始查看前n行的內容
使用方式:head +n[行數] 檔案名
head -20 hello.txt #顯示hello.txt前20行
如果沒有指定行數,默認顯示前10行內容
16. tail 命令
從檔案尾部向上查看最后n行的內容
使用方式:tail -n[行數] 檔案名
如果沒有指定行數,默認顯示最后10行內容
一個比較重要的應用:顯示日志:tail -f test.log
一個終端tail -f test.log,另一個終端:echo “hello world” >> test.log
17. 軟鏈接
軟鏈接類似于windows下的快捷方式
如何創建軟鏈接
ln -s 檔案名 快捷方式的名字
例如: ln -s aa aa.s
目錄也可以創建軟鏈接
例如:ln -s temp, temp.link
軟連接應注意事項:
ln 創建軟連接要用絕u第路徑,因為如果不適用絕對路徑,一旦這個鏈接檔案位置發生變動,就不能找到那個檔案了,
軟鏈接檔案的大小是:路徑+檔案名的總位元組數
18. 硬鏈接
ln 源檔案 硬鏈接的名字
ln test.log test.log.hard
使用硬鏈接應注意事項
硬鏈接不能建在目錄上
硬鏈接對絕對路徑沒有要求
硬鏈接不能快檔案系統
硬鏈接檔案和源檔案的indoe是相同的檔案系統的indoe要求不唯一,跨檔案系統可能回事indoe不同,所以硬鏈接不能跨檔案系統
硬鏈接的本質
硬鏈接的本質是不同的檔案名所在的indoe節點是相同的,相同的inode節點指向了相同的數塊,所以他們的檔案內容是一樣的,檔案內容輝同步,
ls -i 檔案名-----> 可以查看檔案的i節點
stat 檔案名-----> 可以查看i節點資訊
硬鏈接應用場合
可以起到同步檔案的作用
修改file的內容,回在其余三個硬鏈接檔案上同步
可以起到保護作用
洗掉檔案的時候,只要硬鏈接的個數不為0,不會真正洗掉,起到保護檔案的作用

如上圖,file.hard是file的硬鏈接,這兩個檔案指向了同一個inode,同一個indoe指向了相同的資料塊,
當創建一個新檔案,硬鏈接個數為1
給檔案創建了一個硬鏈接后,硬鏈接個數+1
洗掉一個硬鏈接后,硬鏈接個數-1
如果洗掉硬鏈接后,硬鏈接個數為01,則該檔案會被洗掉
19. wc 命令
顯示檔案行數,位元組數,單詞數
wc -l file 顯示檔案的總行數
wc -c file 顯示檔案的總位元組數
wc -w file 顯示檔案的總單詞數
wc file 顯示檔案的總行數、單詞數和總位元組數
20. whoami
顯示當前登錄的用戶
21. chmod 命令
修改檔案權限,linux是通過權限對檔案進行控制的,通過使用chmod命令可以修改檔案相關的權限
命令:chmod[who] [+|-|=] [mode] 檔案名
操作物件 [who]
u -- 用戶
g -- 同組用戶
o -- 其他用戶
a -- 所有用戶
運算子 [+|-|=]
+ -- 添加權限
- -- 取消權限
= -- 賦予給定權限并取消其他權限
權限 [mode]
r -- 讀
w -- 寫
x -- 執行
示例:給檔案 file.txt 的所有者的所屬添加權限
chmod ug+wr file.txt
22. chown 命令
修改檔案所有者
用法:chown 檔案所有者 檔案名
sudo chown mytest file.txt
修改檔案所有者和所屬組
用法:chown 檔案所有者:檔案所屬組 檔案名
sudo chown mytest:mytest file.txt
sudo chown mytest.mytest file.txt
注意:普通用戶需要最高權限
注意:若系統沒有其他用戶,可以使用sudo adduser 用戶名 創建一個新用戶
23. chgrp 命令
使用方法:
chgrp 用戶組 檔案名或目錄名
示例:
修改檔案所屬組為mytest
sudo chgrp mytest file.txt
普通用戶需要使用最高權限執行該命令
24. find命令
按檔案名查找:引數 -name
示例:find 路徑 -name "檔案名"
find ~/desktop -name "mytest.txt"
按檔案型別查找:引數 -type
示例: find 路徑 -type 型別
find ~/desktop -type d
型別
f:普通檔案
d:目錄
l:符號鏈接
b:塊設備
c:字符設備
s:socket檔案
p:管道檔案
按檔案大小查詢:引數 -size
示例:find 路徑 -size 范圍
find ~/desktop -size +10k
find ~/desktop -size +10k -size -20k #查找大于10k,小于20k的檔案
范圍
大于:+ --- +10k
小于:- --- -10k
等于:= --- 10k
大小
M 必須大寫 兆位元組
k 必須小寫 千位元組
c 表示位元組數
按檔案日期
引數: -ctime(創建) -mtime(修改) -atime(訪問) +n/-n
-n:n天以內
+n:n天以外
按深度
-maxdepth (層數)
搜索n層以下的目錄,搜索層數不超過n層
-mindepth(層數)
搜索n層以上的目錄,搜索的層數不能小于n層
高級查找
例:查找指定目錄下所有目錄,并列出目錄中檔案詳細資訊
find ./ -type d -exec shell 命令 {} \;
find ./ -type d -exec ls -l {} \;
find ./ -type -ok shell 命令 {} \;
find ./ -type -ok ls -l {} \;
find ./ -type d | xargs shell 命令
find ./ -type |xargs ls -l
25. grep 命令
grep -r (有目錄) “查找內容“ 搜索路徑
引數
-r 若是目錄,則可以遞回搜索
-n 可以顯示查找開內容所在的行號
-i 可以忽略大小寫進行查找
-v 不顯示含有某字串
搜索當前目錄下包含"hello workd"字串的檔案
grep -r -n ”hello world“ ./
grep -r -i -n "HELLO world" ./
26. find 和 grep 命令結合使用
先使用find 命令查宅檔案,然后使用grep命令查找哪些檔案包含某個字串
find ./ -name ".c" | xagrgs grep -n "main"
Linux中常用的壓縮工具
gzip和bzip2 #不能壓縮目錄,只能一個一個檔案進行壓縮,壓縮之后會使源檔案消失
gzip * #壓縮當前目錄下所有的檔案,但是不能壓縮目錄
gunzip * #解壓當前目錄下所有的.gz檔案
bzip * #壓縮當前目錄下所有的檔案,但是不能壓縮,目錄
bunzip2 解壓當前目錄下所有的.bz2檔案
tar 工具
相關引數
z:用gzip來壓縮/解壓檔案
j:用bzip2來壓縮/解壓檔案
c:create,創建心得壓縮檔案,與x互斥使用
x:從壓縮檔案中釋放檔案,與c互斥使用
v:詳細報告tar處理的檔案資訊
f:指定壓縮檔案的名字
t:查看壓縮包中有哪些檔案
壓縮:
tar cvf 壓縮包名字 .tar 原材料[要打包壓縮的檔案或目錄]
tar zcvf 壓縮包名字.tar.gz 原材料[要打包壓縮的檔案或目錄]
tar jcvf 壓縮包名字.tar.bz2 原材料[要打包壓縮的檔案或目錄]
解壓縮:
tar xvf 已有的壓縮包 (test.tar.gz)
tar zxvf 已有的壓縮包(test.tar.gz)
tar jxvf 已有的壓縮包(test.tar.bz2)
解壓到指定目錄:添加引數 -C (大寫)
tar zxvf test.tar.gz -C 目錄
查看壓縮包中哪些檔案
tar -tvf test.tar
rar 工具
使用當前需要安裝 rar 工具
sudo apt-get install rar
壓縮
命令: rar a -r 要壓縮的檔案(含檔案或者目錄)
壓縮需要使用引數:-r
rar a -r my aa bb dir 將 aa bb dir 壓縮到my.rar 檔案中
#使用該命令不需要指定壓縮包后綴
解壓檔案
命令:rar x XXX.rar 目錄
rar x my.rar ----將my.rar解壓到當前目錄
rar x my.rar TAR ----將my.rar解壓到TAR目錄下
zip 工具
壓縮:zip -r 壓縮包名稱 要壓縮的檔案(含檔案或目錄)
壓縮:
目錄需要使用 -r 引數
#使用該命令不需要指定壓縮包后綴
zip -r xxx file dir ---生成 xxx.zip 檔案
解壓:
解壓到指定目錄:添加 -d 解壓目錄
unzip xxx.zip -d ~/test
Ubuntu下軟體的安裝和卸載
在線安裝
軟體安裝:sudo apt-get install 軟體名
軟體卸載:sudo apt-get remove 軟體名
更新軟體串列:sudo apt-get update
升級軟體串列:sudo apt-get upgrade
清理安裝包:sudo apt-get clean
清理的是快取路徑 /var/cache/apt/archives
軟體包安裝:
在Ubuntu系統下 必須有deb 格式的安裝包
軟體安裝
sudo dpkge -i xxx.deb
軟體卸載
sudo dokg -r 軟體名
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252063.html
標籤:其他
上一篇:2021-01-23
