慕課網:Linux 達人養成計劃<2> Linux常用命令
Linux常用命令
1. 命令基本格式
linyk3@ThinkPad:~$
- linyk3 :登錄用戶名
- ThinkPad : 主機名
- ~: 當前所在位置
- $ : 普通用戶, #: 根用戶
命令 [選項] [參數]
簡化選項 -a
完整選項 --all
ls [選項] [參數]
-a
查看所有文件,包括隱藏文件-l
顯示文件詳細信息-d
查看目錄屬性-h
人性化顯示文件大小-i
顯示inode
2.文件處理命令
2.1 目錄處理命令
建立目錄: mkdir: mkdir -p [目錄名]
make directories
-p 遞歸創建目錄
打開目錄: cd
相對路徑, 絕對路徑
查看當前目錄
pwd
刪除目錄: rmdir
remove empty directories 刪除空目錄
刪除文件或目錄: rm [-rf] [文件或目錄]
rm -r
: 刪除目錄
rm -f
: 強制刪除
2.2 文件處理命令
複製命令: cp [選項] [原文件或目錄] [目標目錄]
copy
-r
複製目錄
-p
連帶文件屬性複製
-d
若源文件是鏈接文件,則複製鏈接屬性
-a
相當於 -pdr
剪切或改名命令 mv [原文件或目錄] [目標目錄]
move
操作目錄時,不加 -r
常用目錄的作用:
/
根目錄/bin
命令保持目錄,普通用戶可以訪問/boot
啓動目錄,啓動相關文件/dev
設備文件保存目錄/etc
配置文件保存目錄/home
普通用戶的家目錄/lib
系統庫保存目錄/mnt
系統掛載目錄/media
掛在目錄/root
超級用戶的家目錄/tmp
臨時目錄/sbin
命令保存目錄(超級用戶才能使用)/proc
直接寫入內存的,不能直接操作,是內存的過載點/sys
不能直接操作,是內存的過載點/usr
/usr/bin/系統命令
普通用戶/usr/sbin/系統命令
超級用戶
/var
系統相關文檔內容
2.3 鏈接命令
ln -s [原文件] [目標文件]
link
生成鏈接文件
-s
創建軟鏈接
硬鏈接特徵
- 擁有相同的i節點和存儲block塊,可以看做是同一個文件
- 可通過i節點識別
- 不能跨分區
- 不能針對目錄使用
軟鏈接特徵
- 類似Windows的快捷方式
- 軟鏈接擁有自己的i節點和Block塊,但是數據塊中只保存原文件的文件名和I節點號,並沒有實際的文件數據
- lrwxrwxrwx l:軟鏈接 軟鏈接文件的權限都爲rwxrwxrwx
- 修改任意文件,另一個都改變
- 刪除原文件,軟鏈接不能使用
3.文件搜索命令
3.1 文件搜索命令 locate
locate [文件名]
在後臺數據庫中搜索文件名,搜索速度快
/var/lib/mlocate
locate命令搜索的數據庫
updatedb
mlocate數據庫每天更新一次,手動更新命令。 配置文件時/etc/updatedb.conf 篩選規則
缺點:
只能搜索文件名, find功能強大但消耗大
3.2 命令搜索命令 whereis 與 which
whereis 命令名
搜索命令所在的路徑及幫助文檔所在位置
-b 只查找可執行文件
-m 只查找幫助文件which
搜索命令所在位置,如有別名,也顯示出來
shell 內置命令不能用which 和 wehreis來查找,例如 cd
$PATH 環境變量
定義的是系統搜索命令的路徑
3.3 文件搜索命令 find
find [搜索範圍] [搜索條件]
搜索文件
find / -name install.log
注意
- 避免大範圍搜索,會非常消耗系統資源
- find 是在系統中搜索符合條件的文件名, 如果使用通配符,那將會是完全匹配
- * 匹配任意字符
- ? 匹配任意一個字符
- [] 匹配中括號裏任意一個字符
find /root -iname install
不區分大小寫
find /root -user root
按文件所有者來搜索
find /root -nouser
查找沒有所有者的文件: 內核生成的文件和外來的文件可能沒有所有者
find /var/log -mtime +10
查找10天前修改的文件
-10
10天內10
10天前的當天修改的文件+10
10天前atime
文件訪問時間ctime
文件屬性改變時間mtime
修改文件內容
find . -size 25k
查找文件大小是25KB的文件
-25k
小於25kb M25k
等於25kb M+25k
大於25kb M
find /etc -size +20k -a -size -50M
查大於20KB並且小於50M的文件
find /etc -size +20k -a -size -50M -exec ls -lh {} \;
查大於20KB並且小於50M的文件,並且顯示詳細信息
-exec/-ok 命令 {}\
是對搜索結果執行的操作-a
and邏輯與-o
or 邏輯或
find . -inum 262422
查找i節點時262422的文件
3.4 字符串搜索命令 grep
grep [選項] 字符串 文件名
在文件當中匹配符合條件的字符串
-i
忽略大小寫-v
排除指定字符串,相反操作
3.5 find 命令 與 grep 命令的區別
- find : 在系統中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
- grep: 在文件中搜索符合條件的字符串,如果需要匹配,使用正則表達式進行匹配,正則表達式是包含匹配。
4.幫助命令
4.1 man 命令
manul
man 的級別:
1 可執行程序或 shell 命令
2 系統調用(內核提供的函數)
3 庫調用(程序庫中的函數)
4 特殊文件(通常位於 /dev)
5 文件格式和規範,如 /etc/passwd
6 遊戲
7 雜項(包括宏包和規範,如 man(7),groff(7))
8 系統管理命令(通常只針對 root 用戶)
9 內核例程 [非標準]
man -f 命令
,相當於 whereis
查看命令有哪些級別的幫助
//例如
man -f passwd
man 5 passwd
man 1 passwd
whereis passwd
man -k 命令
相當於 apropos 命令
,查看和命令相關的所有幫助
4.2 其他命令
- 命令 –help //獲取命令選項的幫助
- help shell內部命令 // 獲取shell內部命令的幫助。 可以用
whereis 命令
來確定該命令是否是 shell內部命令,還是外部安裝的命令。 shell 內置命令不能用which 和 wehreis來查找,例如 cd
5.壓縮與解壓縮命令
5.1 .zip
壓縮命令
zip 壓縮文件名 源文件
//壓縮文件zip -r 壓縮文件名 源目錄
//壓縮目錄
解壓縮命令
unzip 壓縮文件名
//加壓縮文件
5.2 .gz
gzip 源文件
//壓縮爲.gz的壓縮文件,源文件會消失gzip -c 源文件 > 壓縮文件
//壓縮爲.gz格式,源文件保留gzip -r 目錄
//壓縮目錄下所有的子文件,但是不能壓縮目錄
5.3 .bz2
bzip2 源文件
//壓縮爲.bz2格式,不保留源文件bzip2 源文件
//壓縮後保留源文件
bzip2 命令不能壓縮目錄
5.4 tar 打包命令
tar -cvf 打包文件名 源文件
選項
- c : 打包
- v: 顯示過程
f: 指定打包後的文件名
eg:
tar -cvf linyk3.tar linyk3
5.5 解打包命令
tar -xvf 打包文件名
選項x 解打包
eg:
tar -xvf linyk3.tar
5.6 .tar.gz
.tar.gz 的格式時是先打包爲.tar格式,再壓縮爲.gz格式
tar -zcvf 壓縮包名.tar.gz 源文件
//壓縮爲.tar.gz格式
tar -zxvf 壓縮包名.tar.gz
// 解壓縮.tar.gz格式
5.5 .tar.bz2
.tar.bz2 的格式時是先打包爲.tar格式,再壓縮爲.bz2格式
tar -jcvf 壓縮包名.tar.bz2 源文件
//壓縮爲.tat.bz2格式
tar -jxvf 壓縮包名.tar.bz2
// 解壓縮.tar.bz2格式
6.關機與重啓命令
6.1 shutdown 命令
shutdown [選項] 時間
選項
- c : 取消前一個關機命令
- h : 關機
- r : 重啓
其他關機命令
- halt
- poweroff
- init 0
這三個命令都可以關機,但是不安全。shutdown 比較安全,會保存。
其他重啓命令
- reboot
- init 6
系統運行級別 init 總共7個級別
- 0 關機
- 1 單用戶
- 2 不完全多用戶,不含NFS服務
- 3 完全多用戶
- 4 未分配
- 5 圖形界面
6 重啓
runlevel
可以查看當前運行級別
退出登錄,註銷
logout
養成良好習慣,不用直接叉掉CRT
7.其他常用命令
7.1 掛載命令
掛載點 - 分盤符
1. 查詢與自動掛載
$ mount
查詢系統中已經掛載的設備
$ mount -a
依據配置文件 /etc/fstab 的內容,自動掛載
2. 掛載命令格式
$ mount [-t 文件系統] [-o 特殊選項] 設備文件名 掛載點
-t
文件系統 : 加入文件系統類型來指定掛載的類型,可以時ext3,ext4,ios9660(光盤)等文件系統-o
特殊選項: 可以指定掛載的額外選項
$ mount -o remount,noexec /home
重新掛載/home分區,並且使用noexec權限(不運行執行權限,即使根目錄)
3. 掛載光盤
mkdir /mnt/cdrom/
建立掛載點mount -t iso9660 /dev/src0 /mnt/cdrom
掛載光盤
4. 卸載命令
umount 設備文件名或掛載點
用完之後一定要卸載
5.掛載U盤
fdisk -l
查看分區
mount -t vfat /dev/sdb1 /mnt/usb
linux 默認是不支持NTFS文件系統的
7.2 用戶登錄查看
1. 查看用戶信息
w [用戶名]
who
2. 查看當前登錄和過去登錄的用戶信息,包括重啓時間
last
默認讀取的文件是 /var/log/wtmp
3. 查看系統中的所有用戶最後一次登錄的信息
lastlog
默認讀取的是 /var/log/lastlog