重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
管道命令符 " | " 的作用是將前一個命令的標準輸出當作后一個命令的標準輸入,格式為"命令A|命令B"。
站在用戶的角度思考問題,與客戶深入溝通,找到永嘉網站設計與永嘉網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、網站制作、企業官網、英文網站、手機端網站、網站推廣、主機域名、虛擬空間、企業郵箱。業務覆蓋永嘉地區。
例如:
搜索rsyslogd進程: $ ps -ef | grep rsyslogd
用反野形式查看/etc 目錄中有哪些文件: $ ls -l /etc/ | more
bash解釋器支持多種文本通配符,包括:
我們之前在學文本查詢搜索命令時就用到了通配符,例如,在 /etc 目錄下搜索所有的以host開頭的文件:
$ find /etc -name "host*"
另外,bash解釋器還支持很多的特殊字符擴展:
例如:
先定義名稱為PRICE的變量值為5
$ PRICE=5
輸出“價格是5”:
輸出“價格是$5”,但因為美元符號與代表變量取值的$符號沖突,所以需要用到轉義字符:
使用單引號,變量將不再被取值:
執行 uname -a 后可以查看到本機內核的版本與架構信息(反引號里面的命令會被執行):
1、ls命令
cd /root
ls #顯示當前目錄下所有的非隱藏文件
ls -a #顯示當前目錄下所有文件,包含隱藏文件
ls -l #顯示當前目錄下所有的非隱藏文件的詳情
ls -al #顯示當前目錄下所有文件,包含隱藏文件 的詳情
ls -lh #以列表形式顯示當前目錄下所有的非隱藏文件的大小(K M T)
ls -alh #以列表形式顯示所有文件,包含隱藏文件的文件大小(K M T)
常用的組合:
ls
ll #等價于 ls -l
ls /etc #顯示/etc目錄下的文件
2:pwd命令
用來顯示當前所在的路徑
絕對路徑: 從/目錄開始的路徑
/root
/etc/sysconf
/opt/server/data-integration/libswt/win64
相對路徑: 相對當前的路徑
3、mkdir命令
cd /root
mkdir mytest #在當前目錄創建文件夾
mkdir -p 111/222/333 #一次創建多級文件夾
mkdir /root/mydemo #使用絕對路徑來創建
mkdir mydemo2 #使用相對對路徑來創建
4、rm命令
這個命令既可以刪除文件,也可以刪除目錄
刪文件:
cd /root
rm a.txt #刪除時,會給出提醒確認,輸入y刪除,n不刪除
rm -f b.txt #強制刪除 等價于 rm -f /root/b.txt
rm ../dir2/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以刪除多個文件
rm *.java -fr #可以刪除當前目錄下的所有.java文件
cd dir
rm * -fr #刪除當前目錄的所有內容
刪目錄:
rm -r 111 #刪除目錄,依次提醒刪除
rm -rf mytest #強制刪除 等價于 rm mytest -fr
常用組合:
rm -fr 文件或目錄
5、cd命令
cd 命令可以進入一個目錄,類似于對windows上的文件夾進行雙擊
cd #直接cd 可以從任何一個目錄回到/root目錄
cd /root #進入root目錄
cd /opt/server/data-integration/system/
cd .. #回到上一級目錄
cd ../.. #回到上上一級目錄
cd - #可以在最近的兩次目錄之間切換
cd /root
mdkir dir1 dir2
cd dir1
cd ../dir2 #使用相對路徑 /中國/廣東省/深圳市/寶安區/留仙二路/78號
6、歷史命令和table補全
使用上下方向鍵可以找出歷史命令
table鍵:
cd /opt/ #兩次table可以列出/opt目錄下所有的文件和子目錄
cd /opt/s #一次table可以自動補全目錄內容,前提是/opt目錄下只有一個s開頭的目錄
7、touch命令
cd /root
touch a.java #在當前目錄創建a.txt文件
touch b.java c.java #創建多個文件
touch /root/d.java #通過絕對路徑創建
8、mv命令
移動:
1、mv 文件 目錄 #將文件移動到目錄中區
cd /root/dir1
touch a.txt
mv a.txt /root/dir2 #等價于 mv a.txt ../dir2
2、 mv 目錄1 目錄2 #將目錄1移動到目錄2下面(前提是目錄2必須存在)
cd /root
mv dir2 dir1 #將dir2移動到dir1下面
重命名:
1、mv 文件1 文件2 #給文件重命名(文件2不能存在)
cd /root
mv a.txt aaa.txt #將a.txt 重命名為aaa.txt
2、mv 目錄1 目錄2 #給目錄重命名(目錄2不能存在)
cd /root
mv dir1 dirx #將dir1重命名為dirx
9、cat命令
顯示文件內容
cd /root
cat user.txt
10、cp命令
復制文件
cd /root
cp user.txt user2.txt
cp user.txt /opt/ #將當前目錄的user.txt 復制到/opt目錄,文件名保持不變
cp user.txt /opt.user2.txt #將當前目錄的user.txt 復制到/opt目錄,文件名改為user2.txt
cp /opt/server/data-integration/pan.sh ./ #將指定目錄里的文件復制到當前目錄(.后邊的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx #將指定目錄里的文件復制到當前目錄下的dirx目錄(.后邊的/比可以去掉)
cp /opt/server/data-integration/pan.sh /root/dirx #作用同上
11、解壓和壓縮
Linux的壓縮包后綴一般是: .tar.gz
解壓:
.tar.gz
將snappy-1.1.1.tar.gz上傳到/root/dir1目錄
tar -zxvf snappy-1.1.1.tar.gz #默認解壓到當前目錄
tar -xvf snappy-1.1.1.tar.gz #默認解壓到當前目錄
tar -xvf snappy-1.1.1.tar.gz -C /opt #將壓縮包解壓到/opt目錄
.zip格式
unzip mysql-connector-java-8.0.13.zip #默認解壓到當前目錄
unzip -d /opt mysql-connector-java-8.0.13.zip #解壓到指定目錄
壓縮:
.tar.gz
tar -czvf snappy-1.1.1.tar.gz snappy-1.1.1 #將snappy-1.1.1文件夾進行打包壓縮
tar -czvf /root/dir/snappy-1.1.1.tar.gz /opt/server/snappy-1.1.1
.zip格式
zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13/
12、find命令
用來實現文件的查找
find / -name 'a.txt' #從/目錄開始查找a.txt文件
find / -name 'ins*' #從/目錄開始查找以ins開頭的文件
find / -type f -size +100M #查找/目錄下文件大小大于100M的文件
13、grep命令
grep lang anaconda-ks.cfg #從anaconda-ks.cfg文件中查找包含lang的內容
14、ps命令
ps #查看依賴終端的進程
ps -ef #查看Linux系統中所有的進程
15、kill命令
kill -9 進程的pid #每次啟動進程時,pid會發生變化,但是進程運行期間pid不會變化
16、管道 |
管道就是把前邊命令的結果作為后邊命令的輸入
ps -ef | grep mysql #查找和mysql相關的進程
ll /etc | grep java #在/etc目錄中查找java相關的文件
17、用戶的操作
用戶創建和密碼設置
useradd itheima #創建新用戶itheima
passwd itheima #設置用戶itheima密碼
用戶刪除
userdel -r itheima #刪除用戶itheima
18、文件的權限
所屬用戶: root 文件的創建者
所屬用戶組: root 和文件創建者在一個組的用戶
其他用戶: itcast 既不是文件創建者,也和文件創建者不在同一組
r: 可讀
w:可寫
x: 可執行
chmod命令:
方式1:
chmod u+rw a.txt #在所屬用戶之前的權限基礎上添加可讀和可寫權限
chmod u=rw a.txt #將所屬用戶的權限直接修改為可讀,可寫
chmod +x #給所屬用戶,所屬用戶組和其他用戶全部加上可執行權限
方式2:
chmod 777 a.txt #給所有用戶加上所有權限
19、clear命令
用來清屏
快捷鍵: ctrl + l
20、history命令
用來查看所有的歷史命令
21:vi編輯器的使用
vi a.txt #打開a.txt文件
vim a.txt #vim是vi的增強
22、網絡管理命令
hostname :查看主機名
修改主機名: /etc/hostname
ifconfig :查看ip地址
修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33
服務問題:
service network restart
學習管道之前我們先了解一下linux的命令執行順序
通常情況下,我們在終端只能執行一條命令,然后按下回車執行,那么如何執行多條命令呢?
管道命令使用 | 作為界定符號,管道命令與上面說的連續執行命令不一樣。
通過管道將 ls -al 的輸出作為 下一個命令 less 的輸入,方便瀏覽。
ps:cut在處理多空格相連的數據時,比較吃力。
sort
如果tee后接的文件已存在,內容會被覆蓋掉,加上 -a參數則會累加
col經常被用于將 man page 轉存為純文本文件
split:顧名思義,講一個大文件依據文件大小或行數切割成為小文件
管道不支持像,ls mv cp 等,
如果要用到這些命令,就要在管道后加參數:xarg
如:which touch | xarg ls -la 就行了。