整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Shell命令合集

          字母分類

          C、D、H、L、M、O、P、R、S、T、W、Z、其他


          C

          cat zdd 瀏覽文件zdd的內容

          cat zdd1 zdd2 瀏覽多個文件的內容

          cat -n zdd瀏覽文件zdd的內容并顯示行號

          cd 回到起始目錄,也即剛登陸到系統的目錄,cd后面無參數

          cd / 回到根目錄

          cd .. 返回上一級目錄

          cd - 返回到最近使用的目錄

          D

          df -kh 查看磁盤信息

          du -sh foldername 查看文件夾大小,-h表示以human readable格式顯示大小,-s表示累加各個文件的大小。

          H

          history 顯示命令歷史記錄

          hostname 顯示當前登錄的主機名

          L

          ls -al 列出所有文件的完整信息,每行一個文件

          ls -tl 按最后修改時間排序

          ls -ul 按最后訪問時間排序

          ls -R 遞歸現實子目錄中的文件及文件夾,這個命令配合grep可以方便的實現查找,比如在當前目錄及子目錄下查找文件zdd,ls -R | grep zdd

          ls -F | grep / 只列出目錄

          less 分屏顯示文件,按空格向下查看,并可使用上下箭頭前后回看。按q鍵退出。

          M

          more 分屏顯示文件,按空格向下查看,不支持回看,按q鍵退出。

          man ls 查看ls命令的幫助,如果幫助有多頁

          空格 向下翻頁

          b 向上翻頁

          q 退出幫助

          O

          od 查看文件的ASCII編碼。

          P

          pwd 顯示當前目錄

          ps 列出當前用戶的進程

          ps -ef 以完整信息列出所有進程

          R

          rm -rf zdd 刪除目錄zdd及其子目錄,即使目錄不空

          rm -rf zdd/* 刪除目錄zdd下的所有內容,但不刪除zdd本身

          rm -rf * 刪除當前目錄下所有文件,包括子文件加及其中的文件,-r表示遞歸,-f表示強制刪除,不詢問。

          rmdir zdd 刪除空目錄zdd

          mkdir zdd 創建目錄zdd

          S

          set 查看已定義變量

          ssh hostname 登錄到hostname

          T

          tar [option] file or dir

          tar -xvf zdd.tar 將zdd.tar解壓,解壓后將產生zdd文件夾,里面包含解壓后的文件 x表示解壓,v表示輸出解壓信息,f表示操作普通文件

          tar -cvf tmp.tar tmp 將文件夾tmp打包成tmp.tar

          tar -rvf tmp.tar zzz 將文件zzz追加到tmp.tar中

          type xxx 查看xxx所在的路徑。和which有何區別?

          touch命令

          touch [acm] -t time file

          這個命令用來修改文件的時間,a-access time, m-modification time c-do not create if file not exists

          如果不指定時間,則使用當前的系統時間,如果文件不存在,且未指定-c那么將創建新的文件。可以使用這個方法快速創建文件。time的格式如下

          [[CC]YY]MMDDhhmm[.SS]

          touch abc 如果文件abc存在,則更新其時間為當前時間,否則創建它

          touch abc -a -t

          touch -m -t 201101230621 abc

          W

          who 查看有哪些人登陸了系統

          who am i 查看自己的賬戶信息

          which ls 查看ls程序所在的路徑。

          Z

          zip 壓縮

          zip [options] dest_files source

          zip -r9 ~/zdd /home/zdd/* 將目錄/home/zdd下的所有文件壓縮并放入當前目錄下名為zdd。-r表示遞歸處理文件夾中的文件,9表示最大壓縮率。

          unzip 解壓縮

          unzip -d ~/zdd zdd.zip 將zdd.zip解壓到當前目錄下的zdd目錄中,-d表示指定解壓目錄。

          gzip 壓縮/解壓縮

          gzip -d error_log.gz 將error_log.gz解壓縮,-d表示解壓縮,解壓縮后error_log.gz將不復存在。

          其他

          在終端上翻頁(Putty窗口也可以)

          向上翻頁 Shift+PageUp

          向下翻頁 Shift+PageDown

          文章來源:perlman

          www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html

          • 件目錄
            • /根目錄 /root管理員的家目錄 /home普通用戶的家目錄 /boot引導文件啟動的目錄 /dev保存硬件配置的目錄,如用戶的賬戶和密碼服務相關的配置文件等 /etc 配置文件 /bin、/sbin、/usr/bin、/usr/sbin用戶所執行命令的存放目錄,帶s的只有管理員可以用 /media、/mnt掛載目錄 /tmp臨時目錄 /var動態數據保存位置,主要保存日志文件等
          • dnf安裝(redhat8)
            • vim rh8.repo [Base0s] name=Base0S baseurl=file:///media/cdrom/Base0S enabled=1 gpgcheck=0[AppStream] baseurl=file:///media/cdrom/AppStream enabled=1 gpgcheck=0
            • /etc/yum.repos.d
            • mkdir -p /media/cdrom mount /dev/cdrom /media/cdrom
            • vim /etc/fstab
            • dnf install ipconfig
          • cd 切換
            • cd..當前目錄為pq
            • cd..當前目錄為tmp
            • cd ./pq/qz返回了qz,此時指代當前目錄tmp
          • 快捷
            • man 查看某個命令詳細使用方法man ls和ls --help一樣 --help 查看某個命令的使用 空格向下翻頁page down page up 向上翻一頁 home 回到頁面最上端 end頁面最后 n定位到下一個搜索 ?從下往上搜索 /從上往下搜索 N 定位到上一個搜索 q退出當前文檔
              • man 文檔結構 name 命令的名稱SYNOPSIS 參數用法DESCRIPTION 描述介紹EXAMPLES舉例說明DEFAULTS 默認的功能OPTIONS具體可用的選項FILES用到的文件SEE ALSO有關的資料
          • echo
            • 打印文本
              • echo "Hello, World!"
            • 打印變量的值
              • name="Alice" echo "Hello, $name"
            • 打印換行符
              • echo -e "Line 1\nLine 2"
            • 將輸出重定向到文件
              • echo "Some text" > output.txt
            • 打印不換行
              • echo -n "This is a line without newline"
          • date用于顯示或設置系統的日期和時間
            • 顯示當前日期和時間: date
            • 顯示特定格式的日期和時間: date "+%Y-%m-%d %H:%M:%S"
            • 顯示當前日期: date "+%Y-%m-%d"
            • 顯示當前時間: date "+%H:%M:%S"
            • 設置系統日期和時間: date -s "2022-01-01 12:00:00"
            • 顯示當前時區: date "+%Z"
            • 顯示當前星期的第幾天: date "+%u"
          • timedatectl設置系統時間
            • timedatectl status 顯示當前系統的時間、日期、時區以及NTP設置等信息
            • timedatectl set-time "YYYY-MM-DD HH:MM:SS" 設置系統時間和日期
              • timedatectl set-time 2022-03-21 timedatectl set-time 15:30
            • timedatectl set-timezone Asia/Shanghai設置時區
            • sudo timedatectl set-ntp [true/false] 啟用或禁用NTP
            • timedatectl | grep "Time zone" 顯示當前時區
          • poweroff關機 關閉系統
          • 創建目錄 mkdir
            • 1)切換到指定目錄 cd /tmp 創建mkdir pq ls /tmp pq
            • 2)直接創建,不論位置 mkdir/tmp/pq
            • 3)mkdir -p創建多級目錄的時候 從2018到2023年每個月一個目錄,(用逗號隔開) mkdir -p{2018,2019,2020,2021,2022,2023}/{1,2,3,4,5}
            • 4)創建隱藏目錄 mkdir .目錄名
            • 5)mkdir 目錄1,目錄2..連續創建多個目錄
            • 6)mkdir 目錄名{10..20}連續創建指定范圍的目錄
            • 7)mkdir -p /cctv/myweb/{baidu,souhu}連續創建同路徑的目錄
            • 相對路徑和絕對路徑 相對路徑:從當前位置出發 絕對路徑:從根/出發 相對路徑 . 當前目錄 ..上一級目錄 例如:mkdir/tmp/pq/qz
            • 遞歸式創建 mkdir -p/tmp/pq/qz
          • ls查看當前文件或文件夾
            • 第一段的第一個字符表示文件類型,- 普通文件,d目錄,l連接文件(快捷方式),b塊設備文件(存儲設備),c字符設備文件(輸入輸出設備)
            • 第一段的第2個到10個字符表示權限 r讀w寫執行
            • 第二段的數字表示訪問連接數
            • 第三段和第四段表示文件所屬用戶和組
            • 第五段文件大小
            • 第六段到第九段文件最后一次修改時間
            • 最后一段是文件名
          • alias設置別名
            • alias 別名=’命令’ alias ck=’ls -alh’,使用ck的時候效果等同于ls -lah
            • alias后面什么都不加,查看所有別名
            • unalias取消別名 unalias 別名
          • 文件管理
            • 創建文件touch
              • 一般用于服務測試
              • 相對路徑touch ck 當前目錄下
              • 絕對路徑touch /tmp/pq/1 指定目錄創建
              • touch -d "2022-04-09 15:00" abc.txt
            • rm刪除
              • rm 參數1 [參數2...參數n]
              • rm-f 刪除不提醒
              • rm -i刪除時提醒
              • rm -r遞歸刪除目錄樹,刪除目錄時必用
              • rm -rf遞歸刪除不提醒,慎用
              • rm= rm -i 別名
              • 刪除/tmp下所有內容兩種方法 1.rm -rf /tmp/* 2. cd /tmp rm -rf *
            • cp復制
              • cp 源文件 1,源文件2 .. 目標位置 把前面所有參數復制到最后一個參數位置 復制多個文件的時候,最后一 個參數必須是目錄
                • cp /tmp/a/pq tmp/b
              • -f同名文件不提醒,強制覆蓋
              • -i同名文件提醒是否覆蓋 -r復制目錄的時候必須用
              • -p保留源文件的所有屬性
            • file
              • 一個用來確定文件類型的命令
              • file filename: 顯示單個文件的類型。 file *: 顯示當前目錄下所有文件的類型。 file /bin/* | grep text: 顯示 /bin 目錄下所有類型為文本的文件。 file -i filename: 顯示文件的 MIME 類型,這在網絡環境中特別有用。
                • 例如,如果你有一個名為 script.sh 的文件,你可以使用 file 命令來確定它是否是一個shell腳本: file script.sh 輸出可能會是: script.sh: Bourne-Again shell script, ASCII text executable 這意味著 script.sh 是一個可執行的 Bourne-Again shell(Bash)腳本。
            • mv移動 重命名
              • mv /tmp/a.txt /tmp/b.txt 重命名
            • tar歸檔,打包
              • 將不同路徑的文件進行歸檔,打包為一個文件,在過程中可以選擇壓縮,釋放時,根據文件的原有路徑進行釋放。
              • tar 選項 目標歸檔文件名(成品名字) 源文件
                • 選項: -c創建歸檔文件 -x釋放歸檔文件 -z使用gzip壓縮 -j使用bzip2壓縮 -f 指定歸檔文件名(打包之后的名字) -v 顯示過程 -p歸檔后保留文件權限 -C釋放歸檔文件時,指定其他路徑
                • 歸檔打包: tar -zcvf /tmp/etc.tar.gz /etc/* tar -zcvf /tmp/etc1.tar.gz /etc/* /bin/* /var/*
                • 釋放歸檔文件:(解壓) tar -zxvf /tmp/etc.tar.gz #沒有指定目標路徑,會在當前目錄中釋放。 tar -zxvf /tmp/etc1.tar.gz -C /cctv/data #將歸檔文件釋放到指定目錄中
              • 壓縮命令
                • gzip
                  • gzip -9文件名 #數值1到9表示壓縮比例,9壓縮比例最高,速度最慢。gzip -9 service
                  • gzip -d 壓縮文件名 #解壓后,壓縮文件消失 gzip -d service.gz 壓縮后保留壓縮文件: gzip -d -c services.gz >services #-c選項,壓縮文件后顯示內容信息
                • bzip2 壓縮命令,用法同gzip
                  • bzip的壓縮比例高,gzip的壓縮速度快
                • gunzip和bunzip2解壓縮,作用與gzip -d和bzip2 -d相同。
          • find 查找文件或目錄
            • find[查找位置][查找條件]
            • 查找條件 -name根據名字查,可以使用通配符?* -size根據大小查,可以使用+(相當于大于)-(相當于小于) -user根據用戶查 -perm匹配權限 -type根據類型查,d:目錄;f:文件;b:塊文件;c:字符文件 group匹配所有組 -mtime匹配文件修改內容時間 -atime匹配訪問文件的時間 -nouser匹配無所有者的文件 -nogroup匹配五所有組的文件-nogroup -prune忽略某個目錄 查找位置為空,在命令提示符當前位置查 -0 或者 -a并且
              • 查找/tmp/abc下的所有文件 find/tmp/abc -type f
              • 查找/tmp/abc下小于10k的 find/tmp/abc -size “-10k”
              • 查找/tmp/abc下的所有.txt文件 find/tmp/abc -name”*.txt”
              • 查找/tmp/abc下屬主是root的 find/tmp/abc -user “root”
              • 查找/tmp/abc下大于10k的 find/tmp/abc -size “+10k”
              • 查找/tmp/abc下的所有目錄 find/tmp/abc -type d
              • 查找/tmp/abc下大于10k的文件 find/tmp/abc -size “+10k” -a -type f
              • 查找/tmp/abc下在10k-100k之間的文件 find/tmp/abc -size “+10k” -a --size “-100k” -a -type f
              • 查找/tmp/abc下在10k-100k之間 find/tmp/abc -size “+10k” -a --size “-100k”
              • 查找/var小于1k的日志文件 find /var -size “1k” -a -name”*.log” -a -type f
              • 查找/tmp/abc下的所有非目錄 find/tmp/abc ! -type d
              • 查找777權限的文件 find -perm 777
              • 查找屬于特定組的所有文件: find /path/to/search -group groupname
              • 查找在過去24小時內內容被修改過的文件: find /path/to/search -mtime 0
              • 查找在過去24小時內被訪問過的文件: find /path/to/search -atime 0
              • 查找沒有有效所有者的文件: find /path/to/search -nouser
              • 查找沒有有效所屬組的文件: find /path/to/search -nogroup
              • 在搜索時忽略特定目錄(例如忽略名為 ignore_dir 的目錄): find /path/to/search -path /path/to/search/ignore_dir -prune -o -print
          • 通配符
            • 在命令體系中,可以使用特定的符號代替一個或者多個字符,實現快速查找和操作
            • ?:可以代替任意一個字符,0-9或a-z的字符 *:可以代替一組字符,最少0個,最大127個 ls -l/bin/p*
          • du空間大小
            • 統計指定的目錄或文件,占用的空間大小
            • -a顯示指定目錄中,每個文件或子目錄的空間大小
            • -s只顯示指定目錄的總空間大小
            • -h顯示存儲單位
          • 重定向
            • >重定向符:將命令執行成功后顯示的信息導出到指定的文件或位置,覆蓋,一換一
              • man ls> abc.txt
            • >>多重重定向:以追加的方式將信息導出到文件
              • man ls> abc.txt cat abc.txt ls cat 2.txt cat >2.txt cat >>2.txt
          • cat查看文件內容
            • -n顯示行號
          • vim編輯
            • 插入命令
              • a在光標所在字符后面插入 A在光標所在行尾插入 i在光標所在字符前插入 I(大i)在光標所在行首插入 o在光標下插入新行 O在光標上插入新行
            • 定位命令
              • : set nu設置行號 : set nonu取消行號 gg到第一行 G到最后一行 nG到第n行 :n到第n行 $移至行尾 0移至行首
            • 刪除命令
              • nx刪除光標所在處字符刪除光標所在處后n個字符 x刪除光標處所在字符 dd刪除光標所在行,ndd刪除n行 dG刪除光標所在行到文件末尾內容 D刪除光標所在處到行尾內容 :nl,n2d刪除指定范圍的行
            • 復制和剪切命令
              • yy復制當前行 nyy復制當前行以下n行 dd剪切當前行 ndd剪切當前行以下n行 p、P粘貼在當前光標所在行下或行上
            • 取消和替換命令
              • r取代光標所在處字符 R從光標所在處開始替換字符,按Esc結束 u取消上一步操作
            • 搜索和搜索替換命令
              • /string搜索指定字符串搜索時忽略大小寫 :set ic n搜索指定字符串的下一個出現位置 %s/old/new/g全文替換指定字符串 :n1,n2s/old/new/g在一定范圍內替換指定字符串
            • 保存和退出
              • :w 保存修改 :w new filename另存為指定文件 :wq保存修改并退出 :q!不保存退出 :wq!保存修改并退出(文件所有者及root可使用)
          • ln創建鏈接文件
            • 鏈接文件俗稱快捷方式,在創建鏈接文件時,一定要使用絕對路徑。
            • 軟連接:對指定的文件進行了快捷引用,當實體文件被改名或者刪除后,軟連接將失效。
              • ln -s /文件路徑/文件名 目標文件名(軟連接快捷方式) #創建軟連接
              • ln -s /abc.txt adc.txt
            • 硬鏈接:對指定文件建立了第二個文件名,兩個文件名管理的是同一個文件,當實體文件名被修改或者刪除時,不影響硬鏈接文件名的使用,因為實體文件沒有被刪除。
              • ln /文件路徑/文件名 目標文件名 #創建硬連接
          • grep顯示文本中,符合指定字符串的行
            • I 忽略大小寫 -v反向選擇
            • grep “http” /etc/services
            • grep -v “^$” /etc/services ”^”表示指定字符開頭,”字符$”表示指定字符結尾,”^$”表示空行。 grep "^1" /root/1.txt grep "2$" /root/1.txt
            • ls -l|grep “root”將之前的結果作為下次查詢的條件
            • |grep 對于有輸出內容的篩選
              • ll|grep
                • 子主題 1
              • cat 文件名| grep 篩選的文本
                • 子主題 1
              • tail -n 文件名 | grep 篩選的文本
                • 子主題 1
          • |管道符
            • 將前一個命令生成的結果交給后一條命令進行調用
            • 在shell腳本的主要作用是獲取信息
          • wc
            • 對文件內容進行統計,行數,單詞數,字節數
            • -l統計行數 -w統計單詞數 -c統計字節數
          • 常規操作
            • 修改ip地址
              • 修改網絡配置文件 Vim/etc/sysconfig/network-scripts/ifcfg-ens33
                • 按i進入輸入模式 BOOTPROTO=DHCP -->BOOTPROTO=static 將網卡獲取方式自動獲取改為手動配置 ONBOOT=no -->ONBOOT=yes 開機啟動網卡 IPADDR=192.168.1.1(IP地址) NETMASK=255.255.255.0(子網掩碼) GATEWAY=192.168.1.100(網關) 保存退出
              • 重啟網絡服務修改的ip生效 systemctl restart network /service network restart
              • 若想聯網,設置dns等等配置 DNS=114.114.114.114 DNS=8.8.8.8
            • 暫時關閉防火墻
              • systemctl stop firewalld service iptables stop /setenforce 0 永久關閉防火墻 systemctl disable firewalld 查看防火墻狀態service firewalld status
          • yum源配置
            • 1.名字 2.標注 3.路徑(本地、網絡) 本地:鏡像iso file,ftp 網絡 baseurl=http 4.檢測 5.自啟 Yum源是0,可能出現的問題 查掛載,設置已連接和鏡像文件包,配置文件寫錯了
              • 1)清空原先yum配置 rm -rf /etc/yum.repos.d/* 2)重新設置本地yum源 vim /etc/yum.repos.d/yum.repo [yum] name=yum baseurl=file:///media 本地yum源位置掛載在目錄media上 gpgcheck=0 關閉公鑰檢查 enabled=1啟動yum源 保存退出 3.yum.repolist all查看yum是否搭載完成 4.清除原先yum源 yum clean all 5.建立源緩存yum makecache 6.yum install -y 軟件名進行安裝 7.yum -y remove 軟件名進行刪除
          • 掛載
            • mount 硬件(光盤、硬盤)本地目錄 目的是通過目錄調取硬件設備,把光盤掛載在本地目錄下
            • 光盤sr0或者cdrom cdrom是sr0的軟連接 mount /dev/sr0 /media
            • 切換進media軟件庫未安裝的切換進去Packgae目錄cd /media/Packgaes
          • rpm
            • 安裝
              • rp m -ivh 包名 -i安裝 -v顯示過程 -h顯示進度條
            • 卸載
              • rpm- e軟件名 #卸載軟件,不會卸載依賴環境,如果卸載的軟件被其他程序所依賴,則無法卸載。 --force #強制執行 --nodeps #跳過依賴關系監測
            • 已安裝
              • rpm -qa #查詢所有已安裝的軟件包 rpm - qa |grep 軟件名 #查詢所有已安裝的軟件包,用來確認軟件是否已安裝 rpm -qi軟件名 #查詢已經安裝的指定軟件的詳細信息 rpm-ql軟件名 #查詢已安裝的軟件路徑
            • 未安裝
              • rpm -qpi 軟件包名 #查詢軟件包的詳細信息 rpm -qpl 軟件包名 #查詢軟件包的安裝路徑
          • 常見輔助命令
            • history查看歷史命令 !+命令編號,重新執行命令 clear清屏 which查找外部命令文件位置 根據環境變量定義的位置查找
            • more分頁顯示/整頁
              • more分頁顯示文件內容 more文件路徑 回車一行一行往下翻 空格一頁一頁往下翻 q退出
            • less分頁顯示/一行
              • Less分頁顯示文件內容,可以上翻頁 less abc.txt PageUp上翻頁 PageDown下翻頁 /***在文件中查找*** n查找結果往后翻 N查找結果往前翻 q退出
            • tail
              • tail -n 文件 查看文件的倒數幾行 查看文件的11-20行(總共50行) 取前20行,倒數第10行 head -20 文件名 |tail -10 tail -40 文件名 |head-10 不加-n默認10行 tail -f 文件名 動態查看文件末尾內容(當文件末尾內容發生變化的時候自動更新)
              • tail查看文件后面幾行【默認是后10行)
              • tail-n :_后面接數字,代表顯示幾行的意思
              • tail-f∶表示持續偵測后面所接的文件,要等到按下[ctrl]-c才會結束tail的偵測
          • 用戶和組
            • 用戶分類
              • 用戶管理
                • 用戶密碼管理
                  • 設置用戶密碼和修改密碼 passwd命令:root能夠修改任何用戶的密碼,并且不需要舊密碼驗證。 其他用戶只能修改自己的密碼,需要舊密碼驗證,普通用戶需要授權之后才能修改密碼。 Passwd用戶名
                • 鎖定用戶
                  • usermod -L 用戶名:鎖定用戶的密碼驗證過程,防止用戶登錄。但是如果有切換用戶并且不驗證身份的操作,鎖定用戶不生效。 將用戶的登錄shell設置為nlogin,是直接設置拒絕用戶登錄,不管身份是否驗證,都不允許登錄。 passwd -l 用戶
                • 解鎖用戶
                  • Usermod -u 用戶名 Passwd -u 用戶名
                • 查看用戶密碼狀態 passwd -S 用戶名
              • 超級用戶:root,擁有最大的權限,能夠對系統內核進項編譯修改。 普通用戶:由管理員創建,正常用于登錄和遠程訪問的用戶。 服務用戶:管理服務進程,訪問服務進程的用戶,此用戶不能登錄系統和遠程訪問。
            • 組分類
              • 基本組;用戶默認所屬組,或者主要的組。 附加組:屬于用戶的擴展組,會繼承該組所設置的權限。 在Linux中,所有的組都只有訪問權限(對文件或目錄),沒有定義對系統的管理權限。
            • id
              • 打印當前用戶或指定用戶的用戶ID(UID)、組ID(GID)以及所屬的任何附加組的信息
              • 顯示當前用戶的UID、GID和所屬組: id 這會產生如下類似的輸出: uid=1000(用戶名) gid=1000(用戶組名) groups=1000(用戶組名),27(sudo),999(docker)
            • 用戶文件管理
              • /etc/passwd
                • 文件中記錄著用戶的相關信息,用戶可以通過管理用戶的命令進行修改,也可以使用vim命令進項修改 Tom:x:1000:1000:tom:/home/tom:/bin/bash:
                • 第一段:用戶名 第二段:密碼或者密碼占位符,x表示投影密碼(由shadow文件管理密碼),?。】彰艽a(不需要密碼驗證,如服務用戶),空白(沒有設置密碼,但用戶需要密碼驗證),*任意密碼驗證(服務用戶需要身份驗證,但是支持匿名訪問) 第三段:uid,用戶id號,在服務器中每個用戶的id號是唯一的,最大值65535,1到1000之間的被常用服務占用,可以手動修改。 第四段:gid,用戶所屬基本組的id號。 第五段:備注說明 第六段;用戶家目錄所在位置,宿主目錄。 第七段:用戶登錄時,所執行的shell(運行環境或者運行狀態),bash(設置登錄環境,建立對話界面),nologin(禁止登錄)
              • /etc/shadow
                • 投影密碼文件,用戶獨立管理用戶密碼和相關信息。 Tom:x:18620:0:999:7:::
                • 第一段:用戶名 第二段:密碼字符串(加密后) 第三段:最后一次修改密碼的時間,從1970年1月1日開始計算 第四段:密碼最短使用時間,0表示可以隨時修改密碼 第五段:密碼最大使用時間,99999表示不限期 第六段:密碼到期后提醒時間 第七段:密碼到期后禁用用戶時間 第八段:賬戶失效時間。密碼有效使用時間,到期后修改密碼也無法使用,一般使用是在收費項目中。 第九段;保留
            • 用戶相關命令
              • 創建用戶
                • useradd 選項 參數 用戶名 useradd zhang3
                • 選項: -u:指定給用戶id號 useradd -u 2000 zhang3 -g:指定基本組id號或者基本組名 useradd -g root zhang3 -G指定附加組 Usermod -G tech zhang3 useradd -M l4,z3,w5 tech(組) 同時添加所有用戶到附加組 -d指定家目錄位置 useradd -d /var/ftp/ zhang3 -s:指定用戶的執行shell useradd -s /sbin/nologin zhangsan3 注:#符號表示當前用戶為超級用戶,$表示普通用戶 -e:指定用戶賬戶失效時間 useradd -e 2023-2-15 zhang useradd -u 2000 -g 2002 -e 2023-2-15 zhang3 -N不創建與用戶同名的組
              • 修改用戶
                • 需要修改用戶的信息時,可以使用usermod命令修改,或者直接修改配置文件。 usermod 選項 參數 用戶名 選項與useradd的相同 -c用戶添加備注 usermod -c hh ck -d -m 可重新指定用戶的家目錄并自動把老的數據遷移過去 -e賬戶的到期時間 -g變更用戶組 G變更擴展組 -L鎖定用戶禁止用戶登錄系統 -U解鎖用戶 -S變更解釋器 -u 修改用戶的UID usermod -d /var/ftp zhang1
                • vim /etc/passwd 修改用戶相關信息
              • 刪除用戶
                • userdel 用戶名 #只刪除用戶,保留用戶家目錄 -r #刪除用戶時,同時刪除家目錄
            • 組相關命令
              • 組配置文件
                • /etc/group 第一段:組名 第二段:密碼占用符 第三段:組ID號 第四段;附加用戶名
              • 創建組
                • groupadd 選項名 組名 -g指定組ID號,GID 500-65535 groupadd jishu
              • 修改組
                • groupmod -g GID號 組名 #修改組的ID
              • 刪除組
                • groupdel 組名 #如果一個組為某一個用戶的基本組,在用戶沒有被刪除之前,該組無法刪除。
            • 文件權限
              • 權限說明
                • 在使用ls -l命令查看文件或者目錄時,顯示的信息中,第一段包含了文件的權限,共10個字符,第一個字符文件的類型, -表示普通文件, -d表示目錄, -b表示塊設備(存儲文件), -c字符設備, -l軟連接。 第二個到第十個字符表示權限,每三個字符為一組,分別表示所屬用戶 ,所屬組,其他用戶的權限; -rwxrwxrwx ;r代表讀取,w代表寫,x代表可執行權限,-代表沒有對應的權限。
                  • rw- r-- r-- 用戶用戶組 其它用戶 文件 目錄 r cat ls w vim touch/mkdir x ./文件名 cd
              • chmod 表達式 文件名 修改用戶對文件的操作權限
                • 特殊權位
                  • SUID、SGUID、SBIT所有者特殊權位和組權位、粘滯位,使普通用戶在執行應用程序或者通過程序調用文件時,臨時具備文件所有者的權限。 特殊權位會在x的位置添加s標記,如果小寫s表示該文件原有可執行x的權限,如果是大寫S表示源文件沒有可執行權限。
                  • SUID SGID SBIT粘滯位 4 2 1 777 rwxrwxrwX 1755 rwxr-xr-t t=r-x +SBIT 6764 rwsrwSr-- rwS=rw-+SGIDrws=rwx+SUID 5537 r-s-wxrwt r-s=r-X+SUIDrwt =rwx+SBIT
                • 可分配權限
                  • r:讀取 w:修改 x:可執行 s:特殊權限 t:粘滯位 當前目錄只能屬主和root操作,其他人不能操作
                    • 表達式 分配的權限對象 u:所屬用戶 chmod u+rw uu g:所屬組 chmod g=rwx uu o:其他用戶 chmod o+w uu a:所有用戶 all chmod a+wx uu
                  • r :使用數字4表示 w:使用數字2表示 x:使用數字1表示 777數組中第一個數字表示所有者,第二個數字表示所屬組,第三個數字表示其他用戶。 修改一個文件的權限,所有者讀寫執行rwx,組讀寫rw,其他用戶讀執行rx chmod 765 文件名
                • 權限分配符,定義符
                  • +:在現有的權限基礎上添加權限 -:在現有的權限基礎上取消權限 =:賦予權限,代替原有權限
                    • 例如:給a文件設置所有者讀寫執行權限 chmod u+x a chmod o-w a chmod g=w a
              • chown修改文件屬主
                • 每個文件和目錄都有一個關聯的"所有者"和"組"。所有者是一個用戶,而組則可以包含多個用戶。文件的組所有權決定了屬于該組的所有用戶對該文件的訪問權限
                • chown 所屬用戶:所屬組 文件名 -R使用遞歸方式,給指定的目錄匯總所有文件進行權限或者屬主修改 chown :xxxx uu chown ckck uu修改屬主不需要冒號,如果加上冒號默認修改組為基本組id
                • 命令用來改變文件或目錄的用戶及/或組所有者
                • 如果你只想改變組所有權,可以省略用戶名: chown :組名 文件名 這里是一些使用 chown 的例子: 改變文件的所有者: chown username filename 同時改變文件的所有者和組: chown username:groupname filename 改變目錄及其內容的所有者(使用 -R 或 --recursive 選項來遞歸地操作): chown -R username directoryname 改變文件的組所有權,而不改變所有者: chown :groupname filename
              • umask 權限掩碼
                • 設置用戶創建目錄和文件的默認權限,創建文件系統使用最大權限減去掩碼的值,剩余的數值是當前權限。 目錄的最大權限:777 文件的最大權限:666 權限掩碼默認:022 默認創建目錄時;777-022=755 修改掩碼值:umask 022掩碼值越大,得到的權限越小,創建文件時,權限掩碼如果是奇數,再減1.
          • 磁盤命令
            • 磁盤管理
              • 磁盤分區
                • MBR分區
                  • MBR:主引導記錄,是兼容性非常高的分區模式。分區類型劃分為:主分區,擴展分區,邏輯分區。每塊硬盤最多創建4個主分區或3個主分區+1個擴展分區。
                  • 主分區的作用:能夠連接0磁道的引導扇區,讀取系統啟動信息,加載啟動內核。過程稱為激活,或者活動分區。
                  • 擴展分區的作用:用于管理邏輯分區的結構,所有邏輯分區都必須在擴展分區上創建。擴展分區不能夠直接格式化使用。通過擴展分區,可以增加分區的數量。
                  • 邏輯分區的作用:用戶創建的,用戶存儲不同數據的分區。
                • 分區管理
                  • fdisk 分區管理命令 -l 查看分區信息 fdisk /dev/硬盤名稱 進入指定硬盤的分區管理界面 3硬盤接口 SATA SCSI M.2 sd IDE hd
                    • 命令字符說明: m :顯示命令字符幫助 n :添加一個新的分區 d :刪除分區 t :修改分區文件系統類型 p :查詢分區信息 w :保持退出 q :不保存退出
                  • 步驟
                    • 1)給虛擬機添加硬盤 虛擬機 設置 硬盤 添加硬盤reboot 2)給/dev/sdb創建分區 fdisk /dev/sdb 3)輸入n創建分區 p 創建主分區 3個或4個主分區 e 創建擴展分區 1個擴展分區 l 創建邏輯分區 邏輯分區 在擴展分區之上數量隨意,從5開始,1-4分配給主分區和擴展分區
                    • 創建主分區n,p
                      • 子主題 1
                    • 創建擴展分區n,e
                      • 子主題 1
                    • 創建邏輯分區n,l
                      • 子主題 1
                    • 刪除分區d
                      • 子主題 1
                    • 修改分區文件系統類型:
                      • 子主題 1
                    • 查看分區p
                      • 子主題 1
              • 格式化
                • 格式化分區
                  • mkfs.文件系統 分區名
                    • 把第二塊SCSI磁盤的一個邏輯分區格式化為XFS mkfs.xfs /dev/sdb5
                    • mkfs.ext4 /dev/sdb1 mkfs.ext4 #格式化分區為ext4類型 mkfs.vfat #格式化為fat類型,一般U盤使用此格式 mkfs.xfs #xfs類型,存儲文件的效率比較高
                  • mkfs -t 文件系統 分區名
                    • 把第二塊SCSI磁盤的一個主分區格式化為XFS mkfs -t xfs /dev/sdb1
                • 查看分區ID號和文件系統類型
                  • blkid命令 lsbulk -f 查看掛載情況 df 查看內存free -m
              • 建立交換分區 交換分區又稱為虛擬內存swap
                • 創建交換分區有兩種方法:
                  • 將整個分區格式化為swap。
                    • mkswap /dev/sdb5 #建立交換分區
                    • swapon 分區名 #啟用交換分區 swapon /dev/sdb5
                    • swapoff 分區名 #停用交換分區 swapoff /dev/sdb5 #關閉交換分區,不能將所有的交換分區都關閉。
                    • mkfs -t vfat -F 32 分區名 把分區格式化FAT32 mkfs.vfat -F 32 分區名
                  • 創建一個塊設備文件,構建swap
                    • dd if=/dev/zero of=/swap1 bs=1M count=2048 格式說明: dd 創建塊設備(存儲設備) if= 輸入文件 of= 輸出文件 bs= 基本存儲塊容量 count= 存儲塊的數量 mkswap /swap1 swapon /swap1
                      • [root@server0 ~]# dd if=/dev/zero of=/swapfile bs=1024k count=512 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 4.96061 s, 108 MB/s 使用 mkswap 命令來格式化交換文件 [root@server0 ~]# mkswap /swapfile Setting up swapspace version 1, size = 524284 KiB no label, UUID=78b8c7bf-b898-450e-ab64-d4d78f256f1e 啟用交換分區 [root@server0 ~]# swapon /swapfile swapon: /swapfile: insecure permissions 0644, 0600 suggested. 查看交換分區 [root@server0 ~]# swapon -s Filename Type Size Used Priority /swapfile file 524284 0 -1 #寫入開機啟動 [root@server0 ~]# cat /etc/fstab /swapfile swap swap defaults 0 0 創建大小為512M的交換文件: [root@server0 ~]# dd if=/dev/zero of=/swapfile bs=1024k count=512 512+0 records in 512+0 records out 536870912 bytes (537 MB) copied, 4.96061 s, 108 MB/s 使用 mkswap 命令來格式化交換文件 [root@server0 ~]# mkswap /swapfile Setting up swapspace version 1, size = 524284 KiB no label, UUID=78b8c7bf-b898-450e-ab64-d4d78f256f1e 啟用交換分區 [root@server0 ~]# swapon /swapfile swapon: /swapfile: insecure permissions 0644, 0600 suggested. 查看交換分區 [root@server0 ~]# swapon -s Filename Type Size Used Priority /swapfile file 524284 0 -1 #寫入開機啟動 [root@server0 ~]# cat /etc/fstab /swapfile swap swap defaults 0 0
              • 掛載和卸載
                • mount
                  • 將設備文件掛載到一個目錄上,使用目錄的功能進行文件和子目錄的管理。
                  • mount 設備 掛載點 掛載分區到/data目錄: mount /dev/sdb1 /data 一個設備可以在多個掛載點進行掛載使用。一個掛載點可以被多個設備掛載,但是只能訪問最后一次掛載的設備文件。 df 查看掛載點信息 mount 不使用選項時,顯示所有掛載信息。
                • 掛載iso鏡像文件
                  • dd if=/dev/sr0 of=/abc.iso #將光盤的內容制作為iso文件 mount -o loop 鏡像文件 掛載點 mount -o loop /abc.iso /web
                • 卸載掛載點
                  • 如果是更換光盤的操作,一定先卸載掛載點,在更換光盤,否則掛載點會出錯。 umount 掛載點 先卸載掛載點,在卸載硬盤 umount 硬件文件 umount /data umount /dev/sdb1
                • 自動掛載
                  • 將掛載設備添加到/etc/fstab文件中,系統啟動時,會自動掛載設備。 永久掛載vim /etc/fstab 添加: ① ② ③ ④ ⑤ ⑥ /dev/sdb1 /cctv xfs defaults 0 0
                    • 第1段:分區名(要掛載的硬件文件) 第2段:掛載點名稱 第3段:文件系統類型 第4段:默認選項 第5段:分區備份標記,0表示不備份,1表示可以使用dump工具備份 第6段:分區檢測標記,0表示不檢測,1表示開機時自動檢測。
                  • mount -a #掛載所有配置文件(fstab)中的設備。 umount -a #卸載所有設備,根分區、臨時分區、正在被使用的交換分區不能被卸載。 lost+found是一個本地設備掛載標記,沒有實際作用
            • 查看磁盤和內存命令
              • df顯示指定磁盤文件的可用空間 參數: -h:使用-h選項自動以KB、MB、GB的單位來顯示,可讀性高~~~(最常用)重點是看使用率,避免使用率超過80%類似我們windows的CDEF盤總覽
                • tmp臨時文件,主要看根目錄
              • du,顯示每個文件和目錄的磁盤使用空間 參數: -h :以人們較易讀的容量格式(G/M)顯示 du -h以K(kb) M(兆)G為單位顯示,提高可讀性~~~(最常用的一個)
                • ./代表當前目錄
                • du-sh目錄的大小
                • du -sh ./*當前目錄下的所有文件
              • free顯示系統使用和空閑的內存情況 參數:-k :以KB為單位顯示內存使用信況。(畎認單位) -m :以MB為單位顯示內存使用情況。 -g:以GB為單位顯示內存使用信況。 total:總計物理內存的大小 used:已使用多大 free:可用有多少 shared:多個進程共享的內存總額 buffers/cached:磁盤緩存的大小 available:可回收利用的大小swap,指的是一個交換分區或文件
                • 子主題 1
          • 系統管理命令
            • hostname
              • hostname顯示主機名
                • 主機名
            • 系統狀態
              • uname
                • 命令可以提供關于你的系統內核、硬件平臺、處理器類型等的信息
                • -a:顯示所有可用的系統信息(內核名稱、節點名稱、內核版本、內核發布日期、系統架構等)。 -s:顯示內核名稱(默認行為)。 -n:顯示網絡節點的主機名。 -r:顯示內核版本。 -v:顯示內核的版本和發布日期。 -m:顯示機器硬件名稱(例如x86_64,i686等)。 -p:顯示處理器類型。 -i:顯示硬件平臺。 -o:顯示操作系統
              • uptime
                • 它用于顯示系統自上次啟動以來已運行的時間。除了顯示系統運行時間之外,uptime 還可以提供當前登錄用戶的數量以及系統負載平均值。負載值越低越好。
                • 14:17:01 up 5:39, 2 users, load average: 0.42, 0.70, 0.83 14:17:01:當前的系統時間。 up 5:39:系統已經運行了5小時39分鐘。 2 users:當前有2個用戶登錄系統。 load average: 0.42, 0.70, 0.83:顯示了過去1分鐘、5
              • who
                • 顯示當前登錄到系統的用戶信息
                • 用戶名:顯示登錄用戶的用戶名。 終端名:顯示用戶登錄的終端設備名稱(如tty1, pts/0等)。 登錄時間:顯示用戶登錄系統的時間。 從哪里登錄:對于遠程登錄,它還可能顯示用戶登錄的主機名或IP地址。
                • -a:顯示所有選項的信息。 -H:在輸出的列上顯示標題。 -q:顯示登錄用戶的用戶名和總數。 -r:顯示當前運行級別。 -m:僅顯示關于當前終端的信息。
                • 如果你只想知道當前有多少用戶登錄,可以組合使用 who 和 wc -l 命令來計數:who | wc -l
              • last
                • 通常是從 /var/log/wtmp 文件中讀取的。此命令顯示系統上所有用戶的登錄和注銷記錄,以及系統重啟和關機事件
                • 用戶名:登錄的用戶。 終端:用戶登錄的終端設備,如tty1、pts/0等。 登錄IP:如果是遠程登錄,還會顯示用戶從哪個IP地址登錄。 登錄時間:用戶登錄的日期和時間。 注銷時間:用戶注銷的日期和時間或當前會話的持續時間。 持續時間:會話持續的時間,如果會話仍然活躍,則顯示為 still logged in。
                • 這個命令還有一些選項,可以用來過濾和顯示特定的信息,例如: -f:指定另一個文件來代替 /var/log/wtmp。 -R:不顯示主機名字段。 -x:顯示系統關機條目和運行級別更改。 -n:顯示最近的 n 行記錄。 例如,如果你要查看最近10次的登錄記錄,可以使用以下命令: last -n 10
              • netstat
                • 可以幫助您監測和診斷網絡連接問題,檢查活動網絡連接(包括 TCP 和 UDP 端口)以及查看路由表、接口統計
                  • -a:顯示所有活動的網絡連接以及計算機監聽的端口。 -n:以數字形式顯示地址和端口號,不進行名稱解析(例如,不將端口80顯示為http)。 -t:顯示TCP連接。 -u:顯示UDP連接。 -l:僅顯示正在監聽的端口。 -r:顯示路由表。 -s:按協議顯示統計信息,如TCP、UDP、ICMP等。 -p:顯示哪個進程正在使用特定的套接字或端口(在某些系統上需要管理員權限)。
                • netstat -i 命令用于顯示本機接口的網絡統計信息。當你在命令行中執行這個命令時,它將列出所有網絡接口并顯示關于每個接口的數據,例如已傳輸和接收的數據包數量,錯誤,丟棄的數據包數等。
                  • Iface 列顯示接口名稱。 MTU 列顯示最大傳輸單元(Maximum Transmission Unit)。 RX-OK, RX-ERR, RX-DRP, 和 RX-OVR 列分別展示了接收到的數據包數、接收錯誤、丟包數、和溢出錯誤。 TX-OK, TX-ERR, TX-DRP, 和 TX-OVR 列展示了傳輸數據包數、傳輸錯誤、丟包數、和溢出錯誤。 Flg 列顯示了各個接口的標志,例如 BMRU 代表廣播 (B), 多播 (M), 運行 (R), 和 更新 UKernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 1126523 0 0 0 987654 0 0 0 BMRU lo 65536 300 0 0 0 300 0 0 0 LRU
            • 統計和文件編輯
              • wc
                • 用于統計給定文件的換行符、單詞和字節的數量。如果沒有給定文件,或者文件名為-,它會讀取標準輸入。
                  • -l 或 --lines:只統計行數。 -w 或 --words:只統計單詞數。 -c 或 --bytes:只統計字節數。 -m 或 --chars:只統計字符數,這在多字節字符集中很有用。 -L 或 --max-line-length:打印最長行的長度。 如果不加任何選項,wc將輸出所有三項統計(行數、單詞數、字節數)
                • 統計文件example.txt的行數、單詞數和字節數: wc example.txt 僅統計文件example.txt的行數: wc -l example.txt 統計多個文件file1.txt和file2.txt的行數、單詞數和字節數,并顯示總計: wc file1.txt file2.txt
              • cut
                • 它用于從文件中提取文本列
                • -b 或 --bytes=LIST:根據字節位置選擇,LIST 是一個由逗號或連字符分隔的數字列表,用來指定提取哪些字節。 -c 或 --characters=LIST:根據字符位置選擇,LIST 的指定方式與 -b 相同。 -f 或 --fields=LIST:根據字段選擇,LIST 是字段的列表,通常與 -d 選項一起使用來指定字段的分隔符。 -d 或 --delimiter=DELIM:與 -f 一起使用,指定字段的分隔符,默認是制表符。 --complement:選取未被 LIST 指定的部分。 [FILE]... 是一個或多個文件名,如果沒有指定文件或者文件名為 -,則 cut 會讀取標準輸入。
                  • 從文件 file.txt 中提取第一個字段(假設字段由制表符分隔): cut -f1 file.txt 從文件 file.txt 中選擇第 1 到第 5 字節: cut -b1-5 file.txt 使用逗號作為字段分隔符,提取文件 file.txt 中的第二字段: cut -d',' -f2 file.txt
              • diff
                • 用于比較兩個文件的內容差異。它逐行比較文本文件,顯示兩個文件之間的差異。這個工具在編程、文檔校對和管理配置文件等領域中非常有用。
                • -c 或 --context:顯示差異的上下文,即除了差異行還顯示一些沒有變化的行。 -u 或 --unified:以統一格式顯示差異,這是一種更緊湊的顯示方式。 -i 或 --ignore-case:在比較時忽略大小寫的差異。 -w 或 --ignore-all-space:忽略所有空白字符的差異。 -b 或 --ignore-space-change:只忽略空格數量的差異。 -B 或 --ignore-blank-lines:忽略空白行的差異。 -r 或 --recursive:遞歸地比較目錄中的文件。
                  • 比較兩個文件 file1.txt 和 file2.txt: diff file1.txt file2.txt 以統一格式顯示 file1.txt 和 file2.txt 的差異,并顯示差異的上下文(例如,前后各3行): diff -u -C 3 file1.txt file2.txt 遞歸比較兩個目錄 dir1 和 dir2: diff -r dir1 dir2 忽略大小寫,比較兩個文件 file1.txt 和 file2.txt: diff -i file1.txt file2.txt 可以用來僅報告文件是否不同,而不顯示具體的差異內容 diff --brief 文件1 文件2
              • uinq
                • -c 或 --count:在每行前加上該行出現的次數。 -d 或 --repeated:僅打印重復出現的行,每組重復的行打印一次。 -u 或 --unique:僅打印唯一的行。
                  • 顯示文件中的唯一行: uniq 文件.txt 這會輸出所有行,并將連續的重復行合并為每行的單個實例。 計算文件中每行出現的次數: uniq -c 文件.txt 這會在每行前面加上該行在文件中出現的次數。 僅顯示多次出現的行: uniq -d 文件.txt 這會列出輸入中重復的行。 僅顯示唯一的行: uniq -u 文件.txt 這會列出在輸入中只出現一次的行。
                • 于報告或過濾出文件中的重復行。通常,uniq 用于排序后的輸出,因為它只能檢測到連續的重復行。這個命令在去除或計數重復條目時很有用。
              • sort
                • 用于對文本文件的行進行排序。默認情況下,sort 會按照升序(從小到大)對輸入的文本文件中的行進行排序。
                • -n 或 --numeric-sort:根據字符串數值部分的數值大小進行排序。 -r 或 --reverse:逆序排序(從大到小)。 -k 或 --key=字段1,字段2:指定排序時使用的字段或列。 -u 或 --unique:與 uniq 類似,刪除重復的行,僅保留唯一的行。 -o 或 --output=文件:將排序結果寫入到指定的文件。
                  • 基本排序,按字母順序排序文件: sort 文件.txt 按數字進行排序: sort -n 文件.txt 按逆序進行排序: sort -r 文件.txt 按特定字段排序(例如,按第二列排序): sort -k2 文件.txt 排序并去除重復行: sort 文件.txt | uniq 或者使用 sort 的 -u 選項: sort -u 文件.txt 將排序結果輸出到另一個文件: sort 文件.txt -o 排序后的文件.txt
              • stat
                • 用于顯示文件或文件系統狀態的工具。它提供了關于文件/文件夾的詳細信息,包括文件大小、塊大小、總塊數、inode編號、權限(以八進制和符號格式)、所有者、組、最后訪問時間、最后修改時間和創建時間(在支持該特性的文件系統上)。
                • 獲取文件的狀態信息: stat 文件名 這會顯示指定文件的所有狀態信息。 獲取文件系統的狀態信息: stat -f 文件系統名 這會顯示指定文件系統的狀態信息。
            • whereis
              • 用來定位可執行文件、源代碼文件、幫助手冊等與程序相關的文件的位置。它特別快速,因為它使用預先構建的數據庫來查找文件,而不是在整個文件系統中實時搜索。
              • whereis ls
                • ls: /bin/ls /usr/share/man/man1/ls.1.gz
            • which
              • 專門用來查找將要執行的二進制文件,即它搜索用戶的 PATH 環境變量中定義的目錄。 它用于確定當您在shell中輸入一個命令時,將會執行哪個程序的路徑。 which 只返回第一個找到的可執行文件的路徑,這通常是系統將實際執行的文件。 如果在 PATH 中沒有找到命令,which 不會返回任何結果
              • which ls
                • /bin/ls
            • clear
              • clear清屏
            • top
              • Top動態顯示當天耗費資源最多的進程 M按照內存從高到低 p按照cpu從高到低 q退出 以交互式的方式實時顯示系統中運行的進程信息,包括CPU占用率、內存占用率、進程ID、進程名等。它會動態更新顯示,可以方便地查看系統當前的運行情況,以及了解哪些進程占用了較多的資源htop需要安裝,提供了一個彩色的、可視化的界面,用于監控系統的實時進程活動和資源使用情況
                • top實時查看進程 0zombie
                • 子主題 2
            • ping命令
              • 用于測試主機之間的網絡連通性。它發送ICMP(Internet Control Message Protocol)回顯請求消息給目標主機,并監聽回顯應答消息。通過 ping 命令,可以檢測目標主機是否可達,以及來回的通信延遲(即往返時間,或 RTT)
              • -c [count]:發送指定數量的回顯請求后停止,發起ping的次數。ping -c 3 192.168.3.1 -i [interval]:兩次連續請求之間的間隔時間(秒)。ping -c 3 -i 2 192.168.3.1 -l 指定網卡名稱 -t [TTL]:設置IP包的生存時間(Time To Live)。 -s [size]:發送的數據包大?。ㄗ止潱?-W [timeout]:等待回顯應答消息的最長時間(秒)最長等待時間。
            • tracepath
              • 用于追蹤數據包從本地主機到目標主機所經過的路徑。tracepath 發送數據包并記錄每一跳的IP地址,從而確定數據包的路徑
              • tracepath [options] [destination] 其中 [destination] 是目標主機的IP地址或主機名 -n:不進行主機名解析,只顯示IP地址。 -l [length]:設置每次發送數據包的長度。 -m [max_hops]:設置最大跳數,即最多經過多少個節點。
                • tracepath example.com在執行該命令時,你將看到類似于以下的輸出,顯示從你的計算機到 example.com 的每一跳路線上的節點: 1: local_host (192.168.1.1) 0.123ms pmtu 1500 2: isp_gateway (203.0.113.1) 0.256ms 3: isp_router (203.0.113.2) 0.462ms 4: ... 5: core_router (198.51.100.14) 20.461ms 6: example.com (93.184.216.34) 22.481ms reached Resume: pmtu 1500 hops 6 back 55
                • tracepath -n google.com 1: 192.168.1.1 0.123ms pmtu 1500 2: 203.0.113.1 0.256ms 3: 203.0.113.2 0.462ms 4: ... 5: 198.51.100.14 20.461ms 6: 172.217.14.238 22.481ms reached Resume: pmtu 1500 hops 6 back 55 第一列顯示了跳數。 第二列顯示了每跳的節點IP地址。 第三列顯示了到該節點的往返時間。 最后一行“Resume:”給出了一些額外的信息,包括測量的PMTU和到達目標的跳數。
            • ps查看進程
              • ps用來顯示當前進程的狀態
              • "a"選項表示顯示所有用戶的進程,而不僅僅是當前用戶的進程。這個命令將列出系統中所有正在運行的進程,以及它們的詳細信息
              • "u"選項表示以用戶為中心的格式顯示進程的詳細信息
              • "x"選項表示顯示沒有控制終端的進程,通常用于顯示后臺進程。
              • ps:-e︰顯示系統中所有正在運行的進程,而不僅僅是當前用戶的進程。這個命令將列出系統中所有進程的簡要信息,包括它們的進程ID(PID)、終端、CPU占用 "ps -a"命令將顯示與當前終端相關的所有進程,包括其他用戶的進程。
              • ps-f:顯示程序間的關系 ps-ef顯示系統中所有進程的靜態信息,包括每個進程的詳細信息,如進程ID、父進程ID、CPU占用率、內存占用率、進程狀態等。它會一次性顯示所有進程的信息,不會像"top"命令那樣動態更新。
              • ps -ef | grep python查找python進程UID:用戶ID
              • PID:進程ID
              • PPID:父進程’
              • C :CPU占用率
              • STIME:系統啟動時間
              • TTY:登入者的終端機位置
              • 'TIME :耗時
              • CMD:COMMAND命令,行為
              • 子主題 15
            • nice它用于啟動一個進程并給予其一個特定的“nice值”,該值影響進程的優先級。
              • 默認情況下,當您啟動一個進程時,它會繼承父進程的nice值(通常是0)。使用nice命令,可以在啟動進程時給其分配一個新的nice值,從而改變它在獲取CPU時間時的優先級。
              • 在Linux中,進程的優先級決定了CPU時間分配的相對順序,nice值的范圍從-20(最高優先級)到19(最低優先級)。
              • nice -n 10 command nice -n 10 bash 其中command代表你想要執行的命令。-n選項后面跟著的數字是你希望分配給該進程的nice值。
              • 如果你想要改變一個已經在運行的進程的nice值,可以使用renice命令。例如,如果你想要將進程ID為1234的進程的nice值改為10 renice 10 -p 1234
              • 需要注意的是,只有root用戶或者具有相應權限的用戶才能將進程的nice值設置為低于0的值。普通用戶通常只能增加自己進程的nice值(即降低優先級)。
            • pidof查找具有特定名稱的進程的進程ID(PID)
              • pidof sshd
            • pstree用于顯示系統中運行的進程的樹狀圖
              • 僅打印 pstree: pstree打印包含進程PID的 pstree: pstree -p 打印特定用戶的進程樹: pstree username 打印樹狀圖并高亮顯示當前進程和其祖先: pstree -h 打印特定PID的進程樹: pstree -p PID
            • 進程狀態
              • 運行(Running):進程當前正在執行或者在等待CPU時間片。
              • 等待(Waiting):進程正在等待某個條件滿足,比如等待I/O操作完成或者等待信號。
              • 停止(Stopped):進程已經停止執行,通常是收到了SIGSTOP信號。
              • 僵尸(Zombie):進程已經終止,但是其父進程還沒有對其進行善后處理,這種狀態的進程通常會被init進程收養并進行清理。
              • 僵尸(Defunct):類似于僵尸進程,表示進程已經終止,但是其父進程還沒有對其進行善后處理。
            • kill
              • kill殺掉進程
              • kill 8963殺掉pid號為8963的進程
              • kill-9∶強制殺掉進程eg. kill -9 9332強制殺掉pid號為9332的進程
              • killall sshd 需要安裝
            • shutdown關機
            • reboot重啟
            • ping
              • ping確定網絡和各外部主機的狀態 -t連續性的
                • finalshell是否和遠端服務器網絡連通
            • date
              • date顯示或設置系統當前時間(不加參數,默認顯示系統當前的時間)
              • date-s ∶將系統時間設為所設定的時間
                • 修改日期: date -s 日期時間, eg. date -s 2019-9-19
                • 修改時間: date -s 時間, eg.date -s 15:30:113
                • 同時修改時間和日期: date -s“日期時間時間“,eg. date -s “2019-9-19 15:30:11”
          • firewall防火墻
            • 防火墻圖形化界面
              • 運行時相當于臨時,重啟無效 永久:永久生效
            • 端口
              • 子主題 1
              • 端口轉發
                • 子主題 1
            • 協議
              • 子主題 1
            • firewall命令
              • --list-all:顯示當前區域所有網卡配置參數,資源,端口等信息 --add-service=服務名:設置默認區域允許該服務的流量 --remove-service=服務名:設置默認區域不允許該服務的流量 --add-port=端口號/協議:設置默認區域允許該端口的流量 --remove-port=端口號/協議:設置默認區域不允許該端口的流量 --reload:永久生效的配置立即生效 --permanent:配置永久生效 --query-service=服務名:查詢該服務是否被允許 --firewall-cmd --state查看防火墻狀態 --firewall-cmd --get-active-zones查看防火墻活動區域
                • firewall-cmd - add service=http firewall- cmd - permanent -- add- service=https firewall- cmd -- reload更新 1不允許https和http流量通過 2允許tcp協議8080端口流量通過,立即永久生效 注意:在端口號后面需要注意添加協議, 我們寫配置永久生效后,需要我們輸入--reload 讓他生效
          • 常用服務搭建
            • Apache服務器搭建
              • firewall- cmd - permanent -- add- service=http yum install -y htttpd*
              • systemctl restart httpd重啟Apache服務
              • 主目錄:我們頁面的內容/var/www/html 我們創建的文件后綴必須是index.html 在瀏覽器中輸入IP地址就能訪問到了
              • 提供HTTP服務的服務器軟件。它是一種基于客戶端-服務器模型的軟件,可以接收來自客戶端的HTTP請求,并返回相應的HTTP響應。
            • DNS服務器搭建
              • 解析IP地址 域名(網址)跟IPi地址進行相互解析 端口號53 Host文件,本地緩存文件
              • 127.0.0.1 本地回環地址 localhost 域名
              • Centos8 安裝dns會失敗,先刪除再安裝
              • 三大配置文件
                • 主配置文件:/etc/named.conf
                  • 子主題 1
                • 區域配置文件:/etc/named.rfc1912.zones

                • 區域數據配置文件:/var/named/named.localhost
                  • 復制一個,然后去修改這個復制的文件 cp-p named.localhost whoaliang.com.zone
                • named-checkconf可以檢查配置文件
                • 配置文件寫完后必須重啟服務 systemctl stop firewalld.service關閉防火墻 systemctl restart named.sevice重啟dns
                • 配置文件寫錯了就是下面這個
                  • 報錯,修改他的地址
                  • 修改里面的地址為自己的IP地址
                  • 出現問題
                  • 修改第三個區域
                • 正確的
            • Samba服務器
              • linux和windows之間通訊軟件 重要的兩個服務,smb和nmb
              • linux配置
                • yum -y install samba 啟動服務:systemctl restart smb(nmb) 防火墻:samba,samba-client
                • 配置文件:/etc/samba/smb.conf
                  • 配置文件: Comment:描述 Path:共享路徑 Browseable=yes/no:指定共享是否可以瀏覽 Writable=yes/no:指定該路徑是否可寫 Available=yse/no:執行該路徑是否可用 Public=yes/no:指定guest是否可以共享
                  • 記得重啟和創建目錄 systemctl restart smb
              • windows
                • 輸入虛擬機ip地址
                • 當你訪問后(權限問題)
                  • 去linux賦予權限
            • dhcp服務器
              • 安裝yum -y install dhcp
              • 動態主機配置協議,是一個局域網的網絡協議,他是由服務器控制一段IP地址范圍,客戶機登陸服務器時就可以自動獲取IP地址和掩碼 好處: 1.減少管理員的工作量 2.避免IP沖突 3.當網絡更改IP地址時,不需要重新配置每個用戶的IP地址 4.提高IP地址利用率 5.方便客戶端配置 (僅主機,昨天設置的DHCP自動獲取要取消)
                • 分配方式 自定分配: 手動分配: 動態分配:
              • 配置文件:/etc/dhcp/dhcpd.conf 進程啟動文件:/usr/sbin/dhcpd 安裝dncp.x86-64 案例:/usr/share/doc/dhcp*/dhcpd.conf.example 配置文件注意事項: 1.#他是注釋,不用管 2.除了)后面不加;,任何一句話后面都需要加;
                • 參數: default-lease-time:默認租期時間 max-lease-time:使用者自己設定租約時間,不能超過這個時間 option name:分配域名
                • 客戶端用的內容 釋放地址:dhclient -r 獲取地址:dhclient 查看網關:route
              • 動態寫法: Subnet 網絡號 netmask 掩碼{ range ip1 ip2 } 固定寫法 host 自定義名字{ hardware ethernet fixed-address IP地址 } 他的說明書:/usr/share/doc/dhcp-4.2.5
                • 子主題 1
              • 寫配置文件后,出現-xe,不用想別的問題,就是配置文件寫錯了 寫的沒問題,但是就是報錯,最簡單的方式是復制他的文本文件
                • 固定IP地址,你需要給第二臺計算機一個固定的IP地址 在我們客戶端地址沒改變的時候, 從新獲取IP地址:dhclient -r 在dhclient 如果都不行,客戶端重啟電腦
              • 安裝dhcp出現的這種錯誤 yum 文件掛載的路徑和掛載的路徑不一致
                • 如果出現客戶端ip不更新有線設置改為ens33 有線設置不連接,windows重啟vm網卡
          • 調度任務
            • CronTab周期性任務
              • -cron是一個進程,讓linux周期性執行某個命令 Crontab是一個命令,可以設置linux周期性執行某個命令,重復性任務 -u設置某個用戶的周期工作(root用戶) -e創建和編輯工作內容 -l查看當前計劃任務 -r移除某條內容 -u編輯他人的計劃任務 * * * * * * 1.分鐘:可以從 0-59 之間任何數值 2.2.小時:可以從 0-23 之間任何數值 3.天日期:可以從 1-31之間任何數值 4.月份:可以從 1-12之間任何數值 5.星期幾:可以從 0-7 之間任何數值(0和7都是星期日) 6.要執行的命令,執行自己寫的腳本 特殊字符 *:任何時刻都可以 ,:代表分隔 -:代表范圍 /n:(n代表數字)每隔n單位
              • 1,每小時的第 15 分 45 分執行一個命令 15,45 * * * * command 2.7 點到 10 點的第 10 分鐘和 50 分鐘都執行命令 10,50 7-10 * * * command 3.每隔一天的 7點到 11 點,第 20 分鐘執行命令 20 7-11 */1(特別注意要帶*) * * command 4.每周一的 8-11 點第 25 分鐘執行命令 25 8-11 * * 1 command 5.每天 9 點-16 點之間,每隔 15 分鐘執行命令 */15 9-16 * * * command 6.每周六,周日的 3 點 30 分執行命令 30 3 * * 6, 7 command 這個任務寫到了/var/spool/cron
                • whereis tar 用于定位二進制程序、源代碼文件和手冊頁的路徑。要找到 tar 程序的位置 tar: /bin/tar /usr/share/man/man1/tar.1.gz
            • at一次性任務
              • 第一種交互式 systemctl start httpd systemctl stop firewalld at 11:00 systemctl stop httpd ctrl +d systemctl start atd systemctl status atd
              • 第二種 一行寫法 echo echo "systemctl start httpd" at 11:20

          取某些網站數據,但翻頁后網址沒有改變,無法爬取多頁數據,如何解決?

          第1頁

          第2頁

          查看表單數據,發現current=1,翻頁后變為2,其他參數不變。

          主程序:


          主站蜘蛛池模板: 亚洲狠狠久久综合一区77777| 一区二区免费国产在线观看| 一区二区三区无码被窝影院| 一区二区三区杨幂在线观看| 国模无码视频一区| 无码一区二区三区老色鬼| 亚洲毛片不卡av在线播放一区| 国产未成女一区二区三区| 精品一区二区三区东京热| 国产精品一区二区久久不卡 | 日韩一区二区三区在线| 无码欧精品亚洲日韩一区| 国产午夜毛片一区二区三区| 日本一区午夜爱爱| 动漫精品第一区二区三区| 在线一区二区三区| 中文字幕精品一区二区2021年| 久久国产精品无码一区二区三区| 日本免费电影一区二区| 久久精品国产亚洲一区二区| 综合久久一区二区三区| 精品aⅴ一区二区三区| 三上悠亚日韩精品一区在线| 91麻豆精品国产自产在线观看一区 | 色偷偷av一区二区三区| 2022年亚洲午夜一区二区福利| 久久精品一区二区三区日韩| 中文字幕无码免费久久9一区9| 看电影来5566一区.二区| 日韩免费观看一区| 少妇人妻精品一区二区三区| 日本美女一区二区三区| 韩国精品福利一区二区三区 | 欲色aV无码一区二区人妻| 中文字幕人妻无码一区二区三区| 夜色阁亚洲一区二区三区| 中文字幕在线观看一区| 成人区精品人妻一区二区不卡| 无码人妻久久久一区二区三区| 亚洲一区二区三区四区在线观看| 精品国产乱码一区二区三区|