1. 程式人生 > >命令行基礎、目錄和文件管理、教學環境介紹、總結和答疑

命令行基礎、目錄和文件管理、教學環境介紹、總結和答疑

文件夾 輸入 pass 必須 定義 往回 用法 基本用法 設備文件

查看內核版本
[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!   強制不保存並退出

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

命令行基礎、目錄和文件管理、教學環境介紹、總結和答疑