# 命令格式
命令 【選項】【參數】
命令 --help # 命令幫助
# 查看命令依賴庫
ldd 【絕對路徑】 # 如 ldd /bin/ls
# 搜查命令
whereis 命令 # 命令所在路徑以及幫助文檔路徑
which 命令 # 命令所在路徑以及別名(如果有別名)
# 命令別名(退出登陸後失效)
alias # 查看所有別名
alias 【別名】 # 可以查已有的別名,但是如果查系統命令,也會提示not found
type 【命令】 # 可以確定別名是否已被佔用,系統命令也會有對應提示
alias 【別名】=【命令】 # 起別名
unalias 【別名】 # 取消別名
alias loo='cd /root;ls;cd ~' # 聯合命令,命令間用;隔開
# 永久別名
vi /etc/bashrc # 修改配置文件,文件尾行加入 alias 命令
source /etc/bashrc # 使配置文件生效
磁盤命令
# 磁盤命令 :
# 切換目錄
cd 【路徑】
cd .. # 返回上一層目錄
cd ../.. # 返回上兩層目錄
cd ~ # 返回當前用戶的家目錄
cd - # 回到上次切換的目錄
pwd # 查看當前目錄
# 展示指定目錄下的文件列表
ls 【路徑】 # 不加路徑直接是ls就是查看當前目錄下的文件
ls -l # 別名ll 展示文件詳細信息
ls -h # 別名ll -h 易讀方式展示文件詳細信息
ls -a # 展示所有文件(包括隱藏文件)
ls -A # 展示所有文件(包括隱藏文件,但不包含..和.)
# linux 中以.開頭的是隱藏文件或隱藏目錄
du -h #展示文件佔用空間大少(易讀方式)
df -h #展示磁盤利用率(易讀方式)
文件命令
# 創建
touch # 創建文件以及刷新文件的日期標記(如果文件已存在)
mkdir # 創建文件夾
mkdir aa/bb # 如果aa目錄存在,在aa下創建bb文件夾,如果沒有aa,報錯
mkdir -p aa/bb # 級聯創建,如果沒有aa,先建aa,再建bb
mkdir -p {d1,d2/{d2_1,d2_2}} # 創建多級目錄
ln -s 【源文件】【目標文件名】 # 創建鏈接文件 -s是軟鏈
# 查看
file 【文件】
ls
df
du
find # 查找
grep # 搜索
cat 【文件】 # 展示文件全部內容,但由於終端問題,長文件會顯示最後的部分
cat -n # 展示行號
tac 【文件】 # cat的倒序展示
more 【文件】 # 分頁顯示文件內容 # 空白鍵下一頁,b上一頁,q退出,到達尾頁自動退出
more -num # num是具體的整數,一次顯示的行數
more +num # 從num行開始顯示
less 【文件】 # 分頁顯示,選項同more,到達尾頁不會自動退出
head 【文件】 # 展示開頭的若干行(默認10行)
head -n 5 【】 # 展示開頭5行
tail 【文件】 # 展示結尾的若干行(默認10行)
tail -f 【文件】 # 始終查看最新內容
# 複製移動文件
cp 【源文件】【目標文件】
cp -i # 覆蓋時提示
cp -f # 強制覆蓋
cp -r # 遞歸複製
cd -p # 不改變複製文件的屬性
mv 【源文件】【目標文件】 # mv選項同cp,既是移動命令 也是重命名命令
mv -u # 目標文件不存在 或者 源文件比目標文件新 才移動
# 刪除
rmdir 【文件夾】 # 刪除空文件夾
rmdir -r # 級聯刪除,刪除目標空文件夾,如果這個空文件夾的上一層也空了,那麼繼續刪除
rm 【文件】 # 刪除文件 或者文件夾 默認是 -i
rm -i # 刪除前逐一詢問確認
rm -f # 無需提示,直接刪除
rm -r # 逐一刪除文件及目錄
rm -rf # 刪除文件夾
rm -rf * # 刪除當前目錄下的所有文件
rm -rf / # 刪除根目錄(極度危險操作)(刪庫跑路系列)
# 通常,保險起見,不直接用rm,用mv命令移動文件到回收站。
# 文件修改 vi文本操作看下一篇筆記
vi 【文件名】 # 如果當前目錄沒有該文件,則新建空白文本
終端
# 選擇shell
echo $SHELL # 查看當前shell
cat /etc/shells # 查看系統支持的所有shell
sh # 上一個命令中如果有這個shell,直接輸入進行切換shell,退出shell用exit
# 清屏
clear # 該命令往上翻滾,還能看到記錄
ctrl + l # 命令clear的快捷鍵,不算命令
reset
# 打印命令 相當於python的 print
printf
echo 【變量或字符串】 # 把字符串或者變量值打印到屏幕
echo -n # 輸出後不換行
echo -e # 處理特殊符號 如\a \b \c \f \n...
echo $變量名/${變量名} # 推薦用後一種,形成良好習慣
@echo on/off # dos中是否顯示命令行自身的開關,和linux無關
echo ${PATH} > /home/a.txt # 重定向輸出爲a.txt文件(覆蓋)
echo $PATH >> /home/a.txt # 重定向輸出爲a.txt文件(追加)
# 管道
|
# command -a|command -b|command -c|......
# 管道命令只處理前一個命令的正確輸出,不處理錯誤輸出;
# 管道右邊的命令,必須能夠接受標準輸入的數據流命令纔行;
# 管道符可以把兩條命令連起來,它可以連接多個命令使用
ll | tee -a a.txt | grep top # 用tee保存文件可以讓信息流繼續往下一個管道過去
# 輸入輸出 重定向
# > # 輸出重定向(覆蓋)
# 1> # 等同於 > 正常文本輸出
# 2> # 錯誤文本輸出
# >> # 輸出重定向(追加)
# < # 輸入重定向(只讀) # 命令的輸入參數由鍵盤輸入 改爲文件輸入
# 0< # 等同於 <
# << # 輸入重定向 這個暫時未找到用法·
>a.txt # 清空a.txt
# 命令運行 正常信息輸出爲n.txt 報錯信息輸出爲e.txt
ll a.txt 1>n.txt 2>e.txt
# 把查看b.txt文件的信息輸入到c.txt,如果命令報錯,報錯信息也輸入到c.txt中
ll b.txt > c.txt 2>&1
grep root < /etc/passwd # 在passwd文本中查找root字符
cat > a.txt << bb # 持續向a.txt中輸入字符,直到bb結束
bbb
abb
bb