day58:Linux:BashShell&linux檔案管理&linux檔案下載上傳

Poke發表於2020-09-25

目錄

1.BashShell

2.Linux檔案管理

3.Linux檔案下載和上傳

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

相關文章