第1章 操作系統說明必知必會
1.1 命令提示符:在什么情況下可以輸入命令 在命令提示符的后面
1 [root @ oldboyedu-lnb ~] # 3 ----- -- ----------- - - 5 1 2 3 4 5 7 1).root 當前系統登錄的用戶名 | 類似windows的adminstrator 9 2 )@ 分隔符 11 3) oldboyedu-lnb | 主機名稱 每台服務器的主機名不能相同 | sd-業務-123.11.44.23 nm-jf-33.55.34.21 13 4 )~ 波浪線 | 當前所在的位置(目錄) 默認的目錄 root家目錄 15 5) # 用戶提示符 | 表示超級管理員 最高權限 $ | 表示普通用戶提示符 2020-08-30 21:23:30

1.2 命令語法說明
命令的規范:
在Linux操作系統中大部分出現的[] 里面都是可選項
命令提示符: 命令 空格 [選項參數] 空格 目標/文件/目錄/服務
結婚 空格 [有車有房] 空格 目標/白富美
結婚 空格 [沒車沒房] 空格 目標/是女的就行
rm 空格-f [強制刪除] 空格 1.bat
systemctl 動作 對象/服務
命令提示符: 命令 回車
1.3 系統的目錄結構
Linux的系統目錄都是從/開始的
/ ----> 根目錄
1.3.1 windows的目錄結構
c:\VMware\soft
d:\學習視頻\linux\mysql
e:\hlg.avi hlg.mp4


1.3.2 Linux的目錄結構
/VMware/soft
/學習視頻/linux/mysql
/root/1.bat

