bashshell目錄介紹 及其使用

朱饱饱發表於2024-04-09

目錄介紹

 linux 是單根 / 根路徑,windows是多根
bin和sbin:bin普通使用者命令,超級使用者命令  都是usr下的資料夾軟連結到根路徑
home 、root:home普通使用者的家路徑,home下的使用者名稱的資料夾
    -使用者一登入系統,是在自己的家路徑 jack--》/home/jack

目錄之usr

/usr,相當於C:Windows
/usr/local,軟體安裝的目錄,相當於C:Program
/usr/bin/,普通使用者使用的應用程式(重要)
/usr/sbin,管理員使用的應用程式(重要)
/usr/lib,庫檔案Glibc 32bit
/usr/lib64,庫檔案Glibc 64bit

1 df -h  # 檢視系統中檔案的使用情況
2 du -sh /usr/  #檢視當前目錄下各個檔案及目錄佔用空間大小



# 補充:遠端執行ssh命令:
# ansiable:python寫的,批次執行命令(速度比較慢,大量的主機,會卡頓)
# salstack:在客戶端裝agent,
# zabbix:監控,php寫的,監控mysql執行情況

# /boot
存放的系統啟動相關的檔案,例如:kernel,grub(引導裝載程式)

目錄之etc(配置檔案)

/etc,極其重要,後續所有服務的配置都在這個目錄中
/etc/sysconfig/network-script/ifcfg-,網路配置檔案
/etc/hostname,系統主機名配置檔案,主機名很重要,有些特殊服務要依賴主機名,沒有主機名會報錯起不來;修改了要重啟:reboot
/etc/resolv.conf,dns客戶端配置檔案,域名解析伺服器,一般我們不配置,因為網路卡的配置好了,會覆蓋掉它,網路卡的優先順序高
/etc/hosts,本地域名解析配置檔案,域名解析,先找自己的hosts,再去域名解析

目錄之var dev

1 cat /var/log/secure #檢視使用者登陸時間

/dev,存放裝置檔案,比如硬碟,硬碟分割槽,光碟機,等等
/dev/sd 硬碟裝置
/dev/null,黑洞裝置,只進不出。類似於垃圾回收站
/dev/random,生成隨機數的裝置
/dev/zero,能遠遠不斷的產生資料,類似於取款機,隨時隨地取錢

目錄之proc

反映系統當前程序的實時狀態
/proc,反映系統當前程序的實時狀態 :process
加上跑著一個uwsgi---》id號,重啟,id號會變,1這個永遠不變


#1 media:提供裝置的掛載點,媒體檔案
# linux 新增了磁碟機代號,需要手動掛載
# 把光碟裡的資料,掛載到media目錄
mount  /dev/cdrom /media/

# 2 mnt:提供裝置的掛載點(同上)

# 3 opt:第三方工具,第三方軟體預設安裝的(mysql...)

# run :下有pid,log結尾的檔案
ls /run
cat sshd.pid  # 程序執行的pid號,放在檔案中
ps aux |grep sshd

# .lock檔案的作用,鎖機制
# 假設現在執行
yum install tree
# 再開一個視窗執行相同命令
yum install tree
'''
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  71 M RSS (470 MB VSZ)
    Started: Tue Aug 18 00:26:31 2020 - 00:24 ago
    State  : Sleeping, pid: 6191
'''
cat /run/yum.pid

路徑定位

1 . ..  相對路徑,. 是當前..是上一級
2 坑:帶斜槓和不帶斜槓
    cd /usr # 根路徑下的usr
    cd usr  # 當前路徑下的usr
3 執行當前路徑下的某個檔案
    ./xx linux
    xx   windows
4 ~當前使用者的家路徑:root   /root   jack  /home/jack

mkdir(新增) touch(無則建立 有則修改時間) rm(刪除) mv(移動)

# 選項:-v 顯示詳細資訊  -p 遞迴建立目錄
# mkdir dir1    新增dir1
# mkdir /home/od/dir1 /home/od/dir2   在此路徑下新增dir2
# mkdir -v /home/od/{dir3,dir4}   新增並顯示/home/od/{dir3,dir4}的詳細資訊 例如建立時間和資訊等
# mkdir -pv /home/od/dir5/dir6    新增並顯示/home/od/dir5/dir6的遞迴目錄
# mkdir -pv /home/{od/{diu,but},boy}

# touch file                    #無則建立,有則修改時間
# touch file2 file3
# touch /home/od/file4 file5
# touch file{a,b,c}             #{}集合,等價 touch a b c
# touch file{1..10}
# touch file{a..z}





#選項:-r: 遞迴 -f: 強制刪除 -v: 詳細過程
# rm  file.txt      #刪除檔案, 預設rm存在alias別名,rm -i所以會提醒是否刪除檔案
# rm -f file.txt    #刪除檔案, 不提醒


# rm -r dir/        #遞迴刪除目錄,會提示
# rm -rf dir/       #強制刪除目錄,不提醒(慎用)


#1.rm刪除示例
# mkdir /home/dir10
# touch /home/dir10/{file2,file3,.file4}
# rm -f /home/dir10/  //不包括隱藏檔案 
# ls /home/dir10/ -a
. .. .file4


#2.rm刪除示例2
# touch file{1..10}
# touch {1..10}.pdf
# rm -rf file 
# rm -rf .pdf
# rm -f file*
# rm -f *.txt



# mv file file1             #原地移動算改名
# mv file1 /tmp/            #移動檔案至tmp目錄:不一樣mv file1 tmp 
# mv /tmp/file1 ./          #移動tmp目錄的檔案至當前目錄
# mv dir/ /tmp/             #移動目錄至/tmp目錄下

# touch file{1..3}
# mv file1 file2 file3 /opt/    #移動多個檔案或至同一個目錄

# mkdir dir{1..3}
# mv dir1/ dir2/ dir3/ /opt     #移動多個目錄至同一個目錄

cp(複製)

#選項: -v:詳細顯示命令執行的操作 -r: 遞迴處理目錄與子目錄 -p: 保留原始檔或目錄的屬性
# cp file /tmp/file_copy
# cp name /tmp/name1         #修改名稱
# cp file /tmp/             #不修改名稱
# cp -p file /tmp/file_p    #-p保持原檔案或目錄的屬性
# cp -r  /etc/ /tmp/        #複製目錄需要使用-r引數, 遞迴複製
# cp -rv /etc/hosts /etc/hostname /tmp  #複製多個檔案至一個目錄
# cp -rv /etc/{hosts,hosts.bak}
# cp -rv /etc/hosts{,-org}

命令別名

 1 設定別名
 alias www='ls /'  只在當前bashshell中生效
 2 永久生效(全域性,區域性),
    echo "alias wk='ifconfig'" >> /etc/bashrc
 3 unalias wk  
 4 如果寫到配置檔案中,取消的話unalias wk+去配置檔案刪除
 5 內建的別名:在環境變數的配置檔案中放著
    alias ls
 6 /bin/ls -al /root   # ls 內建了別名

 7 命令 --help
 8 man 命令

相關文章