命令行基礎、目錄和文件管理、教學環境介紹、總結和答疑
[root@nsd1802 ~]# uname -r
3.10.0-693.el7.x86_64
[root@nsd1802 ~]# hostname #顯示主機名
[root@nsd1802 ~]# pwd #顯示當前所在位置
[root@nsd1802 ~]# cd / #切換到 / 目錄下
[root@nsd1802 /]# pwd #顯示當前所在位置
[root@nsd1802 /]# ls #顯示當前所在目錄的 內容
查看文本文件內容
[root@nsd1802 ~]# cat #不適合 查看大文件
[root@nsd1802 ~]# less /etc/passwd #適合查看大文件,分屏閱讀工具
按 q 退出
查看文本文件部分內容
[root@nsd1802 ~]# head -3 /etc/passwd #顯示文本文件內容的前3行
[root@nsd1802 ~]# tail -4 /etc/passwd #顯示文本文件內容的尾部4行
[root@nsd1802 ~]# head -2 /etc/passwd #顯示文本文件內容的前2行
[root@nsd1802 ~]# tail -1 /etc/passwd #顯示文本文件內容的尾部1行
[root@nsd1802 ~]# head /etc/passwd #默認顯示文本文件前10行
[root@nsd1802 ~]# tail /etc/passwd #默認顯示文本文件尾10行
查看文本文件,包含指定字符串的行
grep ‘指定字符串‘ /路徑/文本文件
[root@nsd1802 ~]# grep ‘root‘ /etc/passwd
[root@nsd1802 ~]# grep ‘bin‘ /etc/passwd
[root@nsd1802 ~]# grep ‘dog‘ /etc/passwd
##################################################################
命令行基礎
? Linux命令
– 用來實現某一類功能的指令或程序
– 命令的執行依賴於解釋器(例如:/bin/bash)
默認的解釋器:/bin/bash
綠色:可以執行的程序
用戶 -------->解釋器 -------->內核------->硬件
命令行的一般格式
? 基本用法
– 命令字 [選項]... [參數1] [參數2]...
[root@server0 ~]# ls -l /root/
快速編輯技巧
? Tab鍵自動補全
– 可補齊命令字、選項、參數、文件路徑、軟件名、服務名
[root@nsd1802 ~]# ls /et(tab)/red(tab)-r(tab)
/etc/redhat-release
[root@nsd1802 ~]# cat /et(tab)/red(tab)-r(tab)
[root@nsd1802 ~]# if(連續按兩次tab)
ls /et(tab)/sysco(tab)/netw(tab)-(tab)/ifc(tab)-e(tab)
cat /et(tab)/sysco(tab)/netw(tab)-(tab)/ifc(tab)-e(tab)
? 快捷鍵
– Ctrl + l: 清空整個屏幕
– Ctrl + c: 結束正在運行的命令
– Esc + . : 粘貼上一個命令的參數
– Ctrl + u:清空至行首
– Ctrl + w:往回刪除一個單詞(以空格界定)
ls /et(tab)/sysco(tab)/netw(tab)-(tab)/ifc(tab)-e(tab)
cat Esc + .
cat -n Esc + .
#################################################################
mount掛載操作
訪問光盤的內容
windows:
光盤文件------->光驅設備------->CD驅動器
Linux:
光盤文件------->光驅設備-------->訪問點(隨意的目錄)
青色:快捷方式
訪問點: 在訪問設備資源時
1.通過圖形將光盤文件放入光驅設備
2.查看光驅設備文件
[root@nsd1802 ~]# ls /dev/sr0
/dev/sr0
[root@nsd1802 ~]# ls /dev/cdrom
/dev/cdrom
[root@nsd1802 ~]# ls -l /dev/cdrom #以長格式顯示參數詳細屬性
3.訪問光驅設備內容
[root@nsd1802 ~]# mkdir /dvd
[root@nsd1802 ~]# ls /dvd/
[root@nsd1802 ~]# mount /dev/cdrom /dvd #讓/dvd目錄成為/dev/cdrom訪問點
[root@nsd1802 ~]# ls /dvd/
[root@nsd1802 ~]# ls /dvd/P(tab)
4.卸載
[root@nsd1802 ~]# umount /dvd
[root@nsd1802 ~]# ls /dvd/
[root@nsd1802 ~]# mount /dev/cdrom /dvd #讓/dvd目錄成為/dev/cdrom訪問點
[root@nsd1802 ~]# ls /dvd/
#################################################################
註意:
1.掛載時 掛載點目錄(訪問點)盡量不要是 根目錄 已經存在的目錄,自己創建新目錄
2.卸載時 當前路徑,不能是掛載點目錄(訪問點)
#################################################################
目錄 與 文件 的管理
? cd — Change Directory
– 用途:切換工作目錄
– 格式:cd [目標文件夾位置]
絕對路徑: 以根目錄開始的路徑
相對路徑: 不以根目錄開始的路徑,以當前為參照的路徑
[root@nsd1802 /]# cd /etc/pki/ #絕對路徑
[root@nsd1802 pki]# pwd
[root@nsd1802 pki]# ls
[root@nsd1802 pki]# cd /etc/pki/CA #絕對路徑
[root@nsd1802 CA]# pwd
[root@nsd1802 /]# cd /
[root@nsd1802 /]# pwd
[root@nsd1802 /]# cd /etc/pki/ #絕對路徑
[root@nsd1802 pki]# pwd
[root@nsd1802 pki]# cd CA #相對路徑
[root@nsd1802 CA]# pwd
[root@nsd1802 /]# cd /etc/pki/
[root@nsd1802 pki]# pwd
[root@nsd1802 pki]# cd .. #後退一層
[root@nsd1802 etc]# pwd
[root@nsd1802 etc]# cd .. #後退一層
[root@nsd1802 /]# pwd
[root@nsd1802 /]# cd /var/log
[root@nsd1802 log]# pwd
[root@nsd1802 log]# cd ..
[root@nsd1802 var]# pwd
[root@nsd1802 var]# cd ..
[root@nsd1802 /]# pwd
~user表示用戶user的家目錄
[root@nsd1802 log]# cd ~root
[root@nsd1802 ~]# pwd
/root
[root@nsd1802 ~]# cd ~lisi
[root@nsd1802 lisi]# pwd
/home/lisi
[root@nsd1802 lisi]# useradd tom #創建用戶tom
[root@nsd1802 lisi]# cd ~tom
[root@nsd1802 tom]# pwd
/home/tom
[root@nsd1802 /]# cd ~ #默認回到當前用戶的家目錄
[root@nsd1802 ~]# pwd
/root
[root@nsd1802 ~]# cd /
[root@nsd1802 /]# cd #默認回家
[root@nsd1802 ~]# pwd
/root
[root@nsd1802 ~]#
? ls — List
– 格式:ls [選項]... [目錄或文件名]
? 常用命令選項(查看命令的幫助信息可以使用 man 命令)
– -l:以長格式顯示
– -A:包括名稱以 . 開頭的隱藏文檔
– -d:顯示目錄本身(而不是內容)的屬性
– -h:提供易讀的容量單位(K、M等)
[root@nsd1802 ~]# ls /root
[root@nsd1802 ~]# ls /boot
[root@nsd1802 ~]# ls -l /boot
[root@nsd1802 ~]# ls -lh /boot
[root@nsd1802 ~]# ls -ld /boot
[root@nsd1802 ~]# ls -l /root
[root@nsd1802 ~]# ls -l /opt
[root@nsd1802 ~]# ls -ld /opt
[root@nsd1802 ~]# ls -A /root
[root@nsd1802 ~]# ls -lA /root
###############################################################
使用通配符
? 針對不確定的文檔名稱,以特殊字符表示
– *:任意多個任意字符
– ?:單個字符
[root@nsd1802 /]# ls /boot/init* #顯示/boot目錄下init開頭
[root@nsd1802 /]# ls /boot/vm* #顯示/boot目錄下vm開頭
[root@nsd1802 /]# ls /etc/*.conf #顯示/etc目錄下.conf結尾
[root@nsd1802 /]# ls /dev/tty* #顯示/dev目錄下tty開頭
[root@nsd1802 /]# ls /dev/tty? #顯示/dev目錄下tty開頭後面一個字符的
[root@nsd1802 /]# ls /dev/tty?? #顯示/dev目錄下tty開頭後面二個字符的
[root@nsd1802 /]# ls /dev/tty??? #顯示/dev目錄下tty開頭後面三個字符的
針對不確定的文檔名稱,以特殊字符表示
– [a-z]:多個字符或連續範圍中的一個,若無則忽略
– {a,min,xy}:多組不同的字符串,全匹配
[root@nsd1802 /]# ls /dev/tty{1,3,5,7,9,23}
[root@nsd1802 /]# ls /dev/tty[1-4]
[root@nsd1802 /]# ls /dev/tty[1-7]
[root@nsd1802 /]# ls /dev/tty{1,3,5,7,9,23,S0}
請顯示/dev目錄下,tty設備 顯示 tty20~tty30 ?
[root@nsd1802 /]# ls /dev/tty2[0-9] /dev/tty30
[root@nsd1802 /]# ls /dev/tty{2[0-9],30}
##########################################################
別名的定義,簡化較為復雜的命令
[root@nsd1802 /]# alias hn=‘hostname‘ #設置命令的別名
[root@nsd1802 /]# hn
[root@nsd1802 /]# alias aa=‘ls -ld‘ #設置命令的別名
[root@nsd1802 /]# aa /root/
[root@nsd1802 /]# alias
[root@nsd1802 /]# unalias hn #刪除命令的別名
[root@nsd1802 /]# hn
bash: hn: 未找到命令...
###########################################################
[root@server0 ~]# mkdir -p /vod/movie/cartoon #-p表示連父目錄一起創建
[root@nsd1802 /]# mkdir -p /opt/aa/bb/cc/dd
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# ls /opt/aa
[root@nsd1802 /]# ls /opt/aa/bb/
[root@nsd1802 /]# ls /opt/aa/bb/cc/
[root@nsd1802 /]# mkdir /boot/nsd02 /mnt/nsd03 /opt/nsd04
[root@nsd1802 /]# ls /boot
[root@nsd1802 /]# ls /mnt/
[root@nsd1802 /]# ls /opt/
##########################################################
復制、刪除、移動
rm 刪除
? rm — Remove
– 格式:rm [選項]... 文件或目錄...
? 常用命令選項
– -r、-f:遞歸刪除(含目錄)、強制刪除
[root@nsd1802 /]# mkdir /opt/test01
[root@nsd1802 /]# mkdir /opt/test02
[root@nsd1802 /]# touch /opt/1.txt
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# rm -rf /opt/test01
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# rm -rf /opt/test02
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# rm -rf /opt/1.txt
[root@nsd1802 /]# ls /opt
[root@nsd1802 /]# ls /mnt/
[root@nsd1802 /]# rm -rf /mnt/*
[root@nsd1802 /]# ls /mnt/
mv 移動/改名
? mv — Move
– 格式:mv [選項]... 原文件... 目標路徑
[root@nsd1802 /]# rm -rf /opt/*
[root@nsd1802 /]# mkdir /opt/nsd01
[root@nsd1802 /]# touch /opt/1.txt
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/1.txt /opt/nsd01
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# ls /opt/nsd01
重命名:路徑不變的移動
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/nsd01/ /opt/student
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# mv /opt/student/ /opt/haha
[root@nsd1802 /]# ls /opt/
cp 復制
? cp — Copy
– 格式:cp [選項]... 原文件... 目標路徑
? 常用命令選項
– -r:遞歸,復制目錄時必須有此選項
[root@nsd1802 /]# rm -rf /opt/*
[root@nsd1802 /]# cp /etc/passwd /opt/
[root@nsd1802 /]# ls /opt/
passwd
[root@nsd1802 /]# cp /etc/redhat-release /opt/
[root@nsd1802 /]# ls /opt/
passwd redhat-release
[root@nsd1802 /]# cp /boot/ /opt/
cp: 略過目錄"/boot/"
[root@nsd1802 /]# ls /opt/
[root@nsd1802 /]# cp -r /boot/ /opt/
[root@nsd1802 /]# ls /opt/
boot passwd redhat-release
cp:可以在復制時,改變源文件在目標路徑中名字
. : 代表當前路徑
[root@nsd1802 / ]# cd /etc/sysconfig/network-scripts
[root@nsd1802 network-scripts]# cp /etc/passwd . #拷貝到當前目錄下
cp:可以加三個以上的參數,將最後一個參數作為目標,其他作為源文件
rm -rf /opt/*
cp -r /home/ /boot/ /etc/passwd /etc/redhat-release /opt/
ls /opt/
cp -r /boot/ /opt/
\cp -r /boot/ /opt/ #臨時取消別名
##############################################################
修改文本文件內容
vim 文本編輯器
命令模式 輸入模式(插入模式) 末行模式
[root@server0 ~]# vim /opt/haxi.txt
i 鍵
命-----------------------------》輸入模式(Esc 鍵回到命令模式)
令
模
式-----------------------------》末行模式(Esc 鍵回到命令模式)
: 鍵
末行模式 :wq 保存並退出
:q! 強制不保存並退出
##################################################################
命令行基礎、目錄和文件管理、教學環境介紹、總結和答疑