<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 1. ubuntu 下vim修改tab鍵為4個空格 `vim /etc/vim/vimrc` * 加入三行內容: ~~~ set ts=4 set expandtab set autoindent ~~~ ## 3. 查看局域網對應的外網IP ~~~ # 兩種命令都可以,不起作用時,換著用 curl ifconfig.me curl ifconfig.me/ip ~~~ ## 4. 復制虛擬機 1. 復制vdi或者vmdx文件到一個新的目錄。 ![](https://box.kancloud.cn/6df3375632d7ef6d542d09ea0ad59f30_323x154.png) 其中bigdata01.vdi是由base.vdi復制過來的 2. 進入到virtualbox的安裝目錄,執行命令,改變UUID `vboxmanage internalcommands sethduuid E:\虛擬機\bigdata01.vdi` ![](https://box.kancloud.cn/facd9cd343f9c7f9f38c00755df87923_690x71.png) 3.使用VirtualBox新建虛擬機,選擇磁盤的時候,選擇已有的磁盤,然后選中第一步中拷貝的文件。 4.建立好之后就可以正常使用了。 ## 5. 查看Linux的CPU個數 ~~~ # 總核數 = 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數 # 查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每個物理CPU中core的個數(即核數) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看邏輯CPU的個數 cat /proc/cpuinfo| grep "processor"| wc -l # CPU信息 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c ~~~ ## 6. 查看某一進程占用CPU和內存 `top -p pid` ## 7. 查看端口是否被占用 ~~~ netstat -tunlp |grep 7885 ~~~ ![](https://box.kancloud.cn/6f397d89049ed4d9d6b161786d9dbe23_1036x67.png) 紅圈 端口和占用進程 ## 8. diff 找兩個文件的不同 ### 8.1 參數 > * diff還提供了一些有用的參數來控制比較行為與輸出結果,一些常用的參數如下: > -b --ignore-space-change 忽略空格,如果兩行進行比較,多個連續的空格會被當作一個空格處理,同時會忽略掉行尾的空格差異。 > -w --ignore-all-space 忽略所有空格,忽略范圍比-b更大,包括很多不可見的字符都會忽略。 > -B 忽略空白行。 > -y 輸出兩列,一個文件一列,有點類似GUI的輸出外觀了,這種方式輸出更加直觀。 > -W 大寫W,當指定-y的時候設置列的寬度,默認是130 > -x, --exclude=PAT 比較目錄的時候排除指定PAT模式的文件名的比較 > -i, --ignore-case 忽略兩個文件中大小寫的不同 > -e 將比較的結果保存成一個ed腳本,之后ed程序可以執行該腳本文件,從而將file1修改成與file2的內容相同,這一般在patch的時候有用。 > diff -e 1.txt 2.txt > script.txt > 這樣就是生成了一個ed可以執行的腳本文件script.txt,生成腳本文件之后我們還需要做一個操作, 在腳本文件末尾添加ed的write指令,只需要執行 echo "w" >>script.txt 將w指令附加到腳本文件的最后一行即可。 > 那么如何應用該腳本文件呢,可以這樣使用: > ed - 1.txt < script.txt > 注意中間的 – 符號表示從標準輸入中讀取,而 < script.txt 則重定向script.txt的內容到標準輸入。這樣執行之后1.txt的內容將與2.txt完全相同。 ### 8.2 實例 > diff分析兩個文件,并輸出兩個文件的不同的行。**diff的輸出結果表明需要對一個文件做怎樣的操作之后才能與第二個文件相匹配**【或者這么理解:與第一個文件相比,第二個文件發生了那些變化】【git diff的結果輸出也是如此】。diff并不會改變文件的內容,但是diff可以輸出一個ed腳本來應用這些改變。 > 現在讓我們來看一下diff是如何工作的,假設有兩個文件: //file1.txt ~~~ I need to buy apples. I need to run the laundry. I need to wash the dog. I need to get the car detailed. ~~~ //file2.txt ~~~ I need to buy apples. I need to do the laundry. I need to wash the car. I need to get the dog detailed. ~~~ 我們使用diff比較他們的不同,輸入命令 `diff file1.txt file2.txt` 輸出如下結果: ~~~ 2,4c2,4 < I need to run the laundry. < I need to wash the dog. < I need to get the car detailed. > I need to do the laundry. > I need to wash the car. > I need to get the dog detailed. ~~~ 我們來說明一下該輸出結果的含義,要明白diff比較結果的含義,我們必須牢記一點,diff描述兩個文件不同的方式是告訴我們怎么樣改變第一個文件之后與第二個文件匹配。我們看看上面的比較結果中的第一行 2,4c2,4 前面的數字2,4表示第一個文件中的行,中間有一個字母c表示需要在第一個文件上做的操作(a=add,c=change,d=delete),后面的數字2,4表示第二個文件中的行。 > 2,4c2,4 表示: > 第一個文件中的第二行到第四行需要改變(c),才能和第二個文件一樣,操作有 > a=add 增加 > c=change 改變 > d=delete 刪除 > 接下來的內容則告訴我們需要修改的地方,前面帶 < 的部分表示左邊文件的第[2,4]行的內容,而帶> 的部分表示右邊文件的第[2,4]行的內容,中間的 --- 則是兩個文件內容的分隔符號。 > ## 9.查看系統版本 ### 4.1 lsb_release -a 系統發行版本信息 LSB是Linux Standard Base的縮寫,lsb_release命令用來顯示LSB和特定版本的相關信息。此命令適用于所有的Linux發行版本。 ~~~ lsb_release -a ~~~ ~~~ No LSB modules are available. Distributor ID: Ubuntu # 系統類別是ubuntu Description: Ubuntu 14.04.5 LTS # 14年2月4月發布的穩定版本,LTS是Long Term Support:長時間支持版本 三年 ,一般是18個月 Release: 14.04 # 發行版本號 Codename: trusty # ubuntu的代號名稱 ~~~ ### 4.2 cat /proc/version查看內核版本 ~~~ cat /proc/version Linux version 4.4.0-31-generic (buildd@lgw01-43) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 ~~~ ~~~ Linux version 4.4.0-31-generic 內核版本號 gcc version 4.8.4 gcc編譯器版本號 Ubuntu 4.8.4-2ubuntu1~14.04.3 Ubuntu版本號 ~~~ ### 4.3 cat /etc/os-release ~~~ [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" ~~~ ## 10. 用戶管理 > 1. 管理員用戶: > UID為0-系統的管理員用戶(root)。 > 2. 系統用戶: > UID為1~999- Linux系統為了避免因某個服務程序出現漏洞而被黑客提權至整臺服務器,默認服務程序會有獨立的系統用戶負責運行,進而有效控制被破壞范圍。 > 3. 普通用戶: > UID從1000開始-是由管理員創建的用于日常工作的用戶。 ### 10.1 adduser adduser 【用戶名】,創建用戶并且同時創建和用戶同名的組,然后將用戶加入這個組,如果這個組存在報錯 ~~~ root@ubuntu:~# adduser rocket Adding user `rocket' ... Adding new group `rocket' (1004) ... Adding new user `rocket' (1004) with group `rocket' ... Creating home directory `/home/rocket' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for rocket Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y ~~~ ### 10.2 useradd useradd命令用于Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之后,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。 useradd(選項)(參數) 選項: ~~~ -c<備注>:加上備注文字。備注文字會保存在passwd的備注欄位中; -d<登入目錄>:指定用戶登入時的啟始目錄; -D:變更預設值; -e<有效期限>:指定帳號的有效期限; -f<緩沖天數>:指定在密碼過期后多少天即關閉該帳號; -g<群組>:指定用戶所屬的群組; -G<群組>:指定用戶所屬的附加群組; -m:自動建立用戶的登入目錄; -M:不要自動建立用戶的登入目錄; -n:取消建立以用戶名稱為名的群組; -r:建立系統帳號; -s<shell>:指定用戶登入后所使用的shell; -u<uid>:指定用戶id。 ~~~ 參數: 要創建的用戶 ~~~ useradd –g sales jack –G company,employees //-g:加入主要組、-G:加入次要組 ~~~ 家目錄 ~~~ useradd -d /home/applog/usfm -m usfm ~~~ 禁止登陸 ~~~ useradd -M -s /sbin/nologin user -M:不創建家目錄 -s:指定用戶登陸時使用的shell,nologin就是登陸不了 ~~~ ## 11. 文件管理 ### 11.1 文件區分 Linux中一切皆為文件,并且使用符號來區分文件的種類: > 1. -:普通文件。 > 2. d:目錄文件。 > 3. l:鏈接文件。 > 4. b:塊設備文件。 > 5. c:字符設備文件。 > 6. p:管道文件。 > ### 11.2 文件權限 讀、寫、執行用字符rwx表示,也可以用4、2、1數字表示 #### 11.2.1 文件權限 ##### 1. r-讀 對文件的內容具有讀取的權限 ##### 2. w-寫 可以對文件進行修改、刪除、新增功能 ##### 3. x-執行 文件是一個可執行的腳本 #### 11.2.2 目錄權限 ### 11.3 特殊權限 #### 11.3.1 setfacl命令 setfacl命令用于管理文件的ACL規則,格式為“setfacl [參數] 文件名稱”。文件的ACL提供的是在所有者、所屬組、其他人的讀/寫/執行權限之外的特殊權限控制,使用setfacl命令可以針對單一用戶或用戶組、單一文件或目錄來進行讀/寫/執行權限的控制。其中,針對目錄文件需要使用-R遞歸參數;針對普通文件則使用-m參數;如果想要刪除某個文件的ACL,則可以使用-b參數。下面來設置用戶在/root目錄上的權限: ~~~ [root@localhost ~]# adduser tuna [root@localhost ~]# su - tuna [tuna@localhost ~]$ ls [tuna@localhost ~]$ ls -ld /root dr-xr-x---. 3 root root 4096 6月 25 12:42 /root [tuna@localhost ~]$ cd /root/ -bash: cd: /root/: 權限不夠 [tuna@localhost ~]$ 登出 [root@localhost ~]# setfacl -Rm u:tuna:rwx /root [root@localhost ~]# su - tuna 上一次登錄:一 6月 25 13:24:43 CST 2018pts/4 上 [tuna@localhost ~]$ cd /root/ [tuna@localhost root]$ ls anaconda-ks.cfg mysql-community-devel-5.7.22-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar mysql-community-embedded-5.7.22-1.el7.x86_64.rpm mysql-community-minimal-debuginfo-5.7.22-1.el7.x86_64.rpm mysqlall.sql mysql-community-embedded-compat-5.7.22-1.el7.x86_64.rpm mysql-community-server-5.7.22-1.el7.x86_64.rpm mysql-community-client-5.7.22-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.22-1.el7.x86_64.rpm mysql-community-server-minimal-5.7.22-1.el7.x86_64.rpm mysql-community-common-5.7.22-1.el7.x86_64.rpm mysql-community-libs-5.7.22-1.el7.x86_64.rpm ~~~ 用的ls命令是看不到ACL表信息的,但是卻可以看到文件的權限最后一個點(.)變成了加號(+),這就意味著該文件已經設置了ACL了。(上邊沒有為tuna用戶增加ACL規則時,是點) ~~~ [tuna@localhost root]$ ls -ld /root dr-xrwx---+ 3 root root 4096 6月 25 12:42 /root # 以前是 dr-xrwx---. 3 root root 4096 6月 25 12:42 /root ~~~ #### 11.3.2 getfacl命令 getfacl命令用于顯示文件上設置的ACL信息,格式為“getfacl 文件名稱”。Linux系統中的命令就是這么又可愛又好記。想要設置ACL,用的是setfacl命令;要想查看ACL,則用的是getfacl命令。下面使用getfacl命令顯示在root管理員家目錄上設置的所有ACL信息。 ~~~ [tuna@localhost root]$ getfacl /root getfacl: Removing leading '/' from absolute path names # file: root # owner: root # group: root user::r-x user:tuna:rwx # 多了一個tuna用戶 group::r-x mask::rwx other::--- ~~~ 此時說名文件設置了ACL規則 ### 11.4 文件隱藏屬性 > 1. Linux系統中的文件除了具備一般權限和特殊權限之外,還有一種隱藏權限,即被隱藏起來的權限,默認情況下不能直接被用戶發覺。 > 2. 有用戶曾經在生產環境和RHCE考試題目中碰到過明明權限充足但卻無法刪除某個文件的情況,或者僅能在日志文件中追加內容而不能修改或刪除內容,這在一定程度上阻止了黑客篡改系統日志的圖謀,因此這種“奇怪”的文件也保障了Linux系統的安全性。 > 3. 鎖定文件:對于文件來說不能被刪除、改名、設置。只有root可以使用 > #### 14.1 chattr 命令用于設置文件的隱藏權限,格式為“chattr [參數] 文件”。如果想要把某個隱藏功能添加到文件上,則需要在命令后面追加“+參數”,如果想要把某個隱藏功能移出文件,則需要追加“-參數”。chattr命令中可供選擇的隱藏權限參數非常豐富,具體如表5-6所示。 chattr命令中用于隱藏權限的參數及其作用 ~~~ 參數 作用 i 無法對文件進行修改;若對目錄設置了該參數,則僅能修改其中的子文件內容而不能新建或刪除文件 a 僅允許補充(追加)內容,無法覆蓋/刪除內容(Append Only) S 文件內容在變更后立即同步到硬盤(sync) s 徹底從硬盤中刪除,不可恢復(用0填充原文件所在硬盤區域) A 不再修改這個文件或目錄的最后訪問時間(atime) b 不再修改文件或目錄的存取時間 D 檢查壓縮文件中的錯誤 d 使用dump命令備份時忽略本文件/目錄 c 默認將文件或目錄進行壓縮 u 當刪除該文件后依然保留其在硬盤中的數據,方便日后恢復 t 讓文件系統支持尾部合并(tail-merging) x 可以直接訪問壓縮文件中的內容 ~~~ 1. 文件作用 ~~~ [root@localhost ~]# echo 'hello linux' > test.txt [root@localhost ~]# chattr +a ./test.txt [root@localhost ~]# rm ./test.txt rm:是否刪除普通文件 "./test.txt"?y rm: 無法刪除"./test.txt": 不允許的操作 [root@localhost ~]# rm -rf ./test.txt rm: 無法刪除"./test.txt": 不允許的操作 [root@localhost ~]# rm -rf ./test.txt rm: 無法刪除"./test.txt": 不允許的操作 ~~~ 2. 目錄 ~~~ [root@localhost ~]# mkdir test [root@localhost ~]# cd test [root@localhost test]# echo 'hello linux' > test1.txt [root@localhost test]# chattr +a ./test1.txt [root@localhost test]# echo 'hello linux' >> test1.txt [root@localhost test]# rm -rf ./test1.txt rm: 無法刪除"./test1.txt": 不允許的操作 [root@localhost test]# echo 'hello linux' >> hello.txt [root@localhost test]# chattr +a ../test [root@localhost test]# echo 'hello linux' >> h.txt [root@localhost test]# [root@localhost test]# [root@localhost test]# chattr +i ../test [root@localhost test]# echo 'hello linux' >> h2.txt # 加-i后,無法再目錄下創建文件 -bash: h2.txt: 權限不夠 ~~~ #### 14.2 lsattr命令 用于顯示文件的隱藏權限,格式為“lsattr [參數] 文件”。在Linux系統中,文件的隱藏權限必須使用lsattr命令來查看,平時使用的ls等看不出來隱藏權限 ~~~ [root@localhost test]# lsattr ../test -----a---------- ../test/test1.txt ---------------- ../test/hello.txt ---------------- ../test/h.txt [root@localhost test]# cd .. [root@localhost ~]# lsattr test -----a---------- test/test1.txt ---------------- test/hello.txt ---------------- test/h.txt [root@localhost ~]# lsattr -d test ----ia---------- test ~~~
                  <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>

                              哎呀哎呀视频在线观看