Linux快捷鍵
ctrl + L 清屏
ctrl + U 刪除光標前字符 ***
ctrl + K 刪除光標后字符
ctrl + A 光標移動行首 ***
ctrl + E 光標移到行末 ***
ctrl + 左右箭頭 光標移動到上/下一個單詞
ctrl + C 結(jié)束當前正在運行的進程
ctrl + Z 將當前正在運行的進程調(diào)到后臺并掛起它(即暫停執(zhí)行)
ctrl + B 光標移動到前一個字符
ctrl + F 光標移動到后一個字符
常用命令
1.mkdir /data 新建目錄
-p 創(chuàng)建多級目錄
2.ls /data/ 顯示目錄 list
ls -l /data/ 顯示目錄詳細信息
3.cd /data/ change directory
4.pwd 顯示當選所在位置 print working directory
5.touch /data/a.txt 創(chuàng)建文件 修改文件的時間戳
6.vi/vim操作: 編輯文件
vi 文件 打開文件
i 插入模式
esc 退出編輯
:wq 保存退出 :q! :x 退出
yy 復(fù)制(前面可以加數(shù)字)
p 粘貼(前面可以加數(shù)字)
dd 刪除/剪貼(前面可以加數(shù)字)
u 撤銷
dG 光標所在行到尾行 刪除
G 移動光標到尾行
gg 移動光標到首行
Ctrl + V 批量操作 然后上下左右箭頭選擇 操作
:set nu 顯示行號
:set nonu 隱藏行號
7.cat 顯示文件內(nèi)容
8.cp 文件位置 目的地位置 復(fù)制
cp a a.bak 備份文件
9.man 命令名 查看命令的幫助
10.mv 1 2 移動文件
11.rm 刪除文件或目錄
-r 遞歸刪除
-f 強制刪除且不提示
12.find | xargs 查找
-type f(file)或者d(dir)
-name 名字,支持通配符
例 find /root/ -type f -name "*.txt" |xargs ls -l
13.grep 'xxx' 過濾xxx
-v 排除過濾
14.head -2 顯示前兩行的內(nèi)容(默認10行)
15.tail -2 顯示末尾兩行(默認10行)
-f 實時顯示文件的更新
16.sed 取某行
-n 取消默認輸出
-i 修改文件內(nèi)容
17.tar 壓縮和解壓縮
-c 壓縮
-x 解壓
-v 顯示執(zhí)行明細
-z 是否使用gzip壓縮
-f 指定壓縮文件的名稱
tar zcf /壓縮后 /file 壓縮
tar tf /壓縮包 查看
tar xf /壓縮包 解壓
z=== gzip
c=== create
f=== file
t===list
常用符號
; 多個命令的分隔符
/ 根目錄或路徑分隔符
重定向广恢,數(shù)據(jù)沿箭頭方向流動灸叼,原來文件內(nèi)容會被丟棄
追加重定向,在原來文件結(jié)尾追加內(nèi)容
.. 上一級目錄
. 當前目錄
~ 用戶家目錄
|管道 通過管道把前一個命令的輸出交給后一個命令繼續(xù)處理偷俭。
{} 配合echo打印序列echo {1..10}
PATH 環(huán)境變量试疙,所有包含在環(huán)境變量里面的路徑宝磨,都可以直接敲出來執(zhí)行卿堂。
全局生效/etc/profile 普通用戶生效/.bash_profile或者/.bashrc
重定向:在Linux里經(jīng)常使用,意思是將數(shù)據(jù)流重新定向髓废。
或1> 標準輸出重定向:把流向標準輸出的數(shù)據(jù)重新定位到后邊的文件中磅崭,文件原本內(nèi)容被丟棄
或1>> 標準輸出追加重定向:把流向標準輸出的數(shù)據(jù)重新定位到后邊的文件結(jié)尾處,在其尾部添加數(shù)據(jù)瓦哎。文件原本內(nèi)容不會被丟棄
<或<0 標準輸入重定向:把源數(shù)據(jù)流從標準輸入重定向到其它文件,覆蓋原來數(shù)據(jù)
<<或<<0 標準輸入追加重定向:把源數(shù)據(jù)流從標準輸入重定向到其它文件柔逼,不覆蓋原來數(shù)據(jù)蒋譬,在后面追加
2> 標準錯誤重定向:把流向標準錯誤的數(shù)據(jù)重新定位到后邊的文件中,文件原本內(nèi)容被丟棄
2>> 標準錯誤追加重定向:把流向標準錯誤的數(shù)據(jù)重新定位到后邊的文件文件結(jié)尾處愉适,在其尾部添加數(shù)據(jù)犯助。文件原本內(nèi)容不會被丟棄
標準輸入,標準輸出维咸,標準錯誤是Linux內(nèi)核給每一個進程打開的三個文件剂买,其文件描述符分別為0,1癌蓖,2
Linux shell中單引號瞬哼,雙引號以及不加引號的區(qū)別
單引號:
可以說是所見即所得,即將單引號內(nèi)的內(nèi)容原樣輸出
雙引號:
把雙引號內(nèi)的內(nèi)容輸出出來租副,如果內(nèi)容中有命令坐慰,變量等,會先把變量用僧,命令解析出結(jié)果结胀,然后在輸出最終內(nèi)容。雙引號內(nèi)命令或變量的寫法為命令或變量
或$(命令或變量)责循。
無引號:
把內(nèi)容輸出出來糟港,可能不會將含有空格的字符串視為一個整體輸出,如果內(nèi)容中有命令院仿,變量等秸抚,會先把變量,命令解析出結(jié)果歹垫,然后在輸出最終內(nèi)容來耸别,如果字符串中帶有空格等特殊字符,則不能完整的輸出县钥,需要加引號秀姐,一般連續(xù)的字符串,數(shù)字若贮,路徑等可以用省有,不過最好用引號替代之痒留。
Linux軟件安裝方式
yum安裝
# 1.更改安裝來源 https://opsx.alibaba.com/mirror
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 2.yum安裝新軟件
yum install -y tree bash-completion wget vim
rpm安裝
# mount 給 /dev/cdrom 創(chuàng)建一個入口 /mnt/
mount /dev/cdrom /mnt/
cd /mnt/
# ls -l 縮寫為ll
ll /mnt/
# rpm查找軟件
ll /mnt/Packages/telnet-0.17-64.el7.x86_64.rpm
# rpm安裝軟件
rpm -ivh /mnt/Packages/bash-completion-2.1-6.el7.noarch.rpm
# 刪除軟件 rpm -e 軟件名稱
注意:
rpm -qa 后面要跟上包的名字才能搜索到
-qa = query all
比如,rpm -qa http 搜不到蠢沿,是因為包的名字叫做 httpd
rpm -qa | grep 是把搜索到的全部包的名字交給 grep 去過濾伸头,只要包含那個字符串就會被顯示出來
安裝Nginx前提
關(guān)閉selinux
cp /etc/selinux/config /etc/selinux/config.bak 先備份
# 永久修改SELINUX并顯示結(jié)果,下次重啟服務(wù)器生效
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
cat /etc/selinux/config 查看修改結(jié)果
# 臨時修改SELINUX并顯示結(jié)果,下次重啟服務(wù)器生效
setenforce 0 # 修改狀態(tài)
getenforce # Permissive 結(jié)果正確
關(guān)閉防火墻
systemctl 管理服務(wù)
#查詢防火墻狀態(tài)
systemctl status firewalld.servic
#當前正在運行的防火墻 --- 臨時
systemctl stop firewalld.service(關(guān)閉)
systemctl start firewalld.service (打開)
#讓防火墻不會開機自啟動 --- 永久
systemctl disable firewalld.service(禁止啟動)
systemctl enable firewalld.service (自啟動)
#is-active 是否正在運行
#systemctl is-active firewalld.service
#is-enabled 是否開機自啟動
#systemctl is-enabled firewalld.service
定時任務(wù)
crond 定時任務(wù)
crontab -l
-l list 查看
crontab -e
-e edit 編輯
-r delete 刪除
# 每兩分鐘同步一次系統(tǒng)時間
*/2 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
# 修改系統(tǒng)時間
date -s "20180101"
# 同步服務(wù)器時間
ntpdate ntp[1-7].aliyun.com
Nginx安裝
# 安裝nginx
# 下載
wget http://nginx.org/download/nginx-1.12.2.tar.gz
# 解壓
tar xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
# 安裝依賴
yum install pcre-devel openssl-devel -y
#編譯安裝三部曲 :1 ./configure 2 make 3 make install
# 第一步
./configure --prefix=/application/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module
# 第二步
make
# 第三步
make install
echo $? # 檢查上一條命令的執(zhí)行結(jié)果 返回0 表示正確
#檢查語法
/application/nginx-1.12.2/sbin/nginx -t
#啟動nginx
/application/nginx-1.12.2/sbin/nginx
/application/nginx-1.12.2/sbin/nginx -s reload
對比兩個文件區(qū)別
diff conf/nginx.conf conf/nginx.conf.default # 沒區(qū)別
egrep -v "#|^$" /application/nginx-1.12.2/conf/nginx.conf.default >/application/nginx-1.12.2/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types; #媒體類型
default_type application/octet-stream;
sendfile on; #開啟高效的傳輸模式
keepalive_timeout 65; #超時時間
server { #一個server相當于是一個網(wǎng)站 虛擬主機
listen 80; #監(jiān)聽的端口
server_name www.etiantian.org; #網(wǎng)站名字 域名
location / {
root html; #根 站點的根目錄
index index.html index.htm; #首頁文件
}
}
}
other
連不上IP解決方案
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
獲取IP
dhcclient
查看網(wǎng)關(guān)
ip r
快捷鍵
esc + . 上個命令最后一個文件
查找目錄
which ntpdate
從根下找
find / -type f -name "ntpdate"
顯示命令的絕對路徑
which ntpdate
/usr/sbin/ntpdate
find / -type f -name "ntpdate"
/etc/sysconfig/ntpdate
/usr/sbin/ntpdate