查詢:ls
查看全部內容:ls -n
刪除:rm -rf 文件名
創建目錄: mkdir
解壓:rpm -
驗證是否安裝:rpm -p 文件名
rpm -ivh --nodeps 不需要前置條件的安裝
查詢當前路徑: pwd
查詢java環境變量:java -version
查看文件的方法:cat 文件名
mv 原名 修改名 修改文件名
rpm -qa |grep java 看是否安裝了java
echo $PATH 看環境變量是否配置了java路徑
find / -name java 查找java文件
查看/etc/sudoers文件權限,如果只讀權限,修改為可寫權限
[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 4030 12月 10 09:55 /etc/sudoers
[root@localhost ~]# chmod 777 /etc/sudoers
[root@localhost ~]# ls -l /etc/sudoers
-rwxrwxrwx. 1 root root 4030 12月 10 09:57 /etc/sudoers
安裝SQL之前先卸載自帶的mariadb
查詢rpm -qa|grep mariadb
刪除rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
文件編輯
回車后就進入,按i 建開始編輯。要退出按ESC,進入中間模式,按冒號 :后面跟命令)
:wq
tar
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
解壓
tar -xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar -xZvf file.tar.Z //解壓tar.Z
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
總結
1、*.tar 用 tar -xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3、*.tar.gz和*.tgz 用 tar -xzf 解壓
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar -xjf 解壓
6、*.Z 用 uncompress 解壓
7、*.tar.Z 用tar -xZf 解壓
8、*.rar 用 unrar e解壓
9、*.zip 用 unzip 解壓
解壓jdk到指定文件夾:
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java
對輸入輸出的描述
命令行的操作分為輸入和輸出兩個方面:
輸入:打開終端,按鍵盤輸入,按回車結束輸入並執行;
輸出:輸出會返回你想要的結果,比如你看的是文件,就會返回文件的內容。如果是執行的程序,執行失敗會告訴你哪里錯了,如果施行成功會沒有輸出,這是linux的哲學:沒有結果就是最好的結果。
提高shell的輸入效率
合理的使用快捷鍵確實可以明顯的提高工作效率,對shell常用快捷鍵的總結如下:
Tap:點擊Tab鍵可以實現命令補全,目錄補全、命令參數補全;
Ctrl+c:強行終止當前程序(常用);
Ctrl+d:鍵盤輸入結束或退出終端(常用);
Ctrl+s:暫停當前程序,暫停后按下任意鍵恢復運行;
Ctrl+z:將當前程序放到后台運行,恢復到前台為命令fg;
Ctrl+a:將光標移至輸入行頭,相當於Home鍵;
Ctrl+e:將光標移至輸入行末,相當於End鍵;
Ctrl+k:刪除從光標所在位置到行末,常配合ctrl+a使用;
Alt+Backspace:向前刪除一個單詞,常配合ctrl+e使用;
Shift+PgUp:將終端顯示向上滾動;
Shift+PgDn:將終端顯示向下滾動;
上下方向鍵:瀏覽歷史輸入記錄;
熟練運用上述的操作技巧將大大提升我們命令行的操作效率,不過真正解決問題需要應用各種bash命令,下面對常用命令進行簡單的介紹:
常見的bash命令
文件相關
ls:列出某文件夾下的文件,添加參數可實現更細致的功能,
ls -a 列出所有文件,包括隱藏文件
ls -l 列出文件及其詳細信息
cd切換目錄,cd到不存在的目錄時會報錯
pwd打印當前目錄
cat:讀取某一個文件內的內容
wc:獲取某一個文件的行數和字數
$ wc package.json
# 79 175 2712 package.json
cp:復制某文件
mkdir:創建目錄
rmdir:刪除目錄
rm-rf:r刪除內部所有文件,f參數表示強制,rm -r junk刪除junk目錄及其下面的所有文件;
mv移動 mv photos.jpg Photos 將photos移動到文件夾Photos下
sort排序
diff:比較兩個文件的異同
系統相關:
date:獲取當前時間
uname:返回系統名稱
hostname:返回系統的主機名稱
網絡相關:
host xx.xxx.com:顯示某域名相關托管服務器/郵件服務器
ping 8.8.8.8檢測連接
搜索相關命令:
whereis:
描述:簡單快捷
使用$whereis who
說明:這個搜索很快,因為它並沒有從硬盤中依次查找,而是直接從數據庫中查詢。whereis 只能搜索二進制文件(-b),man 幫助文件(-m)和源代碼文件(-s)。
locate:
描述:快而全
使用$ locate /etc/sh(查找 /etc 下所有以 sh 開頭的文件),$ locate /usr/share/\*.jpg(注意要添加 * 號前面的反斜杠轉義,否則會無法找到。)
說明:通過/var/lib/mlocate/mlocate.db 數據庫查找,不過這個數據庫也不是實時更新的,系統會使用定時任務每天自動執行 updatedb 命令更新一次,所以有時候你剛添加的文件,它可能會找不到,需要手動執行一次 updatedb 命令(在我們的環境中必須先執行一次該命令)。它可以用來查找指定目錄下的不同文件類型
可帶參數:如-i 參數可以忽略大小寫進行查找
which:
描述:小而精
使用:$ which man
說明:我們通常使用 which 來確定是否安裝了某個指定的軟件,因為它只從 PATH 環境變量指定的路徑中去搜索命令
find:
描述:精而細
使用:$ sudo find /etc/ -name interfaces/格式find [path] [option] [action];
說明:find 應該是這幾個命令中最強大的了,它不但可以通過文件類型、文件名進行查找而且可以根據文件的屬性(如文件的時間戳,文件的權限等)進行搜索。find很強大也相對而言很復雜,在此先不贅述;
$ sudo find /etc/ -name \*.list
其它:
--version/-V查看某個程序的版本
history顯示歷史
echo:返回你給的值,可以簡單理解為js中的console或python中的print
man使用一個叫做less的程序,查看某個命令的幫助文檔
less:linenumer u d keyarray search(大小寫敏感),正則表達式
通配符(Globbing):
- 使用命令時可在參數中使用通配符
- `*`:匹配 0 或多個字符,如`ls *.html`將匹配所有以html結尾的文件,`ls b*.png`將匹配所有以b開頭,png結尾的文件;
- `?`:匹配任意一個字符,如`ls abc?.png` 可匹配abcd.png/abce.png
- `[list]`:匹配 list 中的任意單一字符
- `[!list]`:匹配 除list 中的任意單一字符以外的字符
- `[c1-c2]`:匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z]
- `{string1,string2,...}`:匹配 string1 或 string2 (或更多)其一字符串,如 `{css,html}`, `ls app.{html.css}`將匹配app.css 和app.html;
- `{c1..c2}`:匹配 c1-c2 中全部字符 如{1..10}
- 使用`man`查看幫助(man分類如下:)
- 注意通配符大小寫敏感