linux 經常使用命令


源碼的安裝:通常由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。Configure是一個可執行腳本,它有不少選項,在待安裝的源碼路徑下使用命令./configure –help輸出詳細的選項列表。其中--prefix選項是配置安裝的路徑,若是不配置該選項,安裝後可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。若是配置--prefix,如:./configure --prefix=/usr/local/test 能夠把全部資源文件放在/usr/local/test的路徑中,不會雜亂。 用了—prefix選項的另外一個好處是卸載軟件或移植軟件。當某個安裝的軟件再也不須要時,只須簡單的刪除該安裝目錄,就能夠把軟件卸載得乾乾淨淨;移植軟件只需拷貝整個目錄到另一個機器便可(相同的操做系統)。固然要卸載程序,也能夠在原來的make目錄下用一次make uninstall,但前提是make文件指定過uninstall。
長鏈接 Apache Thrift(RPC框架)
短鏈接 XML SOAP JSON
windows:netstat -ano | findstr
tasklist | findstr portnum
find / -name ‘tomcat’
locate interfaces linux系統中的文件,它比find命令快
whereis grep 可執行文件即二進制文件
which grep 查看系統命令是否存在,並返回系統命令所在的位置
ps -ef | grep nginx
-A 列出全部的進程 等價於-e (f 用樹形格式來顯示進程;)
-w 顯示加寬能夠顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示全部包含其餘使用者的行程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
unzip -oq common.war -d common linux解壓war包命令php

ls -lh 看文件大小html


env,能夠查看環境變量。想設置某個臨時文件變量,在shell裏面輸入export xxx=xxxx就行。想永久地設置的話,能夠改/etc/bashrc,這個是系統變量,也是在文件里加上export xxx=xxxx,改用戶變量的話,就在你用戶的文件夾裏面的.bashrc前端

