Linux下用vim打開配置文件亂碼,在終端輸入:「LANG=」便可。php
查看端口是否被佔用:node
netstat -anp | grep portmysql
netstat -ltnlinux
lsof -i:portnginx
$# 是傳給腳本的參數個數redis
$0 是腳本自己的名字sql
$1 是傳遞給該shell腳本的第一個參數shell
$2 是傳遞給該shell腳本的第二個參數數據庫
$@ 是傳給腳本的全部參數的列表apache
$* 是以一個單字符串顯示全部向腳本傳遞的參數,與位置變量不一樣,參數可超過個
$$ 是腳本運行的當前進程ID號
$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其餘表示有錯誤
find . -type f -name "*.sh" -type 查找某一類型的文件,諸如:b - 塊設備文件。d - 目錄。c - 字符設備文件。p - 管道文件。l - 符號連接文件。f - 普通文件。
:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行全部 vivian 爲 sky
chown 用戶名 文件路徑
chmod 777 test
adduser password
在PC機器上不能進行點播操做(只是針對沒有添加域名解析的PC機器),可是在別的電腦上能夠,那麼就須要把別人的C:\Windows\System32\drivers\etc\hosts 覆蓋本身的這個目錄下的hosts文件。
12.C++中常常有代碼後面加了」\」 表示換行,說明下面一句和上面是同一行的。
du –sh 查看文件大小。
shell 2>&1: & 1 更準確的說應該是文件描述符1, 而1通常表明的就是STDOUT_FILENO,實際上這個操做就是一個dup2(2)調用.他標準輸出到all_result,而後複製標準輸出到文件描述符2(STDERR_FILENO),其後果就是文件描述符1和2指向同一個文件表項,也能夠說錯誤的輸出被合併了.其中0表示鍵盤輸入 1表示屏幕輸出2表示錯誤輸出.把標準出錯重定向到標準輸出,而後扔到/DEV/NULL下面去。通俗的說,就是把全部標準輸出和標準出錯都扔到垃圾桶裏面。
try_files $uri $uri/ /index.php?q=$uri&$args;
按順序檢查文件是否存在,返回第一個找到的文件。結尾的斜線表示爲文件夾 -$uri/。若是全部的文件都找不到,會進行一個內部重定向到最後一個參數。
date +%s 能夠顯示UTC的大整數時間至關於OS:Millionseconds()。
date -d @1411266453 能夠將時間轉換成當前的年月日格式。
date -d "1970-01-01 UTC 1411261790 seconds" 將一個隨意的UTC時間轉換爲當前時間。
ulimit -c unlimited 可使系統產生core文件
「grep -v #」 獲取不包含#號的全部行,其中「\」是轉譯字符,
cut -d: -f1 獲取的文本以「:」爲分隔符,而且獲取第一區域的值。
成功,返回0;
失敗,文件存在,模板字符串不存在,返回1;
失敗,文件不存在,返回2;
try_files $uri $uri/ /index.php?q=$uri&$args;
按順序檢查文件是否存在,返回第一個找到的文件。結尾的斜線表示爲文件夾 -$uri/。若是全部的文件都找不到,會進行一個內部重定向到最後一個參數。
umout .tmp能夠解決由於在工程挺值前刪除文件,形成的原有文件夾不能刪除的問題。
相關函數:fstat, lstat, chmod, chown, readlink, utime
頭文件:#include <sys/stat.h> #include <unistd.h>
定義函數:int stat(const char file_name, struct stat buf);
用來將參數file_name 所指的文件狀態, 複製到參數buf 所指的結構中,函數的返回值能夠用於判斷文件是否存在。
int fd = inotify_init ();
int wd = inotify_add_watch (fd, path, mask);
int ret = inotify_rm_watch (fd, wd);
最後,再舉幾個不是很恰當的例子來講明這四個IO Model:
有A(同步阻塞),B(同步非阻塞),C(異步阻塞),D(異步非阻塞)四我的在釣魚:
A用的是最老式的魚竿,因此呢,得一直守着,等到魚上鉤了再拉桿;
B的魚竿有個功能,可以顯示是否有魚上鉤,因此呢,B就和旁邊的MM聊天,隔會再看看有沒有魚上鉤,有的話就迅速拉桿;
C用的魚竿和B差很少,但他想了一個好辦法,就是同時放好幾根魚竿,而後守在旁邊,一旦有顯示說魚上鉤了,它就將對應的魚竿拉起來;
D是個有錢人,乾脆僱了一我的幫他釣魚,一旦那我的把魚釣上來了,就給D發個短信。
command參數是一個字符串指針,指向的是一個以null結束符結尾的字符串,這個字符串包含一個shell命令.這個命令被送到/bin/sh以-c參數執行,即由shell來執行.type參數也是一個指向以null結束符結尾的字符串的指針,這個字符串必須是'r'或者'w’來指明是讀仍是寫.
popen()函數的返回值是一個普通的標準I/O流,它只能用pclose()函數來關閉,而不是fclose().函數.向這個流的寫入被轉化爲對command命令的標準輸入;而command命令的標準輸出則是和調用popen(),函數的進程相同,除非這個被command命令本身改變.相反的,讀取一個「被popen了的」流,就至關於讀取command命令的標準輸出,而command的標準輸入則是和調用popen,函數的進程相同.
注意,popen函數的輸出流默認是被全緩衝的.
pclose函數等待相關的進程結束並返回一個command命令的退出狀態,就像wait4函數同樣方
能夠用來在程序中返回命令結果:popen( "ls -l", "r" );能夠返回文件列表;
popen( "du -sk", "r" )能夠用來返回剩餘空間。
libaio工做流程:
io_prep_pread()/io_prep_pwrite() 設置讀寫操做參數
io_submit() 提交
io_getevents() 檢查結果
uname –a 查看系統全部信息,-r查看全部,若是是紅帽子,能夠用cat /etc/issue
匹配全部空行:^[ \t]*$[\n\r]
解壓命令 tar -zvxf ***
經過ulimit -n,咱們能夠獲得一個進程所可以打開的fd的最大數.
pwdx pid用來查看正在運行的線程所在的目錄
stun服務器的啓動方法:./server -v -b -h 121.14.85.205 -a 121.14.85.206
pstack能夠用來查看Linux程序運行過程當中的堆棧。
rpm -qa|grep -i mysql用來檢查是否已經安裝了mysql
rm -f /etc/my.cnf 刪除mysql其餘路徑下的配置和數據文件
rm -rf /var/lib/mysql刪除mysql其餘路徑下的配置和數據文件
mysql> set GLOBAL max_connections=300;設置mysql的最大鏈接數
mysqladmin -uroot -pcoship variables檢查mysql的最大鏈接數。
tar -xzvf Redis_2.4.7.tar.gz解壓縮包。
getenforce 檢查seLinux的狀態
vi /etc/selinux/config在配置中關閉seLinux
setenforce 0使上面的配置生效。
service iptables status檢查防火牆狀態
chkconfig iptables off關閉防火牆,重啓後生效
service iptables stop 關閉防火牆及時生效 iptables –F也能夠生效
rpm -ivh vsftpd-2.0.5-16.el5_4.1.x86_64.rpm強制安裝vsftp
/sbin/chkconfig --list vsftpd檢查ftp的啓動狀態
/sbin/chkconfig --level 2345 vsftpd on開啓或者關閉ftp的某個狀態
adduser -g ftp -s /sbin/nologin -d /mpeg cdnftper添加ftp用戶
chkconfig --list mysql檢查mysql是否隨機啓動
chkconfig --add mysql讓mysql隨機啓動。
tcpdump -i eth0 -t tcp -s 60000 -w diaoxian.cap 抓包
查看電腦配置
free -m 查看內存
fdisk -l查看硬盤分區
df -h 查看掛載目錄
ifconfig查看網卡信息
ethtool eth0查看詳西的網卡工做模式
lspic列出全部芯片信息,好比聲卡,顯卡,網卡等。
cat /etc/issue 查看當前系統的發佈版本
uname –a查看當前系統的內核信息
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64強制卸載mysql
select table_name,table_rows from tables where TABLE_SCHEMA = 'olaj' order by table_rows desc;
netstat –tnl | grep 3306
%s/((http|ftp|https)://)(([a-zA-Z0-9.-]+.[a-zA-Z]{2,6})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%./-~-]*)?/\ / 匹配連接。
grep -r -n '._LOG.[LoadXML|parse]' ./ grep的用法,-n表示行號, -i表示忽略大小寫。
rm -rf /var/log/*.gz
rm -rf /var/log/*.1
echo "" > /var/log/dmesg
echo "" > /var/log/kern.log
echo "" > /var/log/messages
echo "" > /var/log/syslog
du -lh --max-depth=1
g++ hello.cpp -save-temps 能夠保存編譯時產生的臨時文件。
添加網絡鄰居:netsh -c "i i" add neighbors 13 "172.30.25.246" "b8-ca-3a-f2-f4-c8"
查看當前網絡的發送接收:dstat
71-73 略
/etc/passwd /etc/shadow存放Linux系統的用戶和密碼
netstat -n | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]} 統計全部TCP連接的狀態數
CenterOS 設置防火牆firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd –reload