慕課網:Linux 達人養成計劃_2_ Linux常用命令

慕課網: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 創建軟鏈接

  • 硬鏈接特徵

    1. 擁有相同的i節點和存儲block塊,可以看做是同一個文件
    2. 可通過i節點識別
    3. 不能跨分區
    4. 不能針對目錄使用
  • 軟鏈接特徵

    1. 類似Windows的快捷方式
    2. 軟鏈接擁有自己的i節點和Block塊,但是數據塊中只保存原文件的文件名和I節點號,並沒有實際的文件數據
    3. lrwxrwxrwx l:軟鏈接 軟鏈接文件的權限都爲rwxrwxrwx
    4. 修改任意文件,另一個都改變
    5. 刪除原文件,軟鏈接不能使用

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 M
  • 25k 等於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章