目錄
BashShell
1.什麼是BeshShell?
命令的解釋,用來翻譯使用者輸入的指令
2.BashShell能做什麼?
檔案管理
軟體管理
使用者管理
許可權管理
網路管理
3.如何使用BashShell?
在使用BashShell時,要分為單條命令和多條命令
單條命令
[root@oldboy-pythonedu ~]# useradd gdx
多條命令
for i in {1..100} do useradd gdx_$i echo "gdx_$i is ok!!" done
4.登入Linux Bash的提示符
[root@oldboy-pythonedu ~]#
root: 表示當前登入Bash Shell視窗的使用者是root
oldboy-python: 當前系統的主機名稱
~: 當前使用者所處的路徑 ~ 表示的是當前使用者的家目錄
#: 提示符 # 表示超級管理員
$ 表示普通使用者
5.BashShell基礎語法
ls # 命令 檢視當前目錄下的所有檔案 ls -l # 命令 + 選項 選項 可以改變命令輸出結尾呈現的方式 ls -l /tmp # 命令 + 選項 + 引數 具體看哪個路徑下的所有檔案,預設看當前目錄.
6.BashShell特性
# 1.tab補全: 命令補全 路徑補全 # 2.history: 執行的命令歷史 -c: 清空 -d: 刪除指定的一條記錄 -w: 將歷史記錄落到指定的檔案中 # 3.alias: 別名 '''臨時操作''' alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32' '''永久生效 ( 落到某個檔案中 ) ''' [root@oldboy-pythonedu ~]# echo "alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32'" >> /etc/bashrc # 4.unalias: 臨時取消別名 [root@oldboy-pythonedu ~]# unalias cat_network # 5.快捷鍵: ctrl+a: 命令列游標跳轉到行首 ctrl+e: 命令列游標跳轉到行尾 ctrl+l: 清屏, clear ctrl+c: 中斷bash視窗 前臺正在執行的程式 ctrl+u: 刪除游標之前的 ctrl+k: 刪除游標之後的 ctrl+w: 按照單詞刪除 ctrl+ <--> 按照單詞跳轉游標
Linux檔案管理
0.引入
我們可以對檔案進行哪些操作呢?
建立 刪除 壓縮 移動 複製 編輯 檢視 查詢
1.目錄結構
Windows目錄結構:多根 C:\ D:\ E:\
Linux目錄結構:單根 /
Linux下的目錄結構
''' bin: 普通使用者可以執行的命令 sbin: 管理使用者可以執行的命令 home: 普通使用者的家目錄: /home/USERNAME root: 管理員使用者的家目錄 boot: 存放的啟動系統時要載入的檔案 grub引導選單,核心檔案 dev: 裝置 ( 硬碟 光碟 終端 ) /dev/random: 產生隨機數 (搖錢樹) /dev/null: 黑洞 etc: 配置 網路卡配置,系統配置,服務配置 /etc/hostname: 主機名稱 /etc/sysconfig/network-scripts/: #網路卡的配置資訊 lib lib64 proc 實時反饋當前系統的狀態. [ 汽車的儀表盤 ] tmp 臨時目錄,誰上傳只能誰刪除 [ ] usr bin sbin local --> C:\Program Files tmp ---> /var/tmp var 可變的目錄 log pid: 存放服務程式的ID ---> python ---> 30119 --> /var/pid/python.pid ( 30119 ) '''
2.路徑定位
通過路徑對檔案進行定位. 一個完整的路徑,就包含了檔案的路徑.
3.檔案管理命令
檔案管理命令總覽
''' cd pwd ls -l, mkdir -p touch cp -r mv rm -r -f cat -n -A head tail -f less more rz sz wget -O echo '''
檔案管理命令詳細介紹
1.在/home/下建立一個hello.py檔案 touch
[root@oldboy-pythonedu ~]# touch /home/hello.py
2.檢視建立的hello.py詳情引數 ls
[root@oldboy-pythonedu ~]# ls -l /home/hello.py
3.複製 cp
將/home/hello.py 複製到 /tmp [ 最好能修改一下名稱為 /tmp/test.py ]
cp:複製檔案或者目錄
-v:顯示拷貝的效果
-r:遞迴拷貝
-i:如果檔案覆蓋,會有提示
[root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/ #直接拷貝 [root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/test.py #拷貝後修改名稱
4.將/home/hello.py 檔案刪除 rm
rm:刪除檔案或者目錄
-f:強制刪除,不提示
-r:遞迴刪除【刪除目錄】
[root@oldboy-pythonedu ~]# rm -f /home/hello.py [root@oldboy-pythonedu ~]# rm -fr /tmp/etc
5.檢視/tmp/test.py中的內容
檢視有五個指令:cat head tail more less
cat:檢視檔案內容
-A:檢視是否有特殊字元
-n:檢視檔案的行號
[root@oldboy-pythonedu ~]# cat /tmp/hello.py
head:檢視檔案內容:僅檢視頭部10行
[root@oldboy-pythonedu ~]# head /etc/passwd ''' 檢視1行 ''' [root@oldboy-pythonedu ~]# head -1 /etc/passwd
tail:檢視檔案內容:僅檢視尾部10行
-f: 實時追蹤檔案尾部的變化
[root@oldboy-pythonedu ~]# tail -f /var/log/messages
less/more:分頁檢視
[root@oldboy-pythonedu ~]# less /etc/services [root@oldboy-pythonedu ~]# more /etc/services
6.建立目錄 mkdir
mkdir:建立目錄
-p:遞迴建立
-v:顯示建立的過程
[root@oldboy-pythonedu ~]# mkdir /opt/python_dir [root@oldboy-pythonedu ~]# mkdir -pv /opt/dir1/dir2/dir3/dir4
7.移動 mv
將/tmp/hello.py 移動到/opt目錄下
mv:移動檔案或目錄
[root@oldboy-pythonedu ~]# mv /tmp/hello.py /opt/
8.查詢命令的全路徑 which
which:查詢一個命令的絕對路徑
[root@oldboy-pythonedu ~]# which cat '''/usr/bin/cat''' [root@oldboy-pythonedu ~]# which head '''/usr/bin/head'''
whereis:也可以查詢路徑
[root@oldboy-pythonedu ~]# whereis -b head '''head: /usr/bin/head'''
Linux檔案下載和上傳
下載:
1.從網際網路下載資源到伺服器
2.從伺服器下載資源到本地
上傳:
從本地上傳內容到伺服器
rz:從本地電腦上傳檔案到server( 只能上傳檔案,不能上傳目錄或資料夾,最大限制4G )
sz:從server下載檔案到本地電腦
想要完成linux的上傳和下載,必須先下載一個模組
[root@oldboy-pythonedu ~]# yum install lrzsz -y
wget:獲取網際網路上的資源至本地
想使用這個功能,也需要先下載一個模組
[root@oldboy-pythonedu ~]# yum install wget -y
獲取網際網路上的資源至本地
[root@oldboy-pythonedu ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz [root@oldboy-pythonedu ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo