shell命令和bash命令相同,指的是命令解析器
快捷鍵
history
所有的歷史命令ctrl + P
向上滾動命令 ctrl + N
向下滾動命令 ctrl+B
將光標向前移動 ctrl+F
將光標向后移動 ctrl+A
移動到命令行頭部 ctrl+E
移動到命令行尾部
光標刪除操作:刪除光標前面字符ctrl+h
或者退格建 刪除光標覆蓋的字符ctrl+d
刪除光標前所有的ctrl+u
Tab
鍵 自動補全,如果命令不明確連續按兩下就可以得到所有相關的命令 同時還能補全路徑
目錄
Linux
下沒有盤符結構
ls 目錄
展示文件夾內容 cd 目錄
進入目錄
/bin
目錄放著經常使用的命令的程序/boot
開機啟動項/dev
外部設備文件(Linux下一切都是文件/etc
操作系統以及軟件所需要的配置文件/home
存放所有用戶的主目錄/lib
存放動態鏈接庫(共享庫)/lost+found
存放文件碎片/media
自動掛載外設/mnt
手動掛載外設,一般情況下沒有什么東西/opt
第三方軟件安裝目錄/proc
虛擬目錄/root
超級用戶的目錄/sbin
管理員使用的命令/usr
用戶軟件資源目錄,默認安裝目錄
絕對路徑:從根目錄開始
相對路徑:從當前路徑開始.
當前目錄..
父目錄 -
退回上次所在的目錄
命令行中一般為 當前用戶@主機:~$
其中~
為家目錄(宿主目錄)$
表示普通用戶 #
表示超級用戶
pwd
獲取當前位置
sudo su
切換超級用戶 exit
退出 cd ~
進入家目錄 cd
進入家目錄
文件和目錄操作
- 白色:普通文件
- 藍色:目錄
- 綠色:可執行文件
- 紅色:壓縮文件
- 青色:鏈接文件(快捷文件)
- 黃色:設備文件(塊文件,字符文件,管道)
- 灰色:說不清楚
展示所有的內容:參數-a
前面帶點的文件:隱藏文件/目錄
參數-l
展示詳細信息
詳細信息:
- 第1個字符:文件種類
-
普通文件d
目錄l
軟連接(快捷方式)p
管道 - 第2~10個字符:文件權限
r w x
所有者+同組用戶+其他人 - 數字 文件的硬連接數
- 文件所有者
- 文件所有組
- 占有空間:普通文件就是實際大小 目錄的話就是目錄本身的大小
- 創建/修改日期
- 文件或者目錄的名字
創建目錄
mkdir 目錄名
創建一個目錄
mkdir -p 目錄1/目錄2/目錄3
創建復合目錄
rmdir 目錄
刪除一個空目錄 //刪除后消失
rm 目錄 -r
遞歸刪除目錄 參數-i
提示刪除操作
創建、刪除、復制文件
touch 文件
創建文件,不加后綴的時候默認是一個普通文件,如果文件已經存在則無法重新創建,僅僅修改日期
rm 文件
刪除文件
cp 原文件 目標文件
拷貝文件內容到文件中,覆蓋目標文件,不支持創建和目錄名字相同的文件
cp 原文件 目標目錄
拷貝文件內容到目標目錄中
cp-r 目錄 目標目錄
將目錄拷貝到目標目錄,如果目標目錄不存在則創建目標目錄,將目錄的內容直接復制一份放在目標目錄中,如果目標目錄不為空則將目錄放在目標目錄中
靈活使用通配符可以操作目錄里面的內容,比如刪除目錄中的內容,拷貝目錄中的內容到另一個目錄中
查看/修改文件
cat 文件
將文件內容展示到屏幕上,但是只能顯示一部分內容
more 文件
回車換行,空格換頁,回不到前面去,q
或ctrl+C
退出
less 文件
回車換行,空格換頁,Ctrl+P
向前換行Ctrl+N
向下換行
head [-x] 文件
顯示文件x行,如果不寫參數默認x=10,同樣的tail [-x] 文件
mv 文件 重命名
重命名文件
mv 文件 目錄
移動文件
鏈接的創建
軟鏈接
ln -s 絕對路徑 軟連接名
軟連接相當于快捷方式 文件刪除后軟鏈接失效
硬鏈接
ln 文件A 文件B
給文件A備份,相當于拷貝一份目錄索引節點,實際上沒有復制文件的,同時會修改文件的硬鏈接計數,相當于一個指針 文件刪除后硬鏈接不會失效
文件或目錄屬性
wc
獲取文本文件的信息:行數 單詞數 字符數 文件名od -tX
獲取二進制文件信息,其中X為數據顯示形式du -h
獲取目錄的信息df -h
獲取磁盤信息
witch
witch 命令
找到命令程序所在目錄
cd 命令找不到目錄是因為cd命令是內部命令
權限
修改文件權限
查找當前登錄用戶:whoami
- 文件設定法
chmod who+/-/= mode 文件名
文件所有者u 文件所有組g 其他人o 所有人a
= 覆蓋原來的權限
mode: r 讀 w 寫 x執行 - 數字設定法
chmod 數字 文件名
例如:chmod 777 test
修改文件所屬用戶、組
文件所屬組不一定是文件所有者所在的組
sudo chown 文件所有者[:文件所屬組] 文件名
sudo chgrp 文件所有組 文件名
目錄必須要有執行權限才能進入目錄
查找文件
根據文件名
find 查找目錄 -name '文件名'記得加上引號
通配符:*指代零個或者多個字符 ?指代一個字符find 查找目錄 -size +/-文件大小
find 查找目錄 -size +a -size -b //搜索大于a小于b的文件
find 查找目錄 -type 文件類型
文件類型:
- 普通文件 f
- 目錄 d
- 塊設備 b
- 字符設備c
- 套接字 s
- 管道 p
- 鏈接 l
文件內容(文件中的內容)
grep -r '查找內容' '查找路徑'
安裝/卸載軟件
sudo apt-get install 軟件名稱//安裝軟件
sudo apt-get remove 軟件名稱//卸載軟件
sudo apt-get update //更新軟件列表
sudo apt-get clean //清理所有軟件安裝包//deb包的安裝
sudo dpkg -i 安裝包名
sudo dpkg -r 安裝包名
掛載U盤
卸載掛載的U盤
umount /media/U盤名 //默認掛載在media目錄下
掛載U盤
sudo fdisk -l //獲得電腦設備的名字
mount 設備名 掛載目錄 //比如掛載在mnt目錄下
磁盤知識:sd 磁盤種類為SCSI Device
主分區1~4,邏輯分區5~
如果將U盤文件掛載在非mnt目錄中會暫時覆蓋該文件中的內容,卸載以后恢復
壓縮包管理
.gz
使用gzip
壓縮文件,不可以保留源文件,不可以壓縮目錄
gzip *.txt //壓縮
gunzip *.gz//解壓
.bz2
壓縮文件,-k
可以保留源文件,不可以壓縮目錄
bzip2 *.txt//壓縮
bunzip2 *.bz2//解壓
tar
參數:不適用z/j參數,只能對文件進行打包,不能壓縮
- c 壓縮,創建
- x 解壓縮,釋放
- v 顯示壓縮過程中的提示信息
- f 指定壓縮文件的名字
- z 使用gzip的方式壓縮文件
- j 使用bzip2的方式壓縮文件
壓縮:
tar zcvf 生成壓縮包的名字(xxx.tar.gz) 需要壓縮的文件/目錄
tar jcvf 生成壓縮包的名字(xxx.tar.bz2) 需要壓縮的文件/目錄
解壓縮
tar zxvf 壓縮包的名字 [-C 目錄,如果不寫參數為當前目錄]
rar
安裝rar軟件
參數
- a壓縮
- x解壓縮
壓縮:
rar a 生成壓縮文件的名字(會自動添加.rar后綴) 壓縮的文件或者目錄
解壓縮
rar x 解壓縮文件名 [解壓縮的目錄]
ZIP
壓縮:
zip 壓縮包的名字 壓縮的文件/目錄//壓縮目錄的時候需要-r 參數
解壓縮
unzip 壓縮包的名字 [-d 解壓目錄]
進程管理
who
查找當前用戶狀態
tty7
帶桌面的終端
tty1~6
文字終端
ctrl+alt+f1~7
pts
設備終端
查看進程ps
參數:
- a 查看所有的用戶信息
- u 顯示用戶自己的信息
- x 查看沒有終端的應用程序
運行狀態中的參數分別代表: R
運行S
后臺運行Z
僵尸進程
其中PID
就是程序對應進程的ID
TTY為?的說明不需要終端,這些應用不需要和用戶進行交互
管道:將前一個命令的輸出當做后一個命令的輸入,常用于信息查找什么的
ps aux|grep 內容//查找含有內容的進程
查找到一條以上的內容才算找到進程,因為grep內容的時候本身就是一個進程,會在最后列出
echo 字符串 //將字符串打印在終端中
殺死進程
kill -SIGKILL PID
kill -9 PID
kill -l 查看所有的信號
查看當前進程的環境變量
env //查看所有的環境變量
env |grep PATH //查找只和PATH有關的
key=val:val:val
任務管理器
top