Linux總結3

如何編寫命令行

– 用來實現某一類功能的指令或程序
總結:執行Linux大多數命令,都要找到對應執行程序

– 命令的執行依賴於解釋器(默認解釋器:/bin/bash)

 用戶----->解釋器------>內核----->硬件

綠色:可以執行的程序

####################################################
• Linux命令的分類
– 內部命令:屬於解釋器的一部分
– 外部命令:解釋器之外的其他程序

####################################################
命令行的一般格式
• 基本用法
– 命令字 [選項]… [參數1] [參數2]…

[root@1906 ~]# cat --help #查看命令的幫助信息
[root@1906 ~]# cat /etc/passwd
[root@1906 ~]# cat -n /etc/passwd #顯示行號
[root@1906 ~]# cat -n /etc/redhat-relese
[root@1906 ~]# cat -n /etc/shells
[root@1906 ~]# cat -n /etc/shadow

##################################################
快速編輯技巧
• Tab鍵自動補全
– 可補齊命令字、選項、參數、文件路徑、軟件名、服務名
]# if(tab)(tab)
]# ifco(tab)

]# cat /et(tab)/red(tab)

]# ls /etc/sysconfig/network-scripts/ifcfg-eth0
]# ls /et(tab)/sysco(tab)/netw(tab)-(tab)/ifc(tab)-e(tab)

• 快捷鍵
– Ctrl + l:清空整個屏幕
– Ctrl + c:廢棄當前編輯的命令行(結束正在運行的命令)
– Esc + . 或 Alt + .:粘貼上一個命令的參數

– Ctrl + u:清空至行首
– Ctrl + w:往回刪除一個單詞(以空格界定)

[root@1906 ~]# ls /etc/shells
[root@1906 ~]# cat ALT+.
[root@1906 ~]# cat -n ALT+.

]# ls /etc/sysconfig/network-scripts/ifcfg-eth0
]# cat -n ALT+.

#####################################################
mount掛載操作:讓目錄成爲設備的訪問點

1.系統光盤獲得衆多的軟件包,安裝軟件包
2.系統中顯示光盤內容

Windows:
光盤文件------>光驅設備------->CD驅動器(訪問點)

Linux:
光盤文件------>光驅設備------->訪問點(目錄)
/dev/cdrom

青色:快捷方式

1.圖形將光盤文件放入到虛擬光驅設備
2.查看光驅設備
[root@1906 ~]# ls -l /dev/cdrom #光驅快捷方式
[root@1906 ~]# ls /dev/sr0 #實際光驅設備

3.進行掛載
• 使用mount命令
– 格式:mount 設備路徑 掛載點目錄
[root@1906 ~]# mkdir /dvd
[root@1906 ~]# ls /dvd/

[root@1906 ~]# mount /dev/cdrom /dvd
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@1906 ~]# ls /dvd/
[root@1906 ~]# ls /dvd/P(tab)

4.卸載
[root@1906 /]# umount /dvd/
[root@1906 /]# ls /dvd

[root@1906 /]# mkdir /nsd1906
[root@1906 /]# mount /dev/cdrom /nsd1906/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@1906 /]# ls /nsd1906/

常見的提示:
[root@1906 dvd]# pwd
[root@1906 dvd]# umount /dvd/
umount: /dvd:目標忙。

注意事項:
1.允許一個設備可以具備,多個不同的掛載點目錄
2.不允許一個掛載點目錄,有多個設備
3.建議掛點目錄是一個自己創建的目錄

##################################################
目錄和文件管理

使用pwd、cd
• pwd — Print Working Directory
– 用途:查看當前工作目錄

• cd — Change Directory
– 用途:切換工作目錄
– 格式:cd [目標文件夾位置]

. 表示當前目錄
.. 表示父目錄
~:家目錄
~user表示用戶user的家目錄

/root:管理員的家目錄
/home:存放所有普通用戶的家目錄

[root@1906 /]# cd ~root
[root@1906 ~]# pwd
/root
[root@1906 ~]# cd ~lisi
[root@1906 lisi]# pwd
/home/lisi
[root@1906 lisi]# useradd tom #創建普通用戶tom
[root@1906 lisi]# cd ~tom
[root@1906 tom]# pwd
/home/tom
[root@1906 tom]#

• ls — List
– 格式:ls [選項]… [目錄或文件名]

• 常用命令選項
– -l:以長格式顯示,顯示詳細信息
– -A:包括名稱以 . 開頭的隱藏文檔
– -d:顯示目錄本身(而不是內容)的屬性
– -h:提供易讀的容量單位(K、M等)

[root@1906 ~]# ls -l /etc/passwd
[root@1906 ~]# ls -l -h /etc/passwd

[root@1906 ~]# ls -lh /etc/passwd #顯示文件的詳細屬性

[root@1906 ~]# ls -l /boot/ #顯示目錄內容詳細屬性
[root@1906 ~]# ls -lh /boot/

[root@1906 /]# ls -ld / #顯示目錄本身的詳細屬性
[root@1906 /]# ls -ld /opt
[root@1906 /]# ls -ld /boot

[root@1906 /]# ls -A /root #顯示目錄的所有內容,包括隱藏數據
[root@1906 /]# ls -A /boot
[root@1906 /]#

#################################################
使用通配符

• 針對不確定的文檔名稱,以特殊字符表示
– *:任意多個任意字符
– ?:單個字符

[root@1906 /]# ls /boot/vm* #在/boot目錄顯示vm開頭的數據
[root@1906 /]# ls /dev/tty* #顯示tty開頭的數據

[root@1906 /]# ls /etc/tab #以tab作爲結尾的數據
[root@1906 /]# ls /etc/
.conf #以.conf作爲結尾的數據

[root@1906 /]# ls /dev/tty?
[root@1906 /]# ls /dev/tty??
[root@1906 /]# ls /dev/tty???

[root@1906 /]# ls /etc/??tab

• 針對不確定的文檔名稱,以特殊字符表示
– [a-z]:多個字符或連續範圍中的一個,若無則忽略
– {a,min,xy}:多組不同的字符串,全匹配
[root@1906 /]# ls /dev/tty[3-8]
[root@1906 /]# ls /dev/tty[4-7]

[root@1906 /]# ls /dev/tty{1,21,60}
[root@1906 /]# ls /dev/tty{1,3,5,7,9}

###################################################
別名的定義:簡化複雜的命令

• 查看已設置的別名
– alias [別名名稱]

• 定義新的別名
– alias 別名名稱= ‘實際執行的命令行’

• 取消已設置的別名
– unalias [別名名稱]

[root@1906 /]# hostname
1906.tedu.cn
[root@1906 /]# hn
bash: hn: 未找到命令…
[root@1906 /]# alias hn=‘hostname’ #定義別名

[root@1906 /]# alias #顯示當前系統有效別名
[root@1906 /]# hn #運行hn執行成功

[root@1906 /]# unalias hn #刪除別名
[root@1906 /]# hn
bash: hn: 未找到命令…

###################################################

• mkdir — Make Directory
– 格式:mkdir [-p] [/路徑/]目錄名…
[root@1906 /]# mkdir -p /vod/movie/cartoon
#-p表示連父目錄一起創建

[root@1906 /]# ls -R /vod

[root@1906 /]# mkdir /opt/nsd01
[root@1906 /]# ls /opt/

[root@1906 /]# mkdir -p /opt/aa/bb/cc/dd
[root@1906 /]# ls /opt/
[root@1906 /]# ls -R /opt/aa #-R表示遞歸顯示

查找文本內容
• 根據字符串模式提取文本行
– grep [選項] ‘匹配模式’ 文本文件…

• 常用命令選項
– -v,取反匹配
– -i,忽略大小寫