1.4 絕對路徑與相對路徑
1.4.1 絕對路徑
絕對路徑是從/開始的路徑
/root/oldboy/test.txt
優點:不容易迷路
缺點:麻煩路徑太長
1.4.2 相對路徑
從當前的路徑開始查找
test.txt oldboy.txt 1.bat
當前已經在403教室: 想去402教室 想去401教室
隔壁402 隔壁401
優點:快速定位文件
缺點:容易迷路
舉例:查看網卡配置文件
絕對路徑查看:
cat /etc/sysconfig/network-scripts/ifcfg-eth0
相對路徑查看:
已經在net-scripts目錄中
cat ifcfg-eth0
[root@oldboyedu-lnb ~]# ls 快遞.xlsx 快遞.xlsx [root@oldboyedu-lnb ~]# ls /root/快遞.xlsx /root/快遞.xlsx 2020-08-30 21:23:12
1.5 系統目錄相關命令
1.5.1 創建目錄
windows 文件夾 Linux 目錄
1.5.1.1 命令使用方法
mkdir make dir directory
mkdir 目錄名稱/帶路徑的目錄
參數
-v verbose 顯示執行過程 了解
-p partents 父目錄 父親 遞歸目錄
-p的參數含義 no error if existing, make parent directories as needed
目錄存在不報錯 在需要的時候創建父目錄
/root # /是一個目錄 root是一個目錄
絕對路徑名
以正斜杠開始
完整的文件的位置路徑
可用於任何想指定一個文件名的時候
相對路徑名
不以斜線開始
指定相對於當前工作目錄或某目錄的位置
可以作為一個簡短的形式指定一個文件名
基名:basename
目錄名:dirname
a. 查看當前的路徑
print working directory
1 [root@oldboyedu-lnb ~]# pwd 2 3 /root 2020-08-30 21:22:33
b. 在/下面創建一個名稱為oldboy的目錄
方法一: 使用相對路徑創建/oldboy目錄
1 [root@oldboyedu-lnb ~]# cd / 2 3 [root@oldboyedu-lnb /]# mkdir /oldboy 2020-08-30 21:22:45
方法二: 使用絕對路徑創建/oldboy目錄
1 [root@oldboyedu-lnb ~]# mkdir /oldboy 2020-08-30 21:23:49
c. 在跟下面創建/alex/lidao/oldboy/oldgirl
1 [root@oldboyedu-lnb~]#mkdir /alex 2 3 [root@oldboyedu-lnb~]#mkdir /alex/lidao 4 5 [root@oldboyedu-lnb~]#mkdir /alex/lidao/oldboy 6 7 [root@oldboyedu-lnb~]#mkdir /alex/lidao/oldboy/oldgirl 2020-08-30 21:23:56
d. 創建多級目錄使用-p參數
在/目錄下創建/1/2/3/4/5/6
1 [root@oldboedu-lnb~]#mkdir -p /1/2/3/4/5/6 2020-08-30 21:34:56
1.5.2 如何使用
cd change directory
命令使用方法
cd 目錄 /絕對路徑 相對路徑
a. 方法一:一步一步的切換到/oldboy目錄
1 [root@oldboyedu-lnb~]#cd / # 使用絕對路徑到/目錄 2 3 [root@oldboyedu-lnb /]# cd oldboy # 使用相對路徑到oldboy目錄 4 5 [root@oldboyedu-lnb oldboy]# 6 7 [root@oldboyedu-lnb oldboy]# pwd 8 9 /oldboy 2020-08-30 21:24:08
b. 方法二: 使用全路徑方式直接進入/oldboy目錄
進入/alex/lidao/oldboy/oldgirl
1 [root@oldboyedu-lnb oldboy]# cd /alex/lidao/oldboy/oldgirl/ 2 3 [root@oldboyedu-lnb oldgirl]# pwd 4 5 /alex/lidao/oldboy/oldgirl 2020-08-30 21:35:12
c.特殊的符號
cd 回車 直接切換到家目錄
~ # 代表了家目錄
cd ~ 切換到家目錄 管理員默認的家目錄 /root cd~ ==== cd /root
- 切換到上一次所在的路徑 _下划線 -減號
. 代表了當前的目錄
.. 代表了上級的目錄
cd ../../返回到上兩級目錄
cd ../oldboy 05直接返回到05目錄
1 [root@oldboyedu-lnb oldgirl]# cd .. 2 3 [root@oldboyedu-lnb oldboy]# pwd 4 5 /alex/lidao/oldboy 2020-08-30 21:24:18
PS: 所有的目錄后面都有/ 沒有/的都是普通文件
1.5.3 如何查看目錄下的數據
命令使用方法:
ls 目錄/文件
參數
-l list 列表 顯示詳細信息
-d directory 目錄 查看目錄本身的詳細信息
a. 查看/alex目錄下的內容
方法一: 絕對路徑
1 [root@oldboyedu-lnb ~]# ls /alex/ 2 hehe lidao 2020-08-30 21:24:27
方法二: 相對路徑
1 [root@oldboyedu-lnb ~]# cd /alex/ 2 [root@oldboyedu-lnb alex]# ls 3 hehe lidao 2020-08-30 21:24:35
b. ll ==== ls -l #查看文件或目錄的詳細信息
-----------------------------
擴展:mkdir -p
1 [root@oldboyedu-lnb ~]# mkdir /data && mkdir /data/hehe 2 mkdir: cannot create directory ‘/data’: File exists 3 [root@oldboyedu-lnb~]#ll /data/ 4 total 0 5 [root@oldboyedu-lnb ~]# mkdir -p /data && mkdir /data/hehe 6 [root@oldboyedu-lnb~]#ll /data/ 7 total 0 8 drwxr-xr-x. 2 root root 6 Jul 20 14:36 hehe 2020-08-30 21:24:50
練習題:
esc+. 把命令最后的一個參數快速調用到當前命令行
使用絕對路徑創建/zs/ls/we/
1 [root@oldboyedu-lnb~]#mkdir -p /zs/ls/we/
使用相對路徑在/zs/ls/we 下面創建 test1 test2
1 [root@oldboyedu-lnbwe]#mkdir test1 test2
使用相對路徑在test下創建1, 在test2下創建2目錄
1 [root@oldboyedu-lnbwe]#cd test1 2 [root@oldboyedu-lnbtest1]#mkdir 1 3 [root@oldboyedu-lnb test1]# mkdir ../test2/2 4 [root@oldboyedu-lnb test1]# ll ../test2 5 total 0 6 drwxr-xr-x. 2 root root 6 Jul 20 10:46 2 2020-08-30 21:24:58
快速回到上級目錄使用相對路徑查看test2目錄下詳細信息
1 [root@oldboyedu-lnbtest1]#cd - 2 /zs/ls/we 3 [root@oldboyedu-lnbwe]#ll test2/ 4 total 0 5 -drwxr-xr-x. 2 root root 6 Jul 20 16:36 2 2020-08-30 21:25:09
使用絕對路徑查看test1下面的詳細信息
PS: 不管在任何位置都可以使用絕對路徑
1 [root@oldboyedu-lnb~]#ll /zs/ls/we/test1 2 total 0 3 drwxr-xr-x. 2 root root 6 Jul 20 16:32 1 2020-08-30 21:25:16
1.6 系統文件相關命令
1.6.1 創建文件
命令使用方法:
touch 摸
touch 文件
絕對路徑/相對路徑
PS: 時間(具體時間)/時間戳 (一串數字) 可以相互轉化
a. 在當前目錄創建一個oldboy.txt文件 普通文件
1 [root@oldboyedu-lnb~]#ll 2 total 4 3 -rw-------. 1 root root 1526 Jul 18 21:38 anaconda-ks.cfg 4 -rw-r--r--. 1 root root 0 Jul 20 11:27 olboy.txt 2020-08-30 21:25:26
b. 在/oldboy目錄下創建一個oldboy.txt文件
1 [root@oldboyedu-lnb~]#cd /oldboy 2 [root@oldboyedu-lnboldboy]#touch oldboy.txt 3 [root@oldboyedu-lnboldboy]#ll /oldboy/ 4 total 0 5 -rw-r--r--. 1 root root 0 Jul 20 11:33 oldboy.txt 2020-08-30 21:25:35
全路徑方式:
方法二:
1 [root@oldboyedu-lnboldboy]#touch /oldboy/oldboy.txt 2020-08-30 21:25:44
c. 一次性創建多個文件 相對路徑 絕對路徑
1 [root@oldboyedu-lnb oldboy]# touch oldboy.txt alex.txt /lidao.txt 2020-08-30 21:25:57
1.6.2 刪除文件或目錄
rm remove
命令使用方法:
rm 參數選項 文件/目錄
參數選項:
-f force # 強制
-r 刪除目錄下的所有文件
a. 刪除/oldboy/oldboy.txt
1 [root@oldboyedu-lnboldboy]#rm o ldboy.txt 2020-08-30 21:26:32
1 rm: remove regular empty file ‘oldboy.txt’? # 在?后面 輸入y確定刪除 n 不刪除 或者ctrl+c取消 2020-08-30 21:26:41
b. 刪除/oldboy/oldboy.txt 不進行刪除提示
1 [root@oldboyedu-lnb oldboy]# rm -f oldboy.txt 2020-08-30 21:26:51
c. 刪除/oldboy目錄 PS: 大部分命令無法直接對目錄進行操作
1 [root@oldboyedu-lnb ~ ]# rm -rf /oldboy 2020-08-30 21:27:13
d. 刪除多個目錄
1 [root@oldboyedu-lnb ~]# rm -rf oldboy1 oldboy2 oldboy3/ oldboy4/ 2020-08-30 21:27:26
e. 刪除多個文件
1 [root@oldboyedu-lnb ~]# rm -f 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 2020-08-30 21:27:41
f. 利用特殊符號來刪除目錄或文件
*通配符: 用來查找目錄或文件名 代表了任意的字符串
方法一:查找當前目錄以 *.txt結尾的文件
1 [root@oldboyedu-lnb ~]# ll *.txt 2 -rw-r--r--. 1 root root 0 Jul 20 11:38 10.txt 3 -rw-r--r--. 1 root root 0 Jul 20 11:38 8.txt 4 -rw-r--r--. 1 root root 0 Jul 20 11:38 9.txt 2020-08-30 21:28:27
刪除任意符號以.txt結尾的文件
1 [root@oldboyedu-lnb ~]# rm -f *.txt 2020-08-30 21:28:41
刪除以oldboy開頭以任意字符結尾的文件
1 rm \*.oldboy/ *就不是通配符 2020-08-30 21:29:02
1.6.3 查看文件內容
1.6.3.1 cat 查看文件命令語法格式:cat 文件名
1 cat oltdboy.txt cat/oldboy/oldboy.txt cat/etc/services 2020-08-30 21:29: 32
示例:
1 [root@oldboyedu-lnb ~]# mkdir /oldboy # 在根下創建目錄 2 [root@oldboyedu-lnb ~]# touch /oldboy/oldboy.txt # 在/oldboy目錄下創建文件 3 [root@oldboyedu-lnb ~]# cat /oldboy/oldboy.txt # 使用全路徑查看文件 4 [root@oldboyedu-lnb ~]# cd /oldboy/ # 先進入到目錄 5 [root@oldboyedu-lnb oldboy]# cat oldboy.txt # 在使用相對路徑查看 2020-08-30 21:29:34
1.6.3.2 編輯文件 添加內容
vi 編輯文件
語法格式:
vi 文件名稱(文件可以是存在的,可以是不存在的,不存在則創建,)
示例:
第一步: vi 文件名 進入到文件中
第二步:按a i鍵進入到編輯模式 下面出現了INSERT插入,寫入新的內容
第三步:按esc(可以多按幾下)--->輸入:wq 保存退出 -->回車退出文件
注意事項:
vi 不能直接回車
vi 不能編輯目錄
vi /oldboy/alex/oldboy.txt oldboy和alex目錄必須存在
編輯文件不允許ctrl+c ctrl+z強制退出
文件添加內容 python print輸出內容
echo 打印內容到屏幕,或者是輸入到文件內
語法結構:
1 echo 字符串 # 輸出字符串到屏幕 2 echo 字符串 > 文件名 # 把內容輸入到文件中,把內容輸入到文件中文件可以是不存在的則會創建 或者已存在 3 echo 字符串 > oldboy.txt # 相對路徑 4 echo 字符串 > /oldboy/alex/oldboy.txt # 絕對路徑 2020-08-30 21:29:46
例1:
1 [root@oldboyedu-lnb ~]# echo "老男孩教育Linux運維72期" 2 老男孩教育Linux運維72期 3 [root@oldboyedu-lnb ~]# echo "老男孩教育Linux運維72期" > linux.txt 4 [root@oldboyedu-lnb ~]# cat linux.txt 5 老男孩教育Linux運維72期 2020-08-30 21:29:58
例2: > 先清空文件的內容 在寫入新的內容到文件中,如果沒有新的內容, 則文件會被清空
1 [root@oldboyedu-lnb ~]# echo "老男孩教育Linux運維73期" > linux.txt 2 [root@oldboyedu-lnb ~]# cat linux.txt 3 老男孩教育Linux運維73期 4 [root@oldboyedu-lnb ~]# echo > linux.txt # 清空文件 加入一個空行 5 [root@oldboyedu-lnb ~]# cat linux.txt 6 [root@oldboyedu-lnb ~]# > linux.txt # 全部清空 7 [root@oldboyedu-lnb ~]# cat linux.txt 2020-08-30 21:30:08
示例3: 追加內容到文件中 >> 追加內容 不會影響原來的內容 把新的內容放在文件的底部
1 [root@oldboyedu-lnb ~]# cat linux.txt 2 老男孩教育Linux運維73期 3 [root@oldboyedu-lnb ~]# echo "老男孩教育Linux運維72期" >> linux.txt 4 [root@oldboyedu-lnb ~]# cat linux.txt 5 老男孩教育Linux運維73期 6 老男孩教育Linux運維72期 7 示例4: 追加多行到文件中 8 [root@oldboyedu-lnb ~]# echo oldboy oldgirl oldqiang >> linux.txt 9 [root@oldboyedu-lnb ~]# cat linux.txt 10 老男孩教育Linux運維73期 11 老男孩教育Linux運維72期 12 oldboy oldgirl oldqiang 13 [root@oldboyedu-lnb ~]# echo -e "oldboy\noldgirl\noldqiang" >> linux.txt 14 [root@oldboyedu-lnb ~]# cat linux.txt 15 老男孩教育Linux運維73期 16 老男孩教育Linux運維72期 17 oldboy oldgirl oldqiang 18 oldboy 19 oldgirl 20 oldqiang 2020-08-30 21:30:22
特殊含義:
\n 回車換行
\t Tab鍵功能 水平制表符
1.6.4 如何備份文件
cp copy 拷貝文件或目錄 PS:拷貝最后必須是目錄
語法結構:
cp [參數選項] 源文件 目標文件(相對路徑,絕對路徑,新文件名稱)
示例1: copy /etc/hosts 到家目錄
1 [root@oldboyedu-lnb ~]# #cp /etc/hosts (當前所在家目錄的表示方法) 2 [root@oldboyedu-lnb ~]# #cp /etc/hosts ~ | cp /etc/hosts /root | cp /etc/hosts . 3 [root@oldboyedu-lnb ~]# #cp 從哪里來 到哪里去 4 [root@oldboyedu-lnb ~]# cp /etc/hosts ~ 5 [root@oldboyedu-lnb ~]# ll 6 total 12 7 -rw-r--r--. 1 root root 158 Jul 21 11:34 hosts 2020-08-30 21:30:34
示例2 一次性復制多個文件
1 [root@oldboyedu-lnb ~]# #復制/etc/hosts /etc/passwd 到當前的目錄 2 [root@oldboyedu-lnb ~]# cp /etc/hosts /etc/passwd . 2020-08-30 21:30:42
示例3 拷貝改名 拷貝當前的hosts文件到/tmp目錄下改名為oldboy.txt
cp 源文件 新文件名稱 PS: 一次性拷貝多個文件 不能改名 多個文件最后一個必須是目錄
一復制一個文件 后面跟文件名 是改名
1 [root@oldboyedu-lnb ~]# cp hosts /tmp/oldboy.txt 2 [root@oldboyedu-lnb ~]# cat hosts 3 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 5 [root@oldboyedu-lnb ~]# cat /tmp/oldboy.txt 6 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 7 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 2020-08-30 21:30:53
拷貝多個文件
1 [root@oldboyedu-lnb ~]# cp /etc/hosts /etc/passwd /tmp/ 2 [root@oldboyedu-lnb ~]# ll /tmp/ 3 total 16 4 -rw-r--r--. 1 root root 158 Jul 21 11:45 hosts 5 -rw-r--r--. 1 root root 981 Jul 21 11:45 passwd 2020-08-30 21:31:00
擴展:
1 [root@oldboyedu-lnb ~]# ll 2 total 4 3 -rw-r--r--. 1 root root 158 Jul 21 11:46 hosts 4 [root@oldboyedu-lnb ~]# cp hosts{,.bak} 5 [root@oldboyedu-lnb ~]# ll 6 total 44 7 -rw-r--r--. 1 root root 158 Jul 21 16:20 hosts 8 -rw-r--r--. 1 root root 158 Jul 21 16:36 hosts.bak 2020-08-30 21:31:06
示例4 拷貝目錄 復制/etc 目錄到當前
1 [root@oldboyedu-lnb ~]# cp -r /etc/ . 2 [root@oldboyedu-lnb ~]# \cp -r /etc/ /tmp . 3 [root@oldboyedu-lnb ~]# # 我們執行的cp命令 其實是執行的cp -i 命令 4 [root@oldboyedu-lnb ~]# \cp -r /etc/ /tmp . 5 [root@oldboyedu-lnb ~]# \cp -ir /etc/ /tmp . 2020-08-30 21:31:16
1.7 獲得命令的幫助信息
示例 manual 手冊 幫助
命令格式:
man 命令
搜索參數 /-d
查找方式: n 查找下一個內容
N 查找上一個內容
q 退出
cp: overwrite ‘./etc/fstab’? y
1 [root@oldboyedu-lnb ~]# man mkdir # 查看mdir的幫助信息 2 MKDIR(1) User Commands MKDIR(1) 3 NAME 4 mkdir - make directories # 簡單的一句話說明當前命令的使用方法 5 SYNOPSIS 6 mkdir [OPTION]... DIRECTORY... # 語法的格式 7 DESCRIPTION 8 -p, --parents # mkdir的參數選項 9 no error if existing, make parent directories as needed # 參數的詳細說明 10 -v, --verbose # mkdir的參數選項 11 print a message for each created directory # 參數的詳細說明 2020-08-30 21:31:24
1.7.1 help 查看命令的幫助信息
1.7.1.1 查看內置和外置命令的幫助信息
在Linux操作系統中有兩種命令
1) bash的內置命令 GNU bash自帶的命令 內置命令運行速度較快
2) 外置命令 bash解釋器沒有的命令 通過安裝第三方的程序 命令 運行速度較慢
1 BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1) 2 NAME # bash的內置命令 3 bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, com‐ 4 mand, compgen, complete, compopt, continue, declare, dirs, disown, 5 echo, enable, eval, exec, exit, export, false, fc, fg, getopts, 6 hash, help, history, jobs, kill, let, local, logout, mapfile, 7 popd, printf, pushd, pwd, read, readonly, return, set, shift, 8 shopt, source, suspend, test, times, trap, true, type, typeset, 9 ulimit, umask, unalias, unset, wait - bash built-in commands, see 10 bash(1) 2020-08-30 21:31:36
示例:help 查看外置命令的使用方法
1 [root@oldboyedu-lnb ~]# useradd --help 2020-08-30 21:31:48help查看內置命令的使用方法
1 [root@oldboyedu-lnb ~]# man cd 2020-08-30 21:32:02
1.7.2 百度幫助
linux shell
1 1.ctrl+l # 清屏 執行命令 clear 清屏 2 2.ctrl+c # 強制結束當前的操作 3 3.ctrl+d # 退出Xshell連接 退出當前的xshell 4 4.ctrl+a # 快速移動光標到行首 5 5.Home # 快速移動光標到行首 6 6.ctrl+e # 快速移動光標到行尾 7 7.End # 快速移動光標到行尾 8 8.ctrl+左鍵 # 快速向左移動一個單詞 9 9.ctrl+右鍵 # 快速向右移動一個單詞 10 10.ctrl+u # 剪切內容 11 11.ctrl+y # 粘貼 ctrl+u的內容 12 12.ctrl+k # 剪切光標到行尾的內容 13 13.ctrl+w # 剪切內容到單詞的行首 了解 14 14.ctrl+s # 鎖屏 但是能輸入內容不顯示內容 了解 15 15.ctrl+q # 解鎖 了解 16 16.esc+. # 調用最后一個字符到當前的命令 2020-08-30 21:32:15
