Linux的常用基本操作命令
阿新 • • 發佈:2018-11-10
基本操作: Ctrl+L 清空螢幕(清屏)其實還在往上面還是能翻到 目錄操作: cd .. 進入到父目錄目錄中,也就是父資料夾 cd ~ 進入到當前操作賬號目錄中 cd / 進入到根目錄中 cd ./my/jar 進入到當前目錄下面的my下面的jar資料夾 ls系列後面跟上蠶引數目錄不需要去木變資料夾即可查詢 例如:ls /root ls 檢視當前檔案下面的所有資料夾及檔案 ls -l 以列的方式顯示目錄也有簡潔方式 ll 這就是ls -l的簡單方式 ls -lh 將檔案的大小以kb,m,g等方式顯示(注:不會統計資料夾的大小,只會統計檔案的大小) ls -la 檢視當前使用者根目錄下的所有檔案例如(root使用者) pwd 顯示當前目錄 查詢檔案或者子資料夾 ls | grep 名稱 例如: ls | grep kang 就能模糊查詢到有kang關鍵字的檔案和資料夾 檢視資料夾下面所有的檔案 find 檔名 檢視所有檔案進行篩選 (注意這個是根據索引來搜尋的,會自動的在0點的時候更新索引如果虛擬機器關了則不重新整理, 需要手動重新整理才能搜尋的到,而且不會給臨時資料夾下的檔案建立索引) updatedb locate 查詢條件 locate my查詢所有和my有關的檔案和資料夾 時間: date 顯示當前時間 格式化日期 date +%Y年%m月%d日' '%H點%M分%S秒 ------》 2018年10月23日 10點35分32秒 date +%F' '%T ------》 2018-10-23 10:36:52 cal 顯示當前日曆 可以使用cal --help檢視幫助 cal -y 顯示一整年的日曆 對資料夾的操作 新建資料夾:mkdir 檔名 例如 : mkdir kang 這樣就新建了一個叫做kang的資料夾 移動:mv 檔名 路徑 例如:mv myjar /root/a/myjar 這樣我們就將當前的檔案移動到了 根目錄下的root資料夾下的a資料夾下的叫做myjar的檔案 檔案操作: 建立檔案: vim 檔名 例如: vim hello.java,這樣就建立了一個叫做hello.java的一個檔案,進入之後我們可以在裡面寫入資料 ,然後按一下Esc然後:wq儲存並退出,更多操作可以百度vim編輯器 >> 檔名 例如: >> hello.java 這樣就建立了一個叫做hello.java的檔案, 複製檔案或資料夾: 檔案: cp 檔案 要複製的檔案路徑 cp kang.txt /root/jar/這樣就複製過去了 cat 檔案 > 要複製的檔案 例如: cat hello.txt > nice.txt 資料夾: -r是遞迴複製的意思,v是顯示操作過程 cp -rv 資料夾 要複製的路徑 cp -rv kang /root/jar/ \cp,,,,直接執行,不需要詢問 修改檔名: mv 檔名 新檔名 例如: mv kang kangs 這樣就將kang檔案變成kangs檔案了 mv /root/kang /root/ 注:資料夾也可以修改 移動檔案並重命名 mv 當前檔案路徑 新檔案路徑 mv /root/kang /root/as/kangs 合併檔案: cat 檔案一 檔案二 > 檔案三 例如: cat hello1.txt hello2.txt > hello3.txt 檢視檔案: 檢視檔案大小: 檢視所有的檔案和目錄不推薦使用 du -h /目錄或者檔案的大小 (推薦使用) du -ach 包含檔案,帶計量單位,列出明細並且統計 vim 檔名(前提是有這個檔案否則他會建立這個檔案) vim Esc :set nu顯示行數 例如: vim 檔名,進入之後就可以對這個檔案進行查看了,注意修改之後按Esc然後:wq退出並儲存修改 cat 檔名就可以檢視檔案了 例如: car hello.java,就能檢視當前目錄下的叫做hello.java的檔案了 檢視檔案: more 檔名 less 檔名 進入後按q退出 檢視多個檔案: cat 檔案1 檔案2 例如: cat kang kang1 tail 檔名 從尾部檢視 tail -f 檔名 從尾部檢視,並且不退出 tail -n200 從尾部檢視多少行 刪除 rm -rvf 檔名 刪除並顯示檔名 rm 檔名 和 rm -rf 檔名 的區別是什麼? rm 檔名 他會詢問是否刪除,需要手動輸入yes rm -rf /* 表示固定刪除不會去詢問是否刪除 刪庫跑路大典:rm -rf /* (注意,慎重使用----------------) 他會將所有的檔案都刪除清空掉,這也是所謂的刪庫跑路,和格式化一樣,(包括系統檔案) 不過一般的公司提供的伺服器賬戶一般都沒有這個許可權 查詢命令手冊 man 加上操作名,例如 man ls ,然後就是手冊了,手冊下箭頭往下翻,q退出 操作名 加上--help 例如 ls --help 查詢操作日誌 history 軟連結(快捷方式): ln -s 目標檔案或目錄名 新的快捷方式名 解壓檔案: (tar解壓檔案) tar -zxvf XXX.tar.gz 解壓這個XXX.tar.gz檔案 (tar壓縮檔案) tar -zcvf XXX.tar.gz n1.txt 壓縮n1.txt這個檔案為XXX.tar.gz (zip解壓檔案) unzip XXX.zip 解壓XXX.zip這個壓縮檔案 (zip壓縮檔案) zip -r XXX.zip hello.java 壓縮hello.java這個檔案為XXX.zip這個壓縮檔案 檢視磁碟分割槽情況: lsblk或者lsblk -f都可以 注:新新增硬碟後需要重新啟動計算機,然後再進行分割槽設定 fdisk /dev/sdb 然後輸入m根據幫助然後輸入n new一個分割槽 然後會選擇你是建立主分割槽還是其他這裡建立主分割槽並設定分割槽號 然後一直向下然後再w一下同步磁碟,這樣就建立好了磁碟分割槽 然後設定格式化分割槽會自動生成uuid標識 mkfs -t ext4 /dev/建立的分割槽,ext4是分割槽型別 最後掛載這個分割槽 mount /dev/裝置名稱 掛載目錄 取消掛載 umount /dev/裝置名稱 此時分割槽是建立在記憶體中的我們還需要將他的資訊新增到硬碟之中 修改/etc/fstab實現掛載 vim /etc/fstab 然後新增一行 /dev/裝置名 /掛載目錄 ext4 default 00 新增完成後mount -a重新整理生效 查詢磁碟使用率 df -h 在虛擬機器中設定網路ip 開啟介面右上角點選賬戶上面的網路,然後點選小齒輪, 進入設定ipv4設定他為一個固定的ip,然後子網掩碼225.225.225.0 然後再設定預設子網路由和DNS伺服器 一般來說例如192.168.44.1,但是1的埠號已經被自己的虛擬機器的主機佔用了所以後面設定2避免衝突 例如192.168.44.2 DNS伺服器和子網路由都是一樣的,必須設定DNS伺服器否則不能聯網 如果是修改配置資訊的話修改之後需要重新整理 service network restart 查詢當前的所有程序 ps -aux 顯示的結果: PID:程序號 %CPU:程序佔用的CUP比率 %MEM:程序佔用的實體記憶體比例 VSZ:程序佔用的虛擬記憶體 RSS:程序佔用的實體記憶體 篩選程序 : ps -aux | grep mysql 也可以使用grep來篩選程序 ps -ef顯示程序和程序父類id 殺死程序: kill 程序號 加上程序號就能把程序殺掉(合法關閉) kill -9 程序號 強制殺死程序(在程序卡死的情況下無法合法關閉程序) killall 加上程序名 例如:killall mysql 就能關閉所有的mysql程序 防火牆設定: 停止防火牆 systemctl stop firewalld.service 開啟防火牆 systemctl start firewalld.service 防火牆狀態 systemctl status firewalld.service 查詢所有服務: systemctl list-unit-files (| grep firewalld) 篩選條件 systemctl --type service 按q退出 設定服務關閉開機啟動 systemctl disabled 服務名 例如防火牆: systemctl disabled firewalld.service 設定服務開啟開機啟動 例如MySQL開機啟動: systemctl enabled Mysqld 檢視服務的狀態: 例如檢視MySQl是否啟動 systemctl status mysqld.service 查詢埠號是否被佔用: 查詢mysql埠號是否被佔用 netstat -anp | grep 3306 -an 按一定的順序進行排列 -p顯示那個程序在呼叫埠 使用者操作 建立使用者: useradd 新使用者名稱 passwd 新使用者名稱 然後設定密碼 例如:kang123456 然後重複密碼 然後就設定成功了,這樣就成功建立了一個使用者 然後檢查是否建立了使用者 id 行使用者名稱 例如:id kangge 然後可以切換到新建立的使用者了 su - kangge 顯示當前使用者 whoami 查詢由那個使用者跳轉過來的 who am i 刪除使用者: userdel kangge 就能刪除了,有時候會刪除不掉,這個時候關閉掉伺服器, 重新登入root賬戶再進去刪除就可以了 查詢所有使用者: 在/etc/passwd目錄裡面我們可以檢視使用者 cat /etc/passwd 查詢使用者的密碼的情況: (注:密碼全部都是加密之後的所以不能檢視,只能檢視操作資訊) cat /etc/shadow 含義: 登入名:加密口令:最後一次修改時間:最小時間間隔 : 最大時間間隔:警告時間:不活動時間:失效時間:標誌 使用者組的建立: groupadd 組名 groupadd huashan 使用者組的刪除: groupdel 組名 groupdel huashan 將使用者拉入組中: usermod -g 使用者組 使用者名稱 usermod -g huashan kangge 然後id 使用者名稱 這樣就能檢視到他的組了 id kangge 修改組: usermod -g 使用者組 使用者名稱 usermod -g huashan kangge 在增加使用者的時候就能新增組 useradd -g 使用者組 使用者名稱 檢視組資訊: 在etc目錄下的group檔案裡面 cat /etc/group 就能檢視組資訊了 許可權管理: 檢視許可權管理: 進入/home目錄 cd /home 然後 ll顯示所有 d代表使用者檔案 r讀 w寫 x執行 第一個--- 組的 r 讀取許可權 組的 w 寫許可權 組的 x 執行許可權 第二個--- 組以外的人的 r 讀取許可權 組以外的人的 w 寫許可權 組以外的人的 x 執行許可權 drwx --- --- 在檔案裡的許可權分別有 [r]代表可讀性(read):可以讀取檢視 [w]代表可寫(write):可以修改但是不代表可以刪除,刪除一個檔案的前提條件是對該檔案所在的目錄有寫的許可權,才能刪除該檔案 [x]代表可執行(execute):可以被系統執行 在目錄裡的許可權 [r]代表可讀性(read):可以讀取,ls檢視目錄內容 [w]代表可寫(write):可以修改,目錄內建立+刪除+重新命名目錄 [x]代表可執行(execute):可以進入該目錄 給使用者設定許可權: chmod u操作 chmod u(使用者user),g(group組的許可權),o(其他人的許可權) 這個操作可以是 + - = 分別代表權限 + 什麼許可權 - 什麼許可權 = 什麼許可權 注:這裡的後面的kangge指的是目錄 例如 刪除許可權 chmod u-r,g-r,o-r kangge 這樣kangge這個賬戶就沒有了讀的許可權 chmod u-w,g-w,o-w kangge 這樣kangge這個賬戶就沒有了寫的許可權 chmod u-x,g-x,o-x kangge 這樣kangge這個賬戶就沒有了執行的許可權 chmod u=rwx,g=rx,o=x 也能用等於的方式賦值 增加許可權 chmod u+r,g+r,o+r kangge 這樣kangge這個賬戶就有了讀的許可權 chmod u+w,g+w,o+w kangge 這樣kangge這個賬戶就有了寫的許可權 chmod u+x,g+x,o+x kangge 這樣kangge這個賬戶就有了執行的許可權 一般來說可以 讀許可權表示4寫許可權表示2執行許可權表示1 7=r+w+x,5=r+x,1=x chmod u=7,g=5,o=1 還能用數字的方式表示 這樣我建立一個使用者給到他的許可權就是 chmod 751 bigkang 訪問其他人的許可權(注:只能在root賬戶裡面進行設定其他組的訪問許可權) chown bigkang kangge 這樣的話kangge就能訪問bigkang這個目錄了 rpm和yum命令 rpm(ReadHat Package Manager) 檢視安裝過的軟體 rpm -qa查詢所有不推薦 rpm -qa | grep 條件篩選的軟體名 例如 rpm -qa | grep mysql 查詢有沒有安裝mysql 解除安裝軟體: rpm -e 軟體名 例如MySQL rpm -e mysql 安裝軟體: rpm -ivh rpm包名 -i安裝(install) -v檢視資訊 -h檢視進度條 yum(類似於java中的maven,他可以使用遠端倉庫進行下載) 檢視所有的遠端的包: (儘量不要全部查詢因為太多了,加上篩選條件會好很多) yum list | grep mysql 安裝程式: yum install 包名 配置環境: 手動下載安裝包並配置環境變數 進入 vim /etc/profile 然後再末尾加上 注意不要加上空格 JAVA_HOME=/解壓放在那裡的目錄bin的檔案 例如: JAVA_HOME=/opt/jdk1.8.0_152 然後加上 PATH=/opt/jdk1.8.0_152/bin:$PATH export JAVA_HOME PATH 安裝完成之後 source /etc/profile 重啟系統