Linux:常用命令大全
?
一、Linux系統的目錄結構:
1:Linux所有內容是以文件形式進行管理
2:/ 根目錄
(1)bin ?引導過程必需的命令,存放二進制可執行文件(ls,cat,mkdir等)
(2)boot 存放用于系統引導時使用的各種文件,內核映像文件
(3)dev 用于存放設備文件,Linux把每個硬件也看作是一個文件
(4)etc ?存放系統配置文件,例如安裝jdk配置環境變量
(5)home 存放所有用戶文件的根目錄,用戶登錄系統后默認所在的目錄
(6)mnt ?是臨時文件系統的掛載目錄掛載光驅。
(7)opt ?額外安裝的可選應用程序包所放置的位置
????例如:我們可以安裝自定義程序1:安裝eclipse,安裝tomcat
(8)root ?超級用戶目錄,引導系統的必備文件,文件系統的裝載信息以及系統修復工具和備份工具
(9)sbin ?存放二進制可執行文件,只有root才能訪問
(10)usr ?用于存放系統應用程序,有些類似windows的Program Files
(11)tmp 程序運行過程中所產生的臨時文件
(12)proc 包含內核虛擬文件系統和進程信息
?
二、Linux的常用命令:
1、注銷、關機、重啟命令:
注銷:logout或exit
立即關機:halt(關機后關閉電源)
sudo shutdown -h now(關機不重啟)
sudo shutdown -r now(關機重啟)
sudo shutdown -h now 12:30 指定時間關機
重啟:reboot或shutdown -r now(要root用戶或是有授權才可以)
2、普通用戶與超級管理員:
(1)顯示“$”標識表示是普通用戶。
(2)顯示“#”標識表示是超級管理員。
(3)切換用戶:使用su命令:當從普通用戶切換到root用戶(超級管理員)或其他用戶時,需要輸入目標用戶的密碼。當從root用戶切換到普通用戶時,不需要輸入密碼。
3、用戶管理:
(1)添加用戶:sudo adduser 用戶名(不能含有大寫)
???sudo useradd -s(指定使用什么類型的命令解析器) /bin/bash -g(創建的用戶所屬的組) Robin -d(創建用戶所屬的目錄) /home/zwp?-m(如果目錄不存在,則創建一個新目錄) zwp
(2)修改密碼:passwd 用戶名
(3)刪除用戶:sudo deluser 用戶名(不干凈)
???????sudo userdel -r 用戶名
(4)改變用戶屬性:usermod?[options]?用戶名
???options選項跟useradd命令的選項相同,-l可以改變用戶登陸名稱。
(5)who命令查看當前已經登錄的用戶
4、ls 顯示文件和目錄列表:
(1)?-l 列出文件的詳細信息
(2)?-a 列出當前目錄所有文件,包含隱藏文件
5、mkdir 創建目錄(rmdir刪除空目錄):
???-p 父目錄不存在情況下先生成父目錄
6、cd 切換目錄 ?
???cd .. 退出目錄
7、touch 生成一個空文件
echo 生成一個帶內容文件(echo abcd>a.txt)
8、文件顯示:
(1)cat、tac 顯示文本文件的全部內容
???cat正序顯示文件內容,tac反序顯示文件內容
(2)head,tail分別顯示文件開頭和結尾內容
???顯示test.txt的前10行:head -n 10 test.txt
(3)more、less 分頁顯示文本文件內容,查看配置文件時,很長需要分頁處理
??more(一頁一頁翻):
空格鍵向下翻頁
Enter鍵向下滾動一行
f 顯示出文件名及當前的行數
q 離開more
b 往回翻
??less(more的改進版):
空格 向下翻一頁
PageDown 向下翻一頁
PageUp 向上翻一頁
q 離開
9、文件管理:
cp 復制文件或目錄?(cp a.txt /home/zwp/abc/ddd)
rm 刪除文件:
(1)rm a.txt
(2)rm -rf abc(可以刪除非空目錄)
mv 移動文件或目錄、文件(剪切)
(1)mv ?aaa bbb 將aaa改名為bbb
(2)mv bbb /home/zwp/abc/ccc
find 在文件系統中查找指定的文件(find -name 文件名)
locate?查找指定文件(locate 文件名)
10、wc 統計文本文檔的行數,字數,字符數 (wc a.txt)
11、grep 在指定的文本中查找指定的字符串(grep aa a.txt)
12、pwd 顯示當前工作目錄
13、ln 建立鏈接文件(***)
軟鏈接:ln -s 源文件 鏈接文件
硬鏈接:ln 源文件 鏈接文件
(1)ln命令會保持每一處鏈接文件的同步性,不論你改動了哪一處,其它的文件都會發生相同的變化;
(2)軟鏈接就是只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間。
(3)硬鏈接沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
14、man 命令幫助信息查詢(man ls)
15、管道|(命令1的輸出結果,不顯示在屏幕上,而是當然命令2的輸入)
cat /etc/passwd | wc -l
使用cat命令顯示passwd文件中的內容,但是并沒有顯示在屏幕上,而是通過管道“|” 接受,wc命令從管道中取出內容進行統計,然后顯示結果,這個輸出時該文件有多少行(多少個用戶)
16、重定向:
(1)輸入重定向<
(2)標準輸出重定向>
???cat /etc/passwd>/home/zwp/a.txt
???echo "hello java">a.txt ?(覆蓋上一個a.txt)
(3)附加輸出重定向:>>,追加,不會覆蓋
???cat /etc/passwd>>/home/zwp/a.txt
???echo "---------">>a.txt ??
17、sort排序:sort 文件名
sort命令將逐行對指定文件中的所有行進行排序,并將結果顯示在標準輸出上。
18、uniq命令:uniq 文件名
uniq命令讀取輸入文件,并比較相鄰的行,去掉重復的行,只留下其中的一行。
19、comm 命令:comm filename1 filename2
comm命令對兩個已經排序好的文件進行逐行比較
20、diff命令:diff filename1 filename2
逐行比較兩個文件,列出他們的不同之處
?
三、Linux的系統命令:
1、stat 顯示指定文件的相關信息 (stat familyA)
access 進入、Modify 修改、Change 改變
access time是文檔最后一次被讀取的時間,閱讀一個文檔會更新它的access時間,但它的modify時間和change時間并沒有變化。cat、more 、less、grep、tail、head這些命令都會修改文件的access時間;
change time是文檔的索引節點(inode)發生了改變(比如位置、用戶屬性、組屬性等);
modify time是文本本身的內容發生了變化。
2、whoami 顯示用戶自己的身份;
3、hostname 顯示主機名稱;
hostname
hostname -i 顯示主機IP
4、uname 顯示系統信息 (uname -a 顯示全部信息)?
5、top 顯示當前系統中耗費資源最多的進程 動態顯示過程,實時監控。
6、ps 顯示瞬間進程狀態(ps -aux ?顯示所有瞬間進程狀態)
7、du 顯示指定的文件(目錄)已使用的磁盤空間的總量
??du
??du familyA(以K為單位)
??du -h familyA
8、df 顯示文件系統磁盤空間的使用情況(df -h)?
9、free 顯示當前內存和交換空間的使用情況
10、ifconfig 顯示網絡接口信息,windows 是ipconfig
11、ping 測試網絡的連通性
12、clear 清屏
13、kill 殺死一個進程
14、od:二進制形式
15、which:顯示命令所在位置
16、修改權限:
(1)文字設定法:chmod [who] [+|-|=] [mode]
???who:文件所有者u、文件所屬組g、其他人o。
???+添加權限;-減少權限;=覆蓋原來的權限
???mode:r讀、w寫、x執行
(2)數字設定法:chmod [-]數字 目錄或文件
???-:沒有權限;r4、w2、x1
????765:7:rwx--文件所有者??6:rw--文件所屬組? ?5:rx--其他人
17、umask命令:(umask maskcode)
???umask命令指定在建立文件時預設的權限掩碼
18、修改文件的所有者和所屬組:
(1)sudo chown 用戶 文件:修改文件的所有者 sudo chown zhangweiepeng a.txt
(2)sudo chown 用戶:組名 文件:修改文件所屬用戶和所屬組
(3)sudo chgrp 組名 文件:修改文件所屬組
19、查找和檢索:
(1)按文件屬性查找:
文件名:find 查找目錄 -name "文件的名字"(可以使用通配符?和*)
文件大小 find 查找目錄 -size +(-)10k(小寫)
文件類型 find 查找目錄 -type d/f/c/s/p/l
(2)按文件內容查找:
??grep -r "查找的內容" 查找的路徑
20、U盤的掛載:mount U盤名稱 目錄 ?=>sudo /dev/sdb /mnt
????U盤的卸載:umount 目錄 ?=>sudo umount /mnt
?
四、備份壓縮命令:
1、tar:
(1)參數:
??c--創建--壓縮
??x--釋放--解壓縮
??v--顯示提示信息--壓縮解壓縮--可以省略
??f--指定壓縮文件的名字
??z--使用gzip的方式壓縮文件--.gz
??j--使用bzip2的方式壓縮文件--.bz2
(2)打包:
語法:tar zcvf 生成的壓縮包的名字(xxx.tar.gz) 要壓縮的文件或目錄
???tar jcvf 生成的壓縮包的名字(xxx.tar.bz2) 要壓縮的文件或目錄
? ? tar -cvf testA.tar testA?(tar -cvf 保存路徑/包名 打包目錄)
(3)拆包:
解壓到當前目錄:tar -xvf 壓縮包名字?
解壓到指定目錄:tar -xvf 解壓包名字 -C 指定目錄
2、gzip 命令:
??gzip 壓縮(解壓)文件,壓縮文件后綴為gz
(1)壓縮:
gzip只能壓縮文件,目錄文件夾不能處理,需要使用tar對文件夾打包,再使用gzip testAA.tar 進行壓縮
(2)查看壓縮文件:
gzip -l testA.tar.gz 查看壓縮包詳細信息
compressed壓縮后大小;uncompressed原始大小;ratio壓縮比;uncompressed_name原始文件名
(3)解壓:
gunzip 文件名.gz
gzip -d familyA.tar.gz ?
(4)顯示文件名和壓縮比:
??高壓縮(速度稍慢):gzip -9 testA.tar 高壓縮比
??低壓縮比(速度快):gzip -1 testA.tar 低壓縮比
3、bzip2 命令:
bzip2 壓縮文件或目錄,壓縮文件后綴為bz2
bzip2 -k 壓縮文件或目錄:保留原文件
(1)壓縮:
bzip2 -z testA.tar? #壓縮需加上參數-z
(2)解壓縮:
bunzip2 testA.tar.bz2
bzip2 -d testA.tar.bz2
4、tar命令壓縮和解壓:
(1)僅打包,不壓縮:tar -cvf testA.tar testA
(2)打包后,以gzip壓縮:tar -zcvf testA.tar.gz testA
拆包:sudo tar -zxvf testA.tar.gz
(3)打包后,以bzip2壓縮:tar -jcvf testA.tar.bz2 testA
拆包:sudo tar -jxvf testA.tar.bz2
5、rar(必須手動安裝該軟件):
(1)參數:壓縮:a ???解壓縮:x
(2)壓縮:rar a 生成的壓縮文件的名字(不用加.rar后綴) 壓縮的文件或目錄
(3)解壓縮:rar x 解壓縮的文件名 (解壓目錄)
6、zip:
(1)壓縮:zip 壓縮后的名字 壓縮的文件
zip -r 壓縮后的名字 壓縮的目錄
(2)解壓縮:unzip 壓縮包的名字
unzip 壓縮包的名字 -d 解壓目錄
?
五、vim編輯器:
1、工作模式:
(1)命令模式--打開文件之后,默認進入命令模式
(2)編輯模式--需要輸入一些命令,切換到編輯模式
(3)ex轉義模式--在轉義模式下可以輸入一些命令
2、命令模式下的操作:
(1)光標的移動:
??H前 J下 K上 L后
??行首:0 ??行尾:$
??文件開始位置:gg
??文件末尾:G
??行跳轉:nG(n是自然數)
(2)刪除操作:
??刪除光標后邊的字符:x
??刪除光標前邊的字符:X
??刪除光標后邊的單詞:dw
??刪除光標到行首的字符串:d0
??刪除光標到行尾的字符串:D(d$)
??刪除多行:ndd(n是自然數)
(3)撤銷操作:
??撤銷:u
??反撤銷:ctrl+r
(4)復制粘貼:
??復制:yy
??復制多行:nyy
??粘貼:p(光標所在行的下一行)
??粘貼:P(光標所在行)
??剪切==刪除
(5)可視模式:v ??復制:y ??刪除:d ??粘貼:p/P
(6)查找:/查找內容 ??從光標位置,向下,最下邊之后,返回到頭部
????查找內容 ??從光標位置,向上查找,頂部之后,返回到尾部
???#--把光標移動到查找的單詞上面
???n:下一個內容 ??N:上一個內容
(7)單個字符的替換:r?????單詞的替換:cw
(8)向左縮進:<<
?向右縮進:>>
3、命令模式切換到文本模式:
a--在光標所在位置的后邊插入 ?????????A--在當前行的尾部插入
i--在光標所在位置的前邊插入 ?????????I--在光標所在行的行首插入
o--在光標所在行的下邊開辟一個新的行 ?????O--在光標所在行的上邊開辟一個新的行
s--刪除光標后邊的字符? ? ? ? ? ?????S--刪除光標所在的行
4、ex轉義模式的操作:
(1)行的跳轉:n(n是行數)
(2)替換光標所在行的某些內容
??替換最前一個:s/替換前的內容/替換后的內容
??替換所有:s/替換前的內容/替換后的內容/g
(3)替換文件中某些的內容:
??%s/替換前的內容/替換后的內容
??%s/替換前的內容/替換后的內容/g
??20,25s/替換前的內容/替換后的內容/g(20-25行)
(4)w--保存
??wq--保存并退出? ?
??q--退出
??q!--退出不保存
??x==wq
??命令模式的保存退出:ZZ
(5)水平分屏:sp 文件名
??分屏之間的切換:ctrl+ww
??垂直分屏:vsp 文件名
(6)顯示行號(:set number)
??取消行號(:set nonumber)
?
?
總結
以上是生活随笔為你收集整理的Linux:常用命令大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像文字识别(三):Tesseract4
- 下一篇: Java虚拟机:class类文件结构