[root@1906 /]# grep root /etc/passwd
[root@1906 /]# grep -v root /etc/passwd #取反查找

[root@1906 /]# grep ROOT /etc/passwd
[root@1906 /]# grep -i ROOT /etc/passwd #忽略大小寫

– ^word 以字符串word開頭
– word$ 以字符串word結尾

[root@1906 /]# grep ^root /etc/passwd #以root開頭
[root@1906 /]# grep bash$ /etc/passwd #以bash結尾

####################################################
rm 刪除
• rm — Remove
– 格式:rm [選項]… 文件或目錄…

• 常用命令選項
– -r、-f:遞歸刪除(含目錄)、強制刪除

[root@1906 /]# mkdir /opt/nsdtest
[root@1906 /]# touch /opt/1.txt
[root@1906 /]# touch /opt/2.txt
[root@1906 /]# ls /opt/
1.txt 2.txt nsdtest
[root@1906 /]# rm -rf /opt/1.txt #強制刪除所有
[root@1906 /]# rm -rf /opt/2.txt
[root@1906 /]# ls /opt/

[root@1906 /]# rm -rf /opt/nsdtest
[root@1906 /]# ls /opt/

###################################################
mv 移動/改名
• mv — Move
– 格式:mv [選項]… 原文件… 目標路徑

[root@1906 /]# mkdir /opt/nsd
[root@1906 /]# touch /opt/a.txt
[root@1906 /]# ls /opt/

[root@1906 /]# mv /opt/a.txt /opt/nsd
[root@1906 /]# ls /opt/nsd
[root@1906 /]# ls /opt/

重命名:路徑不變的移動
[root@1906 /]# mv /opt/nsd/ /opt/haha
[root@1906 /]# ls /opt/

[root@1906 /]# mv /opt/haha/ /opt/student
[root@1906 /]# ls /opt/

###################################################
cp 複製
• cp — Copy
– 格式:cp [選項]… 原文件… 目標路徑

• 常用命令選項
– -r:遞歸,複製目錄時必須有此選項

/etc:存放系統配置文件
/opt:用戶可選擇目錄

[root@1906 /]# cp /etc/passwd /opt/
[root@1906 /]# ls /opt/

[root@1906 /]# cp -r /home /opt/
[root@1906 /]# ls /opt/

[root@1906 /]# cp -r /etc/fstab /opt/
[root@1906 /]# ls /opt/

複製可以支持多個參數:永遠把最後一個參數作爲目標,其他的所有參數都作爲源
]# cp -r /boot/ /etc/shadow /etc/resolv.conf /etc/hosts /opt/

]# ls /opt/
複製經常與點連用: . 表示當前路徑
[root@1906 /]# cd /opt/
[root@1906 opt]# pwd
[root@1906 opt]# ls
[root@1906 opt]# cp /etc/shells .
[root@1906 opt]# ls

[root@1906 /]# cd /etc/sysconfig/network-scripts/
[root@1906 network-scripts]# pwd
[root@1906 network-scripts]# cp /etc/passwd .
[root@1906 network-scripts]# ls

複製出現重名:在本次操作臨時取消別名
[root@1906 /]# ls /opt/

[root@1906 /]# cp -r /boot/ /opt/

[root@1906 /]# \cp -r /boot/ /opt/ #本次操作臨時取消別名

複製:可以重新命名,目標路徑下數據
[root@1906 /]# cp /etc/passwd /opt/pa.txt
[root@1906 /]# ls /opt/

[root@1906 /]# cp -r /boot/ /opt/abc
[root@1906 /]# ls /opt/

以下兩次複製有何不同?
]# rm -rf /opt/* #刪除/opt目錄下所有內容
]# cp -r /home/ /opt/test
#將/home目錄複製到/opt目錄下重命名爲test
]# cp -r /home/ /opt/test
#將/home目錄複製到/opt/test目錄下
[root@1906 /]# ls /opt/
[root@1906 /]# ls /opt/test/
#####################################################

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