1、linux CPU大小
[root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
model name: Intel(R) Xeon(TM) CPU 2.80GHz
physical id : 0
physical id : 0
physical id : 3
physical id : 3
[root@idc ~]#node

說明:Linux下能夠在/proc/cpuinfo中看到每一個cpu的詳細信息。可是對於雙核的cpu,在cpuinfo中會看到兩個cpu。經常會讓人誤覺得是兩個單核的cpu。
其實應該經過Physical Processor ID來區分單核和雙核。而Physical Processor ID能夠從cpuinfo或者dmesg中找到. flags 若是有 ht 說明支持超線程技術 判斷物理CPU的個數能夠查看physical id 的值,相同則爲同一個物理CPU
能夠看到上面,這臺機器有兩個雙核的CPU,ID分別是0和3,大小是2.8G。
2、內存大小
[root@xbidc ~]# cat /proc/meminfo |grep MemTotal
MemTotal: 1034612 kBlinux


3、硬盤大小
[root@xbidc ~]# fdisk -l |grep Disk
Disk /dev/sda: 300.0 GB, 300000000000 bytesnginx


4、 更多查看linux硬件信息的方法
uname -a # 查看內核/操做系統/CPU信息的linux系統信息命令
head -n 1 /etc/issue # 查看操做系統版本,是數字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系統信息命令
hostname # 查看計算機名的linux系統信息命令
lspci -tv # 列出全部PCI設備
lsusb -tv # 列出全部USB設備的linux系統信息命令
lsmod # 列出加載的內核模塊
env # 查看環境變量資源
free -m # 查看內存使用量和交換區使用量
df -h # 查看各分區使用狀況
du -sh # 查看指定目錄的大小
grep MemTotal /proc/meminfo # 查看內存總量
grep MemFree /proc/meminfo # 查看空閒內存量
uptime # 查看系統運行時間、用戶數、負載
cat /proc/loadavg # 查看系統負載磁盤和分區
mount | column -t # 查看掛接的分區狀態
fdisk -l # 查看全部分區
swapon -s # 查看全部交換分區
hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
dmesg | grep IDE # 查看啓動時IDE設備檢測情況網絡
ifconfig # 查看全部網絡接口的屬性
iptables -L # 查看防火牆設置
route -n # 查看路由表
netstat -lntp # 查看全部監聽端口
netstat -antp # 查看全部已經創建的鏈接
netstat -s # 查看網絡統計信息進程
ps -ef # 查看全部進程
top # 實時顯示進程狀態用戶
w # 查看活動用戶
id # 查看指定用戶信息
last # 查看用戶登陸日誌
cut -d: -f1 /etc/passwd # 查看系統全部用戶
cut -d: -f1 /etc/group # 查看系統全部組
crontab -l # 查看當前用戶的計劃任務服務
chkconfig –list # 列出全部系統服務
chkconfig –list | grep on # 列出全部啓動的系統服務程序
rpm -qa # 查看全部安裝的軟件包
-ivh 要安裝的rpm文件包
cat /proc/cpuinfo :查看CPU相關參數的linux系統命令
cat /proc/partitions :查看linux硬盤和分區信息的系統信息命令
cat /proc/meminfo :查看linux系統內存信息的linux系統命令
cat /proc/version :查看版本,相似uname -r
cat /proc/ioports :查看設備io端口
cat /proc/interrupts :查看中斷
cat /proc/pci :查看pci設備的信息
cat /proc/swaps :查看全部swap分區的信息
Linux查看程序端口占用狀況: way 1:netstat –apn ps -aux | grep pid
way 2:netstat -anp | grep portno
chp:0:
1.計算機:接受用戶輸入指令和數據,經由中央處理器的數據與邏輯單元運算處理後,以產生或儲存成有用的信息
2.五大單元:輸入、輸出單元,cpu內部的控制單元、算術邏輯單元與內存
3.數據會流進/流出內存是cpu所發出的控制指令,而cpu實際要處理的數據則徹底來自於內存
4.cpu依設計理念主要分爲精簡指令集(RISC)Reduced Instruction Set Computing和複雜指令集(CISC)Complex Instruction Set Computer系統
5.CPU頻率:外頻指的是cpu與外部組件進行數據傳輸時的速度,倍頻則是CPU內部用來加速工做性能的一個倍速,二者相乘纔是CPU的頻率速度 6.通常主板芯片組分爲北橋和南橋,北橋的總線稱爲系統總線,由於是內存傳輸的主要信道,因此速度較快。南橋則是所謂的輸入/輸出總線(I/O)總線,主要鏈接硬盤、USB、網卡等接口設備
7.北橋所支持的頻率咱們稱之爲前端總線速度(front side bus,FSB),而每次傳送的位數則是總線寬度
8.CPU每次可以處理的數據量成爲字組大小(word size),字組大小依據cpu的設計而有32位與64位之分。咱們如今所稱的計算機是32位或64位主要是依據這個cpu解析的字組大小而來的
9.我的計算機的內存主要組件爲動態隨機訪問內存(Dynamic Random Access Memory,DRAM),至於cpu內部的第二層緩存則使用靜態隨機訪問內存(Static Random Access Memory,SRAC)
10.BIOS(Basic Input Output System)是一套程序,這套程序是寫死到主板上面的一個內存芯片中,這個內存芯片在沒有通電時也可以將數據記錄下來,那就是隻讀存儲器(Read only Memory,ROM)
11.顯卡的規格有PCI/AGP/PCIe,目前主流爲PCIe接口
12.硬盤是由盤片、機械手臂、磁頭與主軸馬達所組成的,其中盤片的組成爲扇區、磁道與柱面。
13.操做系統其實也是一組程序,這組程序在於管理計算機的全部活動以及驅動系統中的全部硬件。 14.操做系統僅在於驅動與管理硬件,而要使用硬件時,就得須要經過應用軟件或者是shell的功能,來調用操做系統操縱硬件工做。目前,操做系統出了上述功能外,一般已經包含了平常工做所需的應用軟件在內了。
OS:主要用於管理與驅動硬件,所以必需要可以管理內存、管理設備、負責進程管理以及系統調用。
chp1:
Linux distribution 是「Linux kernel + Free Software + Documentations(Tools) + 可徹底安裝的程序」所製成的一套完整的系統
uname -r 內核版本
GNU General Public License (GPL)
chp2:
Linux在企業應用方面:着重於網絡服務器、關鍵任務的應用(金融數據庫、大型企業網管環境)及高性能運算的人物
Linux在我的環境的使用上着重於桌面計算機、手持系統(PDA,手機)、嵌入式設備(如家電用品)
目標shell:正則表達式、管道命令與數據流重定向,編寫shell腳本
chp3:
1.新添硬件須要考慮的角度有:遊戲機/工做機,性價比,支持度
2.磁盤(IDE /dev/hd[a-d],SATA/SCSI/USB /dev/sd[a-p])的第一個扇區主要記錄了兩個重要的信息,分別是:1.主引導分區(Master Boot Record,MBR):能夠安裝引導加載程序的地方,有446bytes;2.分區表(partition table):記錄整塊硬盤分區狀態,有64bytes。
3.磁盤的主分區與擴展分區最多能夠有四個,邏輯分區的設備文件名號碼必定由5開始
4.開機的流程:BIOS->MBR->boot loader(提供菜單,加載內核,轉交控制權給其餘的loader)->內核文件
5.boot loader能夠安裝的地方有兩個:MBR 與 boot sector
6.Linux操做系統的文件使用目錄樹系統,與磁盤的對應須要有「掛載」的操做才行。
ch4:
1.不論你要安裝什麼樣的linux操做系統,都應該要事先規劃,例如分區‘引導裝載程序(grub:最好安裝在MBR)等
2.分區:/ ,/boot強制分配柱面1 ,/home,swap(自動後移)四個分區
3.調整開機設備啓動的順序必需要從新啓動並進入BIOS系統調整。
4.安裝CentOS5.x的結構至少有兩種,分別是圖形界面與文字界面
5.若安裝筆記本電腦時失敗,可嘗試在開機時加入:inux nofb apm=off acpi=off 來關閉省電功能
6.安裝過程進入分區後,請以「自定義的分區結構」來處理本身規劃的分區方式
7.在安裝過程當中,能夠建立軟件磁盤陣列(software RAID)。
8.通常要求swaq應該在1.5~2倍的物理內存量,如今電腦內存較大 能夠不分配
9.沒有鏈接到Internet,可嘗試關閉防火牆,但SELinux最好選擇「強制」狀態。不啓動供內核開發者查閱死機數據的kdump
ch5:
1.Ctrl + Alt +F1~F6 tty1~tty6 startx +F7
2.exit 註銷
3.\ 轉義字符
4.quit
5.重要的熱鍵:Tab(twice):接在一串命令的第一個命令的後面,則爲「命令補全」
接在一串命令命令的第二個命令之後時,則爲「文件補全」
Ctrl-c: 中斷目前程序
Ctrl-d:至關於exit
6.-bash:~ command not found
1.這個命令不存在,由於該軟件沒有安裝之故,解決辦法就是安裝該軟件
2.這個命令所在的目錄目前的用戶並無將它加入命令搜索路徑中,請參考bash的PATH說明
3.打錯命令
7.man(manual操做說明:查詢命令或者是相關文件的用法) 某個命令 space 向下翻頁,q離開 /(向下)?(向上)查找指定字符串{n正向 N反向} Home首頁 end尾頁 Pageup pagedawn上/下一頁 -f 取得與man更多的相關信息
man page:
命令後面的數字(num)
一、用戶在shell環境中能夠操做的命令或可執行文件
四、設備文件的說明,一般在/dev下的文件
五、配置文件或者某些文件的格式
八、系統管理員可用的管理命令
NAME:先看下name的項目,約略看一下這個數據的意思
DESCRIPTION:在仔細看一下description,這個部分會提到不少相關的資料和用法,能夠學到細節
OPTIONS:能夠知道每一個選項的意義,這樣就能夠執行比較細部的命令內容
SEE ALSO:最後再看一下跟這個資料有關的還有哪些東西可使用
FILES:某些說明內容還會列舉有關的文件來供咱們參考
技巧:打印的相關命令只記得lp(line print),
1.man lp找相關的說明
2.lp【tab】【tab】找到任何以lp爲開頭的命令,找到有點相關的命令以後,繼續man該命令
info page(在線求助):Tab鍵能夠在各個超連接間移動
File:表明這個info page的數據來自由~文件提供的 Node:Top,表明目前的這個頁面屬於Top節點。意思是info.info內含有不少信息,而Top僅是i nfo.info文件內的一個節點內容而已。
Next:Getting Started,你也能夠按「N」到下個節點去。
Up:回到上一層的節點總攬界面,你也能夠按下「U」回到上一層。
Prev:前一個節點,Top(是第一個節點 無)
bash所在目錄:/usr/share/doc/bash-versionnum
5.4 超簡單文本編輯器:nano
nano + new or old file
Ctrl-G(表示^G)Get Help:取得在線幫助(help)
Ctrl-X:Exit,離開nano軟件,如有修改過文件會提示是否須要保存。
Ctrl-O:WriteOut,保存文件,若你又權限的話就可以保存文件了
Ctrl-R:Read FILE, 從其餘文件讀入數據,能夠將某個文件的內容貼在本文件中
Ctrl-C:Cur Pos,說明目前光標所在處的行數與列數等信息
Ctrl-W:Where Is,查詢字符串,
Ctrl-_:能夠直接輸入行號,讓光標快速移動到改行
Alt-Y:校訂語法功能開啓或關閉
Alt-M(M-M):能夠支持鼠標來移動光標的功能
5.5:正確的關機方法
查看系統的使用狀態
who目前有誰在線
netstat -a:查看網絡 的聯機狀態
ps-aux:看後臺執行的程序
sync:將數據同步寫入磁盤中
shutdown:慣用關機
reboot,halt,poweroff;重啓 關機
運行級別:
run level0:關機(init 0 關機 )
run lever3:純命令行模式
run level5:含有圖形用戶模式
ren level6:重啓
5.6 忘記root密碼:讀秒時按e進入grub模式,進入kernel 按e 輸入single enter 按b 進入單用戶模式 使用passwd修改密碼
5.7:爲了不瞬間斷電形成的Linux系統損害,建議做爲服務器的Linux主機應該加上不斷電系統來持續提供穩定的電力。
6.2:Linux文件屬性
d:目錄 (read write execute) 鏈接數 全部者 用戶組 文件容量 修改日期 文件名
-:文件 4 2 1 有多少 .隱藏文件
l:鏈接文件 文件名
b:表示設備文件裏面的可供存儲的接口設備 鏈接到
c:設備文件裏面的串行端口設備,例如鍵盤,鼠標 此節點
修改系統配置文件(語言lang) /etc/sysconfig/i18n
對目錄沒有寫權限 不能新建文件或目錄 沒有執行權限 不能進入該目錄
★對目錄的rxe
r:讀取目錄結構列表的權限:ls
w:更改該目錄結構列表的權限(new delete rename move)
e:進入該目錄成爲工做目錄(既沒法執行該目錄下的任何命令)
chgrp:修改文件所屬用戶組:change group 要被改變的組名必需要在/etc/group文件內存在才行 chgrp -R(遞歸目錄) groupname dirname/filename filename
chowm:修改文件全部者 change owner /etc/passwd中存在 chown -R username[:groupname] filename/dirname
chmod:修改文件的權限 chmod -R【遞歸】 xyz(讀寫執行的數字和) 文件或目錄
cp 源文件 目標文件 (文件的屬性不變 )
u +加入 r
chmod g -除去 w 文件或目錄正則表達式

o =設置 x
a
practice mkdir +dirname touch +filename rm +filename
文件擴展名:.sh 腳本或批處理文件,由於批處理文件使用shell寫成,因此擴展名就編成.sh
Z .tar .tar.gz .zip .tgz:通過打包的壓縮文件
.html .php 網頁相關文件
單一文件或目錄的最大允許文件名爲255字符,包含完整路徑名稱及目錄(/)的完整文件名爲4096個字符
7.1
cd change directory -(前一個工做目錄)
pwd print work directory -P(顯示出當前的工做目錄 針對連接文件)
mkdir make directory -p(自行建立多層目錄) -m(建立的時候指定權限)
rmdir -p(連同上層的空目錄一塊兒刪除)
rm -r:刪除非空目錄
用戶能使用的命令是依據PATH變量鎖規定呃目錄去查找的,不一樣的身份(root與通常用戶)系統默認的PATH並不相同。差別較大的地方在於/sbin和/usr/sbin
ls 能夠查看文件的屬性 -d顯示當前目錄信息 -a包括隱藏文件 -l屬性
cp rm mv 複製,刪除 移動
scp -r root@192.168.80.48:/opt/apache-tomcat-8.5.13 /opt scp [源用戶名和IP地址]服務器用戶名@iP地址:服務端文件路徑 客戶端保存路徑【本機】
拷貝含有子目錄的文件夾加入-r參數,
cat tac nl more less head tail od:讀文件
touch的目的在修改文件的時間參數,但也能夠用來建立空文件
一個文件的時間參數有三種:access time ,status time, modification time:ls默認顯示mtime
除了傳統的rwx權限以外,在Ext2/Ext3文件系統中,還可使用chattr與lsattr設置及查看隱藏屬性。常見的包括只能新增數據的+a與徹底不能更改文件的+i屬性
新建文件/目錄時,新文件的默認權限使用umask來規範。默認目錄徹底權限爲:drwxrwxrwx,文件則爲-rw-rw-rw-rw-rw
文件具備SUID的特殊權限時,表明當用戶執行此二進制文件製程序時,在執行過程當中用戶會暫時具備程序全部者的權限(/usr/bin/passwd)
目錄具備SGID的特殊權限時,表明用戶在這個目錄下面新建的文件用戶組都會與該目錄的用戶組名同名
目錄具備SBIT的特殊時,表明在該目錄下用戶建立的文件只有本身與root可以刪除
file 查看文件的類型
which type 查找命令的完整文件名,都是經過PATH變量來查找文件名
whereis locate 要查找文件的完整文件名(到數據庫中查找)
利用find能夠加入許多參數來直接查詢文件系統,以得到本身想要知道的文件名

:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強制保存,不推出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:e! 放棄全部修改,從上次保存文件開始再編輯
8:1. etx2文件系統:數據訪問爲索引式文件系統(indexed allocation)
一、superblock:記錄此文件系統的總體信息,包括inode/block的總量、使用量、剩餘量,以及文件系統的格式與相關信息等。
二、inode:記錄文件的屬性,一個文件佔用一個iNode,同事記錄次文件的數據所在的block號碼·
三、block:實際記錄文件的內容,若文件太大時,會佔用多個block
2.須要碎片整理的緣由就是文件寫入的block太過於離散了,此時文件讀取的性能將會變得不好所致。這個時候能夠經過碎片整理將同一個文件所屬的blocks聚集在一塊兒
3.Ext2文件系統主要有:boot sector,superblock,inode bitmap,block biemap,inode table,data block
4.data block是用來放置文件內容數據地方,在Ext2文件系統中所支持的block大小有一、二、4KB三種
5.inode記錄文件的屬性、權限等數據,每一個inode大小均固定爲128bytes;每一個文件都僅會佔用一個inode而已;所以文件系統可以新建的文件數量與inode的數量有關
6.文件的block記錄文件的實際數據,目錄的block則記錄該目錄下面文件名與其inode號碼的對照表
7.日誌(journal)文件系統會多出一塊記錄區,隨時記載文件系統的主要活動,可加快系統恢復時間
8.Linux文件系統爲增長性能,會讓主存儲器做爲大量的磁盤高速緩存
9.實際鏈接只是多了一個文件名對該inode號碼的鏈接而已。(文件系統的inode 和 block數量都不會減小)
10.符號鏈接就相似Windows的快捷方式功能(做爲一個獨立的新文件)(佔用一個inode和一個block)
11.磁盤的使用必須通過分區、格式化與掛載,分別管用的命令爲fdisk、mkfs、mount
fdisk -l # 查看全部分區
fdisk /dev/sda n p w
partprobe 可使kernel從新讀取分區表(maybe you need install this software)
mkfs -t ext3 /dev/sdax
mount /dev/sdax /mnt

12.開機自動掛載可參考/etc/fstab的設置,設置完畢務必使用mount -a測試語法正確否。
9.tar 壓縮:tar -jcv -f filename.tar.bz2 + 被壓縮的文件或目錄名稱
查詢:tar -jtv -f filename.tar.bz2
解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
j:bzip2支持 z:gzip支持
c:新建打包文件 x:解打包或解壓縮
v:在壓縮或者解壓的過程當中,將正在處理的文件名顯示出來 t:查看打包文件的內容含有哪些文件名
-f:加要被處理的文件名
--exclude=FILE:在壓縮的過程當中,不要將FILE打包
-p(重點在於保留原文本文件的權限與屬性之意)
—P(保留文件原路徑 解壓會覆蓋掉現有文件)
1.僅解開單一文件:使用-jtv找到所要的文件名,而後對該文件名解壓
尋找;tar -jtv -f /root/filename.tar.bz2 | grep '記錄在filename.tar.bz2內的文件名(關鍵字便可)'
解壓:tar -zxv -f /root/filename.tar.gz etc/shadow
2.打包某目錄,但不包含該目錄下的某些文件
tar -jcv -f /root/filename.tar.bz2 --exclude=/root/etc* \(換行:\並當即按下Enter)
> --exclude=/root/filename.tar.bz2(排除本身) /etc/root
3.僅備份比某個時刻還有新的文件
1. find /etc -newer /etc/passwd(找出比/etc/passwd還要新的文件)
2.ll /etc/passwd 查看時間
3.tar -jcv -f /root/etc.newer.then.passwd.tar.bz2 --newer-mtime="2016/10/18" /etc*備份
4.tar -jtv -f /root/etc.newer.then.passwd.tar.bz2 | grep -v '/$':顯示tar.bz2內的結尾非/的文件名
四、磁帶機(一次性讀寫設備不能使用cp)備份
tar -cv -f /dev/st0 /home /root /etc :將home root etc備份
important points:
壓縮命令爲經過一些運算方法去將本來的文件進行壓縮,以減小文件所佔用的磁盤空間。壓縮前與壓縮後的文件所佔用的磁盤空間比值,就能夠稱爲 壓縮比
壓縮的好處是能夠減小磁盤空間的浪費,在www網站也能夠利用文件壓縮的技術來進行數據的傳送,好讓網站帶寬的可利用率上升。
壓縮文件的擴展名大可能是tar.* tar.gz *.tgz *.gz *.Z *.bz2
bzip2壓縮比好於gzip
tar能夠用來進行文件打包,並可支持gzip或bzip2的壓縮
dump命令可備份文件系統或單一目錄。
dump的備份若針對文件系統是,可進行0~9的level差別備份。其中level0爲完整備份
restore命令可還原被dump構建的 備份文件
要新建光盤刻錄數據時,可經過mkisofs命令來構建
可經過cdrecord來寫入CD後DVD刻錄機
dd可備份完整的分區或磁盤,由於dd可讀取磁盤的扇區表面數據
cpio爲至關優秀的備份命令,不過必需要搭配相似find命令來讀入欲備份的文件名數據,纔可進行備份操做。
10.vi vim
通常模式
Ctrl+f、b(向下、上移動一頁)
0或home、$或end(移動到這一行最前面、後面字符處)
G移動到這個文件的最後一行
gg移動到這個文件的第一行,至關於1G
N【enter】光標向下移動N行

/word 向下尋找一個名稱爲word的字符串
?word 向上尋找一個word字符串 【n N下一個 上一個】
:n1,n2s/word1/word2/g 在n1行和n2行之間尋找word1,並替換爲Word2
:1,$s/word1/word2/g 從第一行到最後一行查找word1 並替換爲Word2
:1,$s/word1/word2/gc 從第一行到最後一行查找word1 並替換爲Word2,替換以前確認

x X向前 向後刪除一個字符
dd 刪除整行
ndd向下刪除n行
yy複製光標所在你的那一行 p P粘貼到光標所在的下一行、上一行

u復原前一個操做
Ctrl+r 重作上一個操做
.重複上一個操做



快操做:v:字符選擇,會將光標通過的地方反白選擇
V:行選擇
Ctrl+v 用長方形的方式選擇
y :複製
d:刪除
編輯模式
i l:光標處插入 在目前所在行的第一個非空格符處開始插入
a A:光標所在下一個字符插入 所在行的最後一個字符處插入
o O:在光標下、上一行插入新行,
r R:替換光標所在的字符一次 一直替換光標所在的文字 esc爲止
命令行模式
:w 將編輯的數據寫入磁盤文件中
:w! 若是文件是隻讀 強制寫入。可是能不能寫入與對該文件的文件權限有關
:q離開 +!強制離開不保存文件
:wq保存後離開 +!強制保存後離開
:set nu nonu 顯示、取消行號
:sp【filename】 在新窗口啓動另外一個文件(不加 本文件)
ctrl+w 方向鍵 上下窗口移動 +q離開
:set [all] (設置樣式) 能夠寫入~/.vimrc
iconv能夠進行語系編碼的轉換
iconv [選項…] [文件…]
-f, –from-code=名稱 原始文本編碼
-t, –to-code=名稱 輸出編碼 信息
-o, –output=FILE 輸出文件
file ceb_merchant.properties
iconv -f *** -t utf-8 ceb_merchant.properties >ceb_merchant1.properties 這個命令讀取ceb_merchant.properties文件,從***編碼轉換爲utf-8編碼,其輸出定向到ceb_merchant1.properties文件。

dos2UNIX及UNIX2dos能夠變動文件每一行的行尾斷行字符
11.4 命令運行的順序 可經過type -a command查看某個命令的執行順序
1.以相對/絕對路徑執行命令,例如「/bin/ls」或「./ls」
2.以alias找到該命令來執行
3.有bash內置的(builtin)命令來執行
4.經過$PATH這個變量的順序找到的第一個命令來執行
*:login shell的執行流程
1>>/etc/profile 2>> ~/.bash_profile 3>>開始操做bash
2>>/etc/inputrc 3>> ~/.bashrc(最後讀取的文件)
2>>/etc/profile.d/*.sh <<5 4>>/etc/bashrc
3>>/etc/sysconfig/i18n
source 配置文件名 (讀入環境配置文件)
important:
1.因爲內核在內存中是受保護的塊,所以咱們必需要經過「shell」將咱們輸入的命令與kernel通訊,好讓kernel能夠控制硬件來正確無誤的工做。
2.學習shell的緣由:命令行界面的shell在各大distribution都同樣;遠程管理時命令行頁面速度較快;shell是管理linux系統很是重要的一環,由於linux內不少控制都是以shell編寫的。
3.系統合法的shell都寫在/etc/shells文件中
4.用戶默認登陸取得的shell記錄於/etc/passwd的最後一個字段
5.bash的主要功能:命令編輯功能,命令與文件補全功能,命令別名設置功能,做業控制,前臺、後臺控制,程序化腳本,通配符
6.type能夠用來找到執行命令爲什麼種類型,也能夠用於與which相同的功能
7.變量就是以一組文字或符號等來替換一些設置或者是一串保留的數據
8.變量主要有環境變量和自定義變量,或稱爲全局變量和局部變量
9.使用env、export能夠查看環境變量,其中export能夠將自定義變量轉化成環境變量。
10.set能夠查看目前bash環境下的全部變量
11.$?也爲變量,是前一個命令執行完畢以後的回傳碼。在linux中回傳碼是0表示執行成功。
12.locale能夠用於查看語系數據
13.可用read讓用戶由鍵盤輸入變量的值
14.ulimit可用以限制用戶使用系統的資源狀況。
-a後面不接參數 可列出全部的限制額度
15.bash的配置文件主要分爲loginshell與non-login shell。login shell主要讀取/etc/profile與~/.bash_profile,non-login shell則僅讀取~/.bashrc.
16.通配符主要有* ? [].
17.數據流重定向經過>,2>,<之類的符號將(原本)要輸出(到頁面)的信息轉到其餘文件或設備去。
18.連續命令的執行可經過 ; && || 等符號來處理
19.管道命令的重點是它僅會處理standard output,對於standard error output 會予以忽略。管道命令必需要可以接收來自前一個命令的數據成爲standard input 繼續處理才行
20.管道命令(按行解析):cut grep sort wc uniq tee tr col join paste expand split xargs等。
grep [-acinv] [--color=auto] '查找字符串' filename或standard output
-a將binary文件以text文件的方式查找數據
-c計算找到‘查找字符串’的次數
-i忽略大小寫的不一樣
-n順便輸出行號
-v反向選擇 即選擇沒有的那一行
12 1.正則表達式就是處理字符串的方法,它是以行爲單位來進行字符串的處理行爲
2.正則表達式經過一些特殊符號的輔助,可讓用戶輕易達到查找、刪除、替換某特定字符串的處理程序
3.只要工具程序支持正則表達式,那麼該工具程序就能夠用來做爲正則表達式的字符串處理之用
4.正則表達式與通配符是徹底不同的。通配符wildcard表明的是bash操做接口的一個功能,但正則表達式是字符串處理的表示方式
5.使用grep或其餘工具進行正則表達式的字符串比較時,由於編碼的問題會有不一樣的狀態,所以,最好將LANG等變量設置爲C或者是en等英文語系
6.grep與egrep在正則表達式裏面是很常見的兩個程序,其中,egrep支持更嚴謹的正則表達式的語法
7.因爲編碼系統的不一樣,不一樣的語系LANG會形成正則表達式選取數據的區別,一次能夠利用特殊符號[:upper:][:alnum:][:alpha:][:lower:]來代替標碼範圍較佳
8.擴展性的正則表達式: egrep -v '^$|^#' filename
+重複一個或一個以上的前一個RE字符 ?
|用或的方式找出數個字符串
()找出「組」 字符串
()+多個重複組的判別
9.基礎正則表達式的特殊字符有:* ? [] [-] [^] ^ $ \[n,m\]
10.常見的正則表達式工具:grep sed vim sed 's/原字符串/替換字符串/'
11.printf能夠經過一些特殊符號來將數據進行格式化輸出
12.awk使用「字段」爲依據,進行數據的從新整理與輸出
13.文件的比較中,可利用diff及cmp進行比較,其中diff主要利用純文本文件方面的新舊版本比較
14.patch命令能夠將舊版的數據更新到新版(主要由diff建立patch的補丁來源文件)
例:找到/etc下含有*號的文件與內容 grep '\*' $(find /etc -type f)
find / -type f | xargs -n 10 grep '\*' 先用find去找文件,用xargs將這些文件每次丟10個給grep來做為參數處理 grep開始查找文件內容
find / -type f | xargs -n 10 grep -l '\*' 只顯示文件名
13.shell script:是利用shell的功能所寫的一個程序,這個程序是使用【純文本文件】,將一些shell的語法和命令(含外部命令)寫在裡面,搭配正則表達式、管道命令與數據流重定向等功能,以達到我們所想要的處理目的。並且shell script更提供數組、循環、條件與邏輯判斷等重要功能,讓用戶能夠直接以shell來
1.命令的執行是從上而下、從左而右地分析與執行
命令、參數間的多個空白都會被忽略掉
空白行會會忽略掉,而且tab鍵所得的空白一樣被視爲空格鍵
若是讀取到一個Enter符號(CR),就嘗試開始執行該行(或該串)命令
可使用\Enter來擴展至下一行
#批註
2.執行方法
直接命令執行 絕對/相對路徑
變量PATH的功能:將shell.sh放在PATH指定的目錄內,例如:~/bin/。【該腳本具備rw權限】
以bash進程來執行:經過「bash shell.sh」 "sh shell.sh"來執行。【該腳本須要具備r權限】
3.編碼規範
script的功能
script的版本信息
script的做者與聯絡方式
版權聲明方式
History(歷史記錄)
script內較特殊的命令,使用「絕對路徑」的方式來執行
script執行時須要的環境變量預先聲明與設置
4.vim own shell script
$()是執行裏面的代碼獲得的結果
${}是參數,{}是爲了不後面的影響到了
${fileuser:-"filename"} 若是fileuser是空 能返回filename
$(date --date='1 days ago' +%Y%m%d) 前兩天的日期 日期顯示格式
5.source filename.sh 讓該文件在當前bash下執行
14:用戶,組
id 用戶名 查看指定用戶信息
useradd bigdata (建立用戶)
passwd bigdata (設置密碼)
將bigdata加入root用戶組 :先以root身份登陸,而後輸入 usermod -g root bigdata


壓測:
../bin/logstash -f sysLog.conf | pv -abt > /dev/null

安裝pv wget http://www.ivarch.com/programs/sources/pv-1.5.3.tar.bz2 查看到命令執行的進度
tar xjf pv-1.5.3.tar.bz2
cd pv-1.5.3
# ./configure
# make && make install
yes "<44>May 19 18:30:17 snack jls: foo bar 32" | nc localhost 3000shell

nc: nc -z -w 1 192.168.80.48 9200 試試鏈接數據庫

[-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通訊端口>][-s<來源位址>][-v...][-w<超時秒數>][主機名稱][通訊端口...]

yes:重複輸入其後的字符串
pv:將/home/ftp/vqiu 目錄下打包文件名稱爲vqiu@yy-mm-dd
tar -p -cf - /home/ftp/vqiu | pv --size `du -sk /home/ftp/vqiu | cut -f 1`k | gzip >/home/ftp/vqiu@`date +%y-%m-%d`.tar.gzapache

相關文章
相關標籤/搜索