<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 設置別名 [alias] - 設置臨時別名 ``` alias www='cd /var/www' ``` - 永久別名 > 更改~/.bashrc或/etc/bashrc,前者是針對單用戶,后者針對全局用戶 ``` vim ~/.bashrc #內容 alias h='history' 生效 source ~/.bashrc ``` ## 進程相關 ### 殺掉進程 ``` [root@localhost www]# ps PID TTY TIME CMD 2928 pts/0 00:00:00 sudo 2929 pts/0 00:00:00 su 2930 pts/0 00:00:00 bash 3848 pts/0 00:00:00 ps [root@localhost www]# kill 2929 ``` ### 查看某個pid 是否運行 ``` [root@localhost www]# ps -p 104101 PID TTY TIME CMD 104101 ? 00:00:02 UpPushServer ``` 看第二行是否存在 ## 用戶操作 ``` 添加用戶:useradd -m 用戶名 設置密碼 passwd 用戶名 刪除用戶:userdel -r 用戶名 ``` ## 文件處理 ``` mkdir -p 遞歸創建目錄 cp -a 復制 -r 復制目錄 -p 連帶文件屬性復制 -d 若源文件是鏈接文件.則復制鏈接屬性 -a 相當于 -pdr(前三個相加) ln -s 創建鏈接 s 創建軟鏈接 相當于windows的快捷方式 ``` ## 歷史命令:history >提示 alias h='history' ``` history [n] 顯示前n 條的歷史 history [-c] 清空歷史 !n 執行第n條的指令 ``` ## 開關機操作 ``` shutdown -k : 不要真的關機,只是發送警告訊息出去! -r : 在將系統的服務停掉之后就重新開機(常用) -h : 將系統的服務停掉后,立即關機。(常用) -c : 取消已經在進行的shutdown 指令內容。 shutdown -h now shutdown -h 20:25 shutdown -h +10 shutdown -r now reboot 關機 ``` ## 歡迎界面 ``` vim /etc/motd 歡迎使用本服務器,連接后自動展示此段文字 ``` ## 文件/文件夾權限 ### chgrp 改變組 ``` -rw-rw-r--. 1 vagrant vagrant 15 Aug 17 08:34 test [root@localhost vagrant]# chgrp root test.php -rw-rw-r--. 1 vagrant root 15 Aug 17 08:34 test ``` ### chown 改變檔案擁有者和組 ``` -rw-rw-r--. 1 vagrant vagrant 15 Aug 17 08:34 test [root@localhost vagrant]# chown root:sftp test -rw-rw-r--. 1 root sftp 15 Aug 17 08:34 test ``` ### chmod 改變權限 `r`可讀 `w`可寫 `w`可執行( 對目錄而言是**能否進入該目錄**) r:4 w:2 x:1 owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0 ``` -rw-r--r--. 1 root root 26 Aug 16 06:10 test.php [root@localhost vagrant]# chmod 755 test.php -rwxr-xr-x. 1 root root 26 Aug 16 06:10 test.php ``` chmod u=rwx,g=rx,o=r test.php chmod a+w test.php -a all 所有分組 所有組加上可寫權限 ## 目錄 ``` cd [空] 進入當前登錄者的home pwd 顯示當前的目錄 (Print Working Directory) mkdir 新建目錄 mkdir -p test1/test2/test3/test4 遞歸建立目錄 mkdir -m 711 test2 建立權限為711的存檔 rmdir 刪除空目錄 rmdir -p test1/test2/test3/test4 遞歸刪除目錄 ``` ## 路徑 ``` [root@localhost tmp]# PATH="${PATH}:/root" 添加路徑 /root 路徑 [root@localhost tmp]# echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/root ``` ## 復制、刪除與移動:cp,rm,mv ### 復制 ``` cp [option] source1 source2 -a 檔案的屬性,權限,時間一起復制(常用于備份) -i 若目標已經存在,則進行詢問 -r 可以復制目錄(可能會改變文件屬性,可用-a 代替) -u 目標文檔與源文檔有差異復制(常用于備份) ``` ### 刪除 ``` rm [-fir]檔案或目錄 -f 忽略不存在的檔案,不會出現警告訊息 -i 在刪除前會詢問 (y/n) -r 遞歸刪除 ``` ### 移動(重命名) ``` mv [options] source1 source2 source3 .... directory -f 如果目標檔案已經存在,不會詢問而直接覆蓋 -i 如果目標已經存在,就會詢問是否覆蓋 (y/n) -u 若目標檔案已經存在,且source 比較新,才會更新 ``` ## 檔案內容查閱 ``` cat 由第一行開始顯示檔案內容 tac 從最后一行開始顯示,可以看出tac 是cat 的倒著寫! nl 顯示的時候,順道輸出行號! more 一頁一頁的顯示檔案內容 less 與more 類似,但是比more 更好的是,他可以往前翻頁! head 只看頭幾行 tail 只看尾巴幾行 od 以二進位的方式讀取檔案內容! ``` ## 修改檔案時間或建置新檔 - modification time (mtime): 文檔內容變更時變化 - status time (ctime): 文檔權限與屬性改變時變化 - access time (atime): 讀取該文檔時,變化 ``` touch [-acdmt]檔案 -a 僅修訂access time -c 僅修改檔案的時間,若該檔案不存在則不建立新檔案; -d 后面可以接欲修訂的日期而不用目前的日期 -m 僅修改mtime ; -t 后面可以接欲修訂的時間而不用目前的時間,格式為[YYYYMMDDhhmm] ``` ``` touch -d "2 days ago" test.php 變更ctime ``` ## 檔案預設權限:umask ** 查看當前屬性** ``` [root@study ~]# umask 0022 [root@study ~]# umask -S u=rwx,g=rx,o=rx ``` *注1:0222 先只需要考慮后三位022 , 刪掉什么權限就寫什么數,如需要刪掉寫的權限(r=4,w=2,x=1) 則刪除2* *注2:若使用者建立為『檔案』則預設『沒有可執行( x )權限』,亦即只有rw這兩個項目,也就是最大為666* **預設** 之后新創建的文件和目錄會按照新設置的權限 ``` //設置權限 [root@study ~]# umask 002 //新創建的文件為 -rw-rw-r-- //新創建的目錄為 drwxrwxr-x ``` ## 設定隱藏屬性 ``` chattr [+-=][ASacdistu]檔案或目錄名稱 + :增加某一個特殊參數,其他原本存在參數則不動。 - :移除某一個特殊參數,其他原本存在參數則不動。 = :設定一定,且僅有后面接的參數 ``` |參數|說明| |---|---| |A|當設定了A 這個屬性時,若你有存取此檔案(或目錄)時,他的存取時間atime 將不會被修改,可避免I/O 較慢的機器過度的存取磁碟。(目前建議使用檔案系統掛載參數處理這個項目)| |S|一般檔案是非同步寫入磁碟的(原理請參考前一章sync的說明),如果加上S這個屬性時, 當你進行任何檔案的修改,該更動會『同步』寫入磁碟中。| |a|當設定a 之后,這個檔案將只能增加資料,而不能刪除也不能修改資料,只有root 才能設定這屬性| |c|這個屬性設定之后,將會自動的將此檔案『壓縮』,在讀取的時候將會自動解壓縮, 但是在儲存的時候,將會先進行壓縮后再儲存(看來對于大檔案似乎蠻有用的!)| |d|當dump 程序被執行的時候,設定d 屬性將可使該檔案(或目錄)不會被dump 備份| |i|這個i 可就很厲害了!他可以讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增資料!』 對于系統安全性有相當大的助益!只有root 能設定此屬性| |s|當檔案設定了s 屬性時,如果這個檔案被刪除,他將會被完全的移除出這個硬碟空間,所以如果誤刪了,完全無法救回來了喔!| |u|與s 相反的,當使用u 來設定檔案時,如果該檔案被刪除了,則資料內容其實還存在磁碟中,可以使用來救援該檔案喔!| *注1:屬性設定常見的是**a** 與 **i** 的設定值,而且很多設定值必須要身為root 才能設定* 例子: ``` [root@study tmp]# touch attrtest [root@study tmp]# chattr +i attrtest [root@study tmp] # rm attrtest rm: remove regular empty file `attrtest'? y rm: cannot remove `attrtest': Operation not permitted //即使root用戶也無法刪除 //取消i屬性 [root@study tmp]# chattr -i attrtest ``` ### 顯示隱藏屬性 ``` lsattr [-adR]檔案或目錄 -a :將隱藏檔的屬性也秀出來; -d :如果接的是目錄,僅列出目錄本身的屬性而非目錄內的檔名; -R :連同子目錄的資料也一并列出來! ``` ``` [root@study tmp]# lsattr passwd ----ia---------- passwd ``` ## SUID/SGID/SBIT 權限設定 ``` 4 為SUID 2 為SGID 1 為SBIT [root@study tmp]# chmod 6755 test; //賦值 ``` ## file 觀察檔案類型 ``` file /usr/bin/passwd ``` ## 指令檔名的搜尋 ### which ``` [vagrant@localhost ~]$ which ifconfig 搜索命令 /usr/sbin/ifconfig ``` ### whereis ``` root@study ~]# whereis ifconfig ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz ``` ### find #### 時間相關搜索 ``` find [PATH] [option] [action] -mtime n :n 為數字,意義為在n 天之前的『一天之內』被更動過內容的檔案; -mtime +n :列出在n 天之前(不含n 天本身)被更動過內容的檔案檔名; -mtime -n :列出在n 天之內(含n 天本身)被更動過內容的檔案檔名。 -newer file :file 為一個存在的檔案,列出比file 還要新的檔案檔名 例子 find / -mtime 0 將過去系統上面24小時內有更動過內容(mtime)的檔案列出 find /etc -newer /etc/passwd 尋找/etc底下的檔案,如果檔案日期比/etc/passwd新就列出 find -name 搜索文件 ``` ![find 相關的時間參數意義](http://linux.vbird.org/linux_basic/0220filemanager/find_time.gif) #### 使用者或群組名稱有關的參數 ``` -uid n :n為數字,這個數字是使用者的帳號ID,亦即UID ,這個UID 是記錄在 -gid n :n 為數字,這個數字是群組名稱的ID,亦即GID,這個GID 記錄在 -user name :name 為使用者帳號名稱喔!例如dmtsai -group name :name 為群組名稱喔,例如users ; -nouser :尋找檔案的擁有者不存在/etc/passwd 的人! -nogroup :尋找檔案的擁有群組不存在于/etc/group 的檔案! 當你自行安裝軟體時,很可能該軟體的屬性當中并沒有檔案擁有者, 這是可能的!在這個時候,就可以使用-nouser 與-nogroup 搜尋。 例子: [root@study ~]# find /home -user dmtsai 搜尋/home底下屬于dmtsai的檔案 ``` #### 與檔案權限及名稱有關的參數 ``` -name filename:搜尋檔案名稱為filename 的檔案; -size [+-]SIZE:搜尋比SIZE 還要大(+)或小(-)的檔案。這個SIZE 的規格有: c: 代表byte, k: 代表1024bytes。所以,要找比50KB 還要大的檔案,就是『 -size +50k 』 -type TYPE :搜尋檔案的類型為TYPE 的,類型主要有:一般正規檔案(f), 裝置檔案(b, c), 目錄(d), 連結檔(l), socket (s), 及FIFO (p) 等屬性。 例子: [root@study ~]# find /etc -name passwd 找出passwd文檔 [root@study ~]# find / -name "*passwd*" 找出檔名包含了passwd這個關鍵字的檔案(記得加引號) [root@study ~]# find / -size +1M 找出大于1M的 ``` #### 額外可進行的動作 ``` -exec command :command 為其他指令,-exec 后面可再接額外的指令來處理搜尋到的結果。 -print :將結果列印到螢幕上,這個動作是預設動作! 例子; [root@localhost home]# find / -name passwd -exec ls -l {} \; total 0 -r--r--r--. 1 root root 0 Aug 29 02:22 index dr-xr-xr-x. 2 root root 0 Aug 29 02:22 perms -rw-r--r--. 1 root root 1398 Aug 3 09:04 /etc/passwd -rw-r--r--. 1 root root 188 Jun 10 2014 /etc/pam.d/passwd 注釋:{}代表的是由find找到的內容 -exec 一直到\; 中間就是需要插入的命令 `;` 在bash 環境下是有特殊意義的,因此利用反斜線來跳脫。 ``` ## 列出系統上的所有磁碟列表 ``` [root@study ~]# lsblk [-dfimpt] [device] 選項與參數: -d :僅列出磁碟本身,并不會列出該磁碟的分割資料 -f :同時列出該磁碟內的檔案系統名稱 -i :使用ASCII 的線段輸出,不要使用復雜的編碼(再某些環境下很有用) -m :同時輸出該裝置在/dev 底下的權限資料(rwx 的資料) -p :列出該裝置的完整檔名!而不是僅列出最后的名字而已。 -t :列出該磁碟裝置的詳細資料,包括磁碟佇列機制、預讀寫的資料量大小等 [root@localhost vagrant]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 39G 0 part ├─VolGroup00-LogVol00 253:0 0 37.5G 0 lvm / └─VolGroup00-LogVol01 253:1 0 1.5G 0 lvm [SWAP] 注釋: NAME:就是裝置的檔名啰!會省略/dev 等前導目錄! MAJ:MIN:其實核心認識的裝置都是透過這兩個代碼來熟悉的!分別是主要:次要裝置代碼! RM:是否為可卸載裝置(removable device),如光碟、USB 磁碟等等 SIZE:當然就是容量啰! RO:是否為唯讀裝置的意思 TYPE:是磁碟(disk)、分割槽(partition) 還是唯讀記憶體(rom) 等輸出 MOUTPOINT:就是前一章談到的掛載點! ``` ## 列出磁碟的分割表類型與分割資訊 ``` [root@study ~]# parted device_name print 例子: [root@localhost vagrant]# parted /dev/sda print Model: ATA VBOX HARDDISK (scsi) #磁碟的模組名稱(廠商) Disk /dev/sda: 42.9GB #磁碟的總容量 Sector size (logical/physical): 512B/512B #磁碟的每個邏輯/物理磁區容量 Partition Table: msdos #分割表的格式(MSDOS(MBR)/GPT) Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2097kB 1049kB primary 2 2097kB 1076MB 1074MB primary xfs boot 3 1076MB 42.9GB 41.9GB primary lvm ``` ## 磁碟分割 MBR分割表請使用fdisk分割, GPT分割表請使用gdisk分割! ## gdisk ``` [root@localhost dev]# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000a5130 Device Boot Start End Blocks Id System /dev/sda1 2048 4095 1024 83 Linux /dev/sda2 * 4096 2101247 1048576 83 Linux /dev/sda3 2101248 83886079 40892416 8e Linux LVM Command (m for help): q #離開 不保存操作 ``` ## 用fdisk 新增分割槽 ``` [root@study ~]# gdisk /dev/vda Command (? for help): p Number Start (sector) End (sector) Size Code Name 1 2048 6143 2.0 MiB EF02 2 6144 2103295 1024.0 MiB 0700 3 2103296 65026047 30.0 GiB 8E00 #找出最后一個sector的號碼是很重要的! Command (? for help): ? #查一下增加分割的指令為何 Command (? for help): n #就是這個!所以開始新增的行為! Partition number (4-128, default 4): 4 #預設就是4號,所以也能enter即可! First sector (34-83886046, default = 65026048 ) or {+-}size{KMGTP}: 65026048 #也能enter Last sector (65026048-83886046, default = 83886046 ) or {+-}size{KMGTP}: +1G #決不要enter #這個地方可有趣了!我們不需要自己去計算磁區號碼,透過+容量的這個方式, # 就可以讓gdisk 主動去幫你算出最接近你需要的容量的磁區號碼喔! Current type is ' Linux filesystem ' Hex code or GUID (L to show codes, Enter = 8300 ): #使用預設值即可~直接enter下去! #這里在讓你選擇未來這個分割槽預計使用的檔案系統!預設都是Linux檔案系統的8300啰! Command (? for help): p Number Start (sector) End (sector) Size Code Name 1 2048 6143 2.0 MiB EF02 2 6144 2103295 1024.0 MiB 0700 3 2103296 65026047 30.0 GiB 8E00 4 65026048 67123199 1024.0 MiB 8300 Linux filesystem ``` ## 壓縮 ``` *.Z compress 程式壓縮的檔案; *.zip zip 程式壓縮的檔案; *.gz gzip 程式壓縮的檔案; *.bz2 bzip2 程式壓縮的檔案; *.xz xz 程式壓縮的檔案; *.tar tar 程式打包的資料,並沒有壓縮過; *.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮 解壓 tar -zxvf *.tar.bz2 tar 程式打包的檔案,其中並且經過 bzip2 的壓縮 *.tar.xz tar 程式打包的檔案,其中並且經過 xz 的壓縮 ``` ### 針對單一檔案 #### gzip ``` #壓縮 gzip test2.txt.gz #加壓縮 gzip -d test2.txt.gz ``` #### bash,xz ```bash bzip2 ,xz 等命令 壓縮參數相同 #壓縮效率比 xz>bzip2>gzip #壓縮時間比 xz<bzip2<gzip ``` ### 打包指令: tar ```shell -c :建立打包檔案,可搭配-v 來察看過程中被打包的檔名(filename) -t :察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了; -x :解打包或解壓縮的功能,可以搭配-C (大寫) 在特定目錄解開 特別留意的是, -c, -t, -x 不可同時出現在一串指令列中。 -z :透過gzip 的支援進行壓縮/解壓縮:此時檔名最好為*.tar.gz -j :透過bzip2 的支援進行壓縮/解壓縮:此時檔名最好為*.tar.bz2 -J :透過xz 的支援進行壓縮/解壓縮:此時檔名最好為*.tar.xz 特別留意, -z, -j, -J 不可以同時出現在一串指令列中 -v :在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來! -f filename:-f 后面要立刻接要被處理的檔名!建議-f 單獨寫一個選項啰!(比較不會忘記) -C 目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。 其他后續練習會使用到的選項介紹: -p(小寫) :保留備份資料的原本權限與屬性,常用于備份(-c)重要的設定檔 -P(大寫) :保留絕對路徑,亦即允許備份資料中含有根目錄存在之意; --exclude=FILE:在壓縮的過程中,不要將FILE 打包! 壓縮:tar -jcv -f filename.tar.bz2 要被壓縮的檔案或目錄名稱 查詢:tar -jtv -f filename.tar.bz2 解壓縮:tar -jxv -f filename.tar.bz2 -C欲解壓縮的目錄 #如果使用 -z tar -zcv -f filename.tar.bz2 #demo 壓縮etc目錄,加time 可以顯示壓縮時間 time tar -zpcv -f /root/etc.tar.gz /etc 查看壓縮的文件 tar -ztv -f /root/etc.tar.gz 壓縮到指定目錄 tar -jxv -f /root/etc.tar.bz2 -C /tmp ``` >注意:文件名得自己取,壓縮查看都得配合 > `-z`對應 ` tar.gz`后綴 > `-j` 對應 `bz2`后綴 > `-J` 對應 `.tar.xz`后綴
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看