才開始玩Linux 一進入看到黑漆漆的畫面 感覺無從下手 ?試試下面的命令吧?
## 查找文件
find
絕對強悍
~~~
find . -maxdepth 1 -name "@*"
~~~
這個命令意思是,查找當前目錄下以@開頭的文件或者目錄,搜索深度為一級也就是只在當前目錄找(.是 當前目錄的意思),不進入子目錄。
如果你要從/目錄開始找就:
~~~
find / -maxdepth 1 -name "@*"
~~~
如果想搜全盤,就把-maxdepth 1 去掉
## 編輯文件
### vim?
在 shell 模式下,鍵入vi 及需要編輯的文件名,即可進入vi. 例如:
~~~
vi example.txt
~~~
即可編輯 example.txt 文件.
如果該文件存在,則編輯界面中會顯示該文件的內容,并將光標定位在文件的第一行;
如果文件不存在,則編輯界面中無任何內容。
如果需要在進入vi 編輯界面后,將光標置于文件的第n 行,則在vi命令后面加上“+n” 參數即可。例如需要從example.txt 文件的第5 行開始顯示,則使用如下命令:
~~~
vi +5 example.txt
~~~
退出 vi 時,需要在末行模式中輸入退出命令“q”。?
如果在文本輸入模式下,首先按“ESC” 鍵進入命令模式,然后輸入“:” 進入末行模式在末行模式下,可使用如下退出命令:
:q 直接退出。 如果在文本輸入模式下修改了文檔內容,則不能退出。
:wq 保存后退出。
:x 同“ wq”。
:q! – 不保存內容, 強制退出。
1.寫文件的話,可以用vi或者vim命令。例如:$touch a.txt ? $vim a.txt然后按i來編輯文檔a.txt,編輯完成后,按Esc進入命令行,按shift鍵,然后鍵入冒號wq(:wq),表示保存你所作的修改并退出,如果不想保存所作的修改可以鍵入冒號q!(:q!),表示強制退出。隨后可以用 cat命令來查看你所做的修改。
2. 修改文件名用 mv.例如:mv a.txt b.txt便把a.txt文件名修改成了b.txt.
清空文件內容:
用vi 打開 ?刪了抓出來cat /dev/null > filename
### 部分快捷鍵命令
ctrl-f ?在文件中前移一頁(相當于page down)
ctrl-b ?在文件中后移一頁(相當于page up)
H 將光標移到屏幕上的起始行(或最上行);
M 將光標移到屏幕中間;
L 將光標移到屏幕最后一行。
/string ?向前搜索給定的字符串string;
?string ?向后搜索給定的字符串string;
n ? ? ? ?向前或向后搜索,找出字符串下次出現的位置。
rc 用c替換當前光標指示的字符;
x ?刪除當前光標位置的字符;
dw 刪除光標右面的字;
db 附除光標前面的字;
dd 刪除光標所在的行,并去掉空隙。
在上面的任何命令前面加上數字,它們的功能擴充如下:
nrc ?從光標位置開始用c替換n個字符;
nx ? 從光標位置開始刪除n個字符;
ndw ?在光標右面刪除n個字;
ndb ?在光標前面刪除n個字;
ndd ?刪除n行,并去掉空隙。
其他常用的刪除命令(前面不能加數字)是:
d$ ?從當前光標起刪除字符直到行的結束;
d0 ?從當前光標起刪除字符直到行的開始;
J ? 刪除本行的回車字符(CR),并和下一行合并。
p(小寫)將緩沖區的內容粘貼到當前光標的后面;
P(大寫)將緩沖區的內容粘貼到當前光標的前面。
yy將當前行復制到剪切緩沖區;
nyy將n行復制到剪切緩沖區。
u 撤銷前一條命令的結果;
. 重復最后一條修改正文的命令。
i 在光標左面插人正文;
a 在光標右面插人正文。
o在光標所在行下面增加新行;
O在光標所在行上面增加新行。
I 在光標行的開頭插入;
A 在光標行的末尾插入;
:n 將光標移到第n行。
:a,b ?w file ?將a行到b行的內容寫到file中。
## 查看文件內容的方法及分頁顯示的辦法
cat /etc/sysconfig/network
-n:查看行號信息
more:空格翻頁 回車換行
less:上下鍵翻頁 可以反復看(可以回翻頁)
head:顯示前幾行
head -5 install.log ?顯示前5行
tail:顯示后幾行
tail -f 動態更新
grep:查看文件中包含關鍵字的一行
#grep --color=tty dump intstall.log ?彩色顯示
正則表達式:^root 以root為開頭(^)
root$,以root結尾($)
-v:不包括的幾行(取反)
~~~
grep -n -v ^# /etc/vsftpd/vsftpd.conf
~~~
切換用戶命令: su - x1
ssh遠程登錄: ssh 192.168.1.254
telnet服務遠程登錄: telnet 192.168.1.254(telnet不安全,默認不允許root用戶登錄)
## 在linux下一ping就ping個沒完,怎么讓它停下來?
Ctrl+c 停止
Ctrl+z 暫停
## 新建文件夾
mkdir ?filename
-m ? ?用于對新建目錄設置存取權限,也可以用 chmod 命令進行設置。
~~~
mkdir -m 777 test
~~~
-p ? ? 需要時創建上層文件夾(或目錄),如果文件夾(或目錄)已經存在,則不視為錯誤。
## 刪除文件 文件夾
rm
?-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
很多人還是習慣用rmdir,不過一旦目錄非空,就陷入深深的苦惱之中,現在使用rm -rf命令即可。
直接rm就可以了,不過要加兩個參數-rf 即:rm -rf 目錄名字
-r 就是向下遞歸,不管有多少級目錄,一并刪除
-f 就是直接強行刪除,不作任何提示的意思
?注:在linux沒有回收站,在試用rm命令的時候,一定要小心些,刪除之后就無法再恢復了。
## 設置文件權限
r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目 錄的權限。
w(Write,寫入):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。
r: 對應數值4
w: 對應數值2
x:對應數值1
-:對應數值0
數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊涂,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那么rwx r-x r- -則可以表示成為:
111 ? 101 ? 100
再將其每三位轉換成為一個十進制數,就是754。
例如,我們想讓a.txt這個文件的權限為:??
? ? ? ? ? ? ? ? ? ? ? ??可讀 ? ??可寫 ? ?可執行
自己 ? ? ? ? ? ? ? ? 是 ? ? ? ???是 ? ? ? ? ?- ? ? ? ? ? ? ? ?110
同組用戶 ? ? ? ? ?是 ? ? ? ? ?是 ? ? ? ???- ? ? ? ? ? ? ? ?110
其他用戶 ? ? ? ? ?是 ? ? ? ? ??- ? ? ? ? ???- ? ? ? ? ? ? ? ?100
那么,我們先根據上表得到權限串為:rw-rw-r--,那么轉換成二進制數就是110 110 100,再每三位轉換成為一個十進制數,就得到664,因此我 們執行命令:
~~~
[root@localhost ~]# chmod 664 a.txt
~~~
## 查看系統版本號
登錄到服務器執行 lsb_release -a ,即可列出所有版本信息,例如:
~~~
[root@t ~]# lsb_release -a
~~~
LSB Version: ? ?:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: ? ?CentOS Linux release 6.0 (Final)
Release: ? ? ? ?6.0
Codename: ? ? ? Final
2) 登錄到linux執行cat /etc/redhat-release ,例如如下:
~~~
[root@3.5.5Biz-46 ~]# cat /etc/redhat-release
~~~
Red Hat Enterprise Linux AS release 4 (Nahant Update 1)
[root@3.5.5Biz-46 ~]#?
這種方式下可以直接看到具體的版本號,比如 AS4 Update 1
3)登錄到linux執行rpm -q redhat-release ,例如如下
~~~
[root@3.5.5Biz-46 ~]# rpm -q redhat-release
~~~
redhat-release-4AS-2.4
[root@3.5.5Biz-46 ~]#?
## Linux命令行訪問網頁
curl http://iframe.ip138.com/ic.asp
(此命令可用于查詢外網ip)
## 查看端口
~~~
netstat –apn
netstat -ntlp
~~~
**常見參數**
-a (all)顯示所有選項,默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
## 復制文件
CP命令
格式: CP [選項] ?源文件或目錄 ? 目的文件或目錄
選項說明:-b 同名,備分原來的文件
? ? ? ? -f 強制覆蓋同名文件
? ? ? ? -r ?按遞歸方式保留原目錄結構復制文件
~~~
cp -r /tmp/a /root/a
~~~
## 防火墻設置
Linux還是比較常用的,于是我研究了一下Linux關閉防火墻命令,在這里拿出來和大家分享一下,希望你能學會Linux關閉防火墻命令 。
1) 永久性生效,重啟后不會復原
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重啟后復原
開啟: service iptables start
關閉: service iptables stop
需要說明的是對于Linux下的其它服務都可以用以上命令執行開啟和關閉操作。
在開啟了防火墻時,做如下設置,開啟相關端口,
修改/etc/sysconfig/iptables 文件,添加以下內容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
## 查進程
??? ps命令查找與進程相關的PID號:
??? ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
??? ps -A 顯示所有程序。
??? ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
??? ps -e 此參數的效果和指定"A"參數相同。
??? ps e 列出程序時,顯示每個程序所使用的環境變量。
??? ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
??? ps -H 顯示樹狀結構,表示程序間的相互關系。
??? ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
??? ps s 采用程序信號的格式顯示程序狀況。
??? ps S 列出程序時,包括已中斷的子程序資料。
??? ps -t<終端機編號> 指定終端機編號,并列出屬于該終端機的程序的狀況。
??? ps u 以用戶為主的格式來顯示程序狀況。
??? ps x 顯示所有程序,不以終端機來區分。
??
??? 最常用的方法是ps aux,然后再通過管道使用grep命令過濾查找特定的進程,然后再對特定的進程進行操作。
??? ps aux | grep program_filter_word,ps -ef |grep tomcat
? ? ps -ef|grep java|grep -v grep 顯示出所有的java進程,去處掉當前的grep進程。
??
## 殺進程
?? 使用kill命令結束進程:kill xxx
?? 常用:kill -9 324
?? Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:# killall -9 NAME
## tomcat管理
### 查找tomcat的目錄
~~~
whereis tomcat
~~~
如果沒有whereis 命令則是系統版本問題,可使用find查找文件夾
### 啟動停止查看tomcat目錄
~~~
service tomcat status
service tomcat restart
service tomcat start
service tomcat stop
~~~
如果沒有service命令
則需要進入到tomcat目錄進行操作
進入bin目錄
### ?啟動
~~~
./catalina.sh start
~~~
### 停止
~~~
./shutdown.sh
~~~
### 查看日志
進入logs目錄
~~~
cat catalina.out
~~~
- 前言
- linux基礎(一)------登錄以及文件系統的了解
- linux基礎(二)----linux常用命令積累
- linux基礎(三)----linux命令系統學習----安裝和登錄命令
- linux基礎(四)----linux命令系統學習----文件處理命令
- linux基礎(五)----linux命令系統學習----系統管理命令
- linux基礎(六)----linux命令系統學習----網絡操作命令
- linux基礎(七)----linux命令系統學習----系統安全相關命令
- linux基礎(八)----linux命令系統學習----其它命令
- linux基礎(九)----linux性能監測
- linux基礎(十)----linux網絡配置詳細步驟---橋接模式和兩臺機子的遠程通信
- linux基礎(十一)----linux編程基礎----變量
- linux基礎(十二)----linux編程基礎----與用戶交互
- linux基礎(十三)----linux編程基礎----linux運算符
- linux基礎(十四)----linux編程基礎----linux條件控制語句----if else語句
- linux基礎(十五)----linux編程基礎----linux條件控制語句----case語句
- linux基礎(十六)----linux編程基礎----linux條件控制語句----多層嵌套控制結構
- linux基礎(十七)----linux編程基礎----linux循環控制語句----while循環
- linux基礎(十八)----linux編程基礎----linux循環控制語句----for in循環
- linux基礎(十九)----linux編程基礎----linux循環控制語句----break中斷和continue繼續
- linux基礎(二十)----linux編程基礎----子程序----函數