1. 程式人生 > 其它 >Liunx常用命令學習

Liunx常用命令學習

目錄解釋:
/bin、/usr/bin:可執⾏⼆進位制⽂件的⽬錄,如常⽤的命令 ls、tar、mv、cat 等
/boot:放置 linux 系統啟動時⽤到的⼀些⽂件,如 linux 的核心⽂件: /boot/vmlinuz ,系統引導管理器: /boot/grub
/dev:存放linux系統下的裝置⽂件,訪問該⽬錄下某個⽂件,相當於訪問某個裝置,常⽤的是掛載光碟機 mount /dev/cdrom /mnt
/etc:系統配置⽂件存放的⽬錄,不建議在此⽬錄下存放可執⾏⽂件,重要的配置⽂件有:/inittab,/fstab,/init.d,/sysconfig,/xinetd.d,/X11
/lib、/usr/lib、/usr/local/lib:系統使⽤的函式庫的⽬錄,程式在執⾏過程中,需要調⽤⼀些額外的引數時需要函式庫的協助


/lost+fount:系統異常產⽣錯誤時,會將⼀些遺失的⽚段放置於此⽬錄下
/mnt: /media:光碟預設掛載點,通常光碟掛載於 /mnt/cdrom 下,也不⼀定,可以選擇任意位置進⾏掛載
/opt:給主機額外安裝軟體所擺放的⽬錄
/proc:此⽬錄的資料都在記憶體中,如系統核⼼,外部裝置,⽹絡狀態,不佔⽤磁碟空間:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*
/sbin、/usr/sbin、/usr/local/sbin:放置系統管理員使⽤的可執⾏命令,如 fdisk、shutdown、mount 等。與 /bin 不同的是,這⼏個⽬錄是給系統管理員 root 使⽤的命令,⼀般⽤戶只能"檢視"⽽不能設定和使⽤

/tmp:⼀般⽤戶或正在執⾏的程式臨時存放⽂件的⽬錄,任何⼈都可以訪問,重要資料不可放置在此⽬錄下
/srv:服務啟動之後需要訪問的資料⽬錄,如 www 服務需要訪問的⽹⻚資料存放在 /srv/www 內
/usr:應⽤程式存放⽬錄,/usr/bin:存放應⽤程式,/usr/share:存放共享資料,/usr/lib:存放不能直接運⾏的,卻是許多程式運⾏所必需的⼀些函式庫⽂件,/usr/local:存放軟體升級包,/usr/share/doc:系統說明⽂件存放⽬錄,/usr/share/man:程式說明⽂件存放⽬錄
/var:放置系統執⾏過程中經常變化的⽂件,/var/log:隨時更改的⽇志⽂件,/var/spool/mail:郵件存放的⽬錄,/var/run:程式或服務啟動後,其 PID 存放在該⽬錄下

命令格式:命令名 [-options] 命令引數
pwd, ls, tree
ls -a 顯示隱藏檔案
ls -l 以列表方式顯示檔案詳細資訊
ls -h配合-l以人性化方式顯示檔案大小
ls -l -h == ls -lh ls -al == ll
mkdir -p 遞迴建立目錄
gedit 檔名 ==> 開啟檔案
rm -rf: -r ==> 遞迴刪除目錄下內容 -f==>強制刪除,忽略不存在的檔案
cp: -a 保留連結、檔案屬性,並且遞迴複製目錄。-f對存在的目標檔案不提示。 -i互動複製,提示使用者確認。-r遞迴複製目錄下檔案
mv:-f 禁止互動操作。-i 確認互動方式操作。-v 顯示移動速度。
clear == CTRL + L
which:檢視命令的絕對路徑
cal:日曆 -3 顯示三個月的日曆。-j顯示當年中第幾天。-y 顯示當前年份的日曆
data:日期顯示,格式化顯示:data ""+%Y年%m⽉%d⽇ %H時%M分%S秒"
history:檢視歷史的指令,顯示10條歷史資訊,history 10,執⾏歷史命令: !編號 如:!102

cat 命令⽤於 檢視 、 連線⽂件 並 列印到標準輸出裝置 上。-n 由1開始對所有輸出行編號。-b 空白行不編號:cat -n 1.txt
cat 1.txt 2.txt :用cat方式將1和2檔案合併檢視

more 以 全螢幕的⽅式 分⻚(屏) 顯示⽂本⽂件的內容
Enter 向下n⾏,需要定義。預設為1⾏.
Ctrl+F 向下滾動⼀屏,F(front,前進)
Ctrl+B 返回上⼀屏,B(back,後退)
空格鍵 向下滾動⼀屏
q 退出 more

資料流重定向:>
命令 > a.txt 把執行的結果重定向輸出到a.txt檔案裡面
管道:|
分為兩端,左端塞東西,右端取東西
,它只能處理經由前⾯⼀個指令傳出的正確輸出資訊,對錯誤資訊資訊沒有直接處理能⼒。然後,傳遞給下⼀個命令,作為標準的輸⼊.

軟連結:軟連結不佔⽤磁碟空間,源⽂件刪除則軟連結失效。
ln -s 源⽂件 連結⽂件
硬連結(hard link, 也稱連結):就是⽂件的⼀個或多個⽂件名
ln 源⽂件 連結⽂件
如果 沒有-s 選項代表建⽴⼀個硬連結⽂件,兩個⽂件佔⽤相同⼤⼩的硬碟空間,即使刪除了源⽂件,連結⽂件還是存在,所以-s選項是更常⻅的形式。
注意:如果軟連結⽂件和源⽂件不在同⼀個⽬錄,源⽂件要使⽤絕對路徑,不能使⽤相對路徑。
軟連線和硬連結的區別
1).軟連結可以跨⽂件系統,硬連結不可以;
2).軟連結可以對⼀個不存在的⽂件名(filename)進⾏連結(當然此時如果你vi這個軟連結⽂件,
linux會⾃動新建⼀個⽂件名為filename的⽂件),硬連結不可以(其⽂件必須存在,inode必須存在);
3).軟連結可以對⽬錄進⾏連線,硬連結不可以。


find ./ -name test.sh 查詢當前⽬錄下所有名為test.sh的⽂件
find ./ -name '*.sh' 查詢當前⽬錄下所有後綴為.sh的⽂件
find ./ -name "[A-Z]*"查詢當前⽬錄下所有以⼤寫字⺟開頭的⽂件,* 表示任意字元,?表示任意⼀個字元,[列舉字元] 表示列舉出的任意⼀個字元
find /tmp -size 2M 查詢在/tmp ⽬錄下等於2M的⽂件
find /tmp -size +2M 查詢在/tmp ⽬錄下⼤於2M的⽂件
find /tmp -size -2M 查詢在/tmp ⽬錄下⼩於2M的⽂件
find ./ -size +4k -size -5M 查詢當前⽬錄下⼤於4k,⼩於5M的⽂件
find ./ -perm 777 查詢當前⽬錄下許可權為 777 的⽂件或⽬錄


tar使⽤格式
多⽂件歸檔: tar [引數] 打包⽂件名 ⽂件1 ⽂件2
⽬錄歸檔: tar [引數] 打包⽂件名 ⽬錄
tar命令很特殊,其引數前⾯可以使⽤“-”,也可以不使⽤。
-c ⽣成檔案⽂件,建立打包⽂件
-v 列出歸檔解檔的詳細過程,顯示進度
-f 指定檔案⽂件名稱,f後⾯⼀定是.tar⽂件,所以必須放選項最後
-t 列出檔案中包含的⽂件
-x 解開檔案⽂件
注意:除了f需要放在引數的最後,其它引數的順序任意。

tar -cvf 打包⽂件名.tar 要打包的內容 打包⼀個⽂件
tar -xvf 打包⽂件名.tar 解包,得到包中的內容
tar -zcvf 壓縮包⽂件名.tar.gz 待壓縮⽂件或⽬錄
tar -zxvf 壓縮包⽂件名.tar.gz

zip -r a.zip a 把a⽬錄壓縮為 a.zip
unzip a.zip 把a.zip 解壓到當前⽬錄下
unzip -d test a.zip 把a.zip 解壓到 test ⽬錄中

tar.gz 的打包和壓縮⽅式 相⽐ zip 或者 bz2 產⽣的壓縮包⽂件更⼩


檔案許可權
r可讀,w可寫,x可執行
drwxr-xr-x:d後面的2-9位,代表檔案許可權,三個一組。分為三組u,g,o
rwx:u屬使用者(檔案擁有者), r-x:g屬組(同組使用者), r-x:o其他人
chmod 數字/字母 修改檔案許可權
字母法:
chmod u/g/o/a +/-/= rwx ⽂件
u:user表示檔案的所有者
g:group表示該檔案所有者屬於一個組
o:other表示其他以外的人
a:all表示這三者皆是
+:增進許可權
-:撤銷許可權
=:設定許可權
同時設定三組許可權:chmod u=,g=,o= 1.txt
數字法:
r:4, w:2, x:1
如執⾏:chmod u=rwx,g=rx,o=r filename 就等同於:chmod u=7,g=5,o=4 filename
如果要遞迴,就在檔案後面加上-R
chmod 777 test/ -R

whoami ==> 檢視當前賬戶
passwd 使用者名稱 ==> 修改賬戶密碼

reboot 重新啟動作業系統
shutdown –r now 重新啟動作業系統,shutdown會給別的⽤戶提示
shutdown -h now ⽴刻關機,其中now相當於時間為0的狀態
shutdown -h 20:25 系統在今天的20:25 會關機
"shutdown -c" 可以取消關機
shutdown -h +10 系統再過⼗分鐘後⾃動關機

安裝軟體
make install 原始碼安裝包
sudo dpkg -i package.deb
sudo apt-get install xxxx
ubuntu更換映象源
/etc/apt/sources.list
ubuntu相關指令
sudo apt-get update 更新源
sudo apt-get install package 安裝包
sudo apt-get remove package 刪除包
sudo apt-cache search package 搜尋軟體包
sudo apt-cache show package 獲取包的相關資訊,如說明、⼤⼩、版本等
sudo apt-get install package --reinstall 重新安裝包
sudo apt-get -f install 修復安裝
sudo apt-get remove package --purge 刪除包,包括配置⽂件等
sudo apt-get build-dep package 安裝相關的編譯環境
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級系統
sudo apt-cache depends package 瞭解使⽤該包依賴那些包
sudo apt-cache rdepends package 檢視該包被哪些包依賴
sudo apt-get source package 下載該包的原始碼
sudo apt-get clean && sudo apt-get autoclean 清理⽆⽤的包
sudo apt-get check 檢查是否有損壞的依賴

sudo apt-get install openssh-server

下載:scp [-r] ⽬標⽤戶名@⽬標主機IP地址:/⽬標⽂件的絕對路徑 /儲存到本機的絕對/相對路徑
遠端⽂件複製到本地:scp [email protected]:/home/teacher/test.py ./test.py
遠端⽂件夾複製到本地:scp -r [email protected]:/home/teacher/test ./test
本地⽂件複製到遠端:scp test.py [email protected]:/home/teacher/test2.py
本地⽬錄複製到遠端:scp -r ./test [email protected]:/home/teacher